树莓派(raspberryPi)首次交叉编译的操作过程记录

与大多数PC机不同,树莓派采用arm架构的cpu芯片。由于intel芯片采用CISC指令集,而arm采用RISC指令集,这意味着在树莓派上运行的可执行程序,其遵循的指令集与PC机上的可执行程序遵循的指令集不同。所以PC机上普通的C/C++编译器产生的可执行程序是不能在树莓派上运行的。

如何编译出树莓派“能识别”的程序呢?办法有2个:1是在树莓派上直接安装编译器,然后在其上直接编译;2是在PC机上安装一个专门针对树莓派的编译器。这个编译器产生的文件是不能在PC机上运行的,但是可以在树莓派上运行。第二种办法称为交叉编译。

本文介绍第二种办法。

步骤:

1 准备一台安装了ubuntu的PC机,并在其上安装git

2 在~文件夹下建立文件夹raspberryPi。在Linux操作系统下,~意味着 /HOME/用户名/   路径。

3 进入该文件夹,输入

git clone git://github.com/raspberryPi/tools.git

4 下载完毕后,raspberryPi文件夹下将出现tools文件夹。

输入命令

sudo nano ~/.bashrc

5 在.bashrc中,添加如下代码:

PATH=$PATH:~/raspberryPi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin

6 按下ctrl+o保存修改,然后按下ctrl+x推出nano编辑器

7 在命令行输入

arm-linux-gnueabihf-gcc --version

以确定交叉编译器可用

8 建立一个简单的cpp文件:helloworld.cpp

#include <stdio.h>

int main(void)
{
    printf("hello world!\n");
    return 0;
}

9 进入helloworld.cpp所在文件夹下,输入

arm-linux-gnueabihf-g++ helloworld.cpp -o helloworld

10 将raspberryPi的SD卡取出,通过SD-USB转换器插入PC机,将第9步中编译产生的文件helloworld复制到SD卡的~文件夹下

11 将SD-USB转换器从PC机取出,将SD卡插入raspberryPI中,并将SD卡专用屏也安装上。(参见我以前的博客 给raspberry Pi B 安装3.5英寸触摸屏)。启动树莓派。

12 点击树莓派界面左上方的命令行图标,进入~路径。利用mkdir命令在~路径下建立文件夹exec.利用mv命令将helloworld移动到exec中。

13 执行命令 ./helloworld,观察输出。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值