树莓派——在ubuntu16.04的环境上构建交叉编译环境

系统环境:使用的ubuntu16.04的系统
硬件:使用的树莓派3B

工具安装

必要的环境支持工具

这一步一定不能省略,我就是在这一步省略掉然后环境死活配不成功

sudo apt-get install libc6-armel-cross libc6-dev-armel-cross
sudo apt-get install binutils-arm-linux-gnueabi
sudo apt-get install libncurses5-dev

交叉工具链下载

可以直接去网站下载
https://github.com/raspberrypi/tools
或者通过命令的方式进行下载

git clone https://github.com/raspberrypi/tools.git

arm-bcm2708文件夹下可以看到6个不同版本的交叉工具链

arm-bcm2708hardfp-linux-gnueabi  

arm-linux-gnueabihf            

gcc-linaro-arm-linux-gnueabihf-raspbian

arm-bcm2708-linux-gnueabi        

arm-rpi-4.9.3-linux-gnueabihf 

gcc-linaro-arm-linux-gnueabihf-raspbian-x64

其中arm-rpi-4.9.3-linux-gnueabihf和gcc-linaro-arm-linux-gnueabihf-raspbian-x64是64位机器用的,每一个交叉编译工具的目录下都有bin目录进入,执行./arm-linux-gnueabihf-gcc -v可查看gcc版本。

加入环境变量

sudo gedit ~/.bashrc

输入

export PATH="/home/qc/dl/RPI/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin:$PATH"
export PATH="/home/qc/dl/RPI/tools-master/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin:$PATH"

使环境变量生效

source ~/.bashrc

测试环境变量是否生效

arm-linux-gnueabihf-gcc -v

在这里插入图片描述
输出内容如上,则安装成功

测试

编写简单的测试文件,将文件进行编译并且在本机无法进行运行,在树莓派可以正常运行则表示交叉编译工具链编译成功。

测试程序

hello.c测试功能:实现简单的计算输出浮点数以及字符串

#include <stdio.h>  
int main(void)  
{  
    float pi = 3.14;      
    printf("Hello World\n");  
    printf("%.2f\n",2*pi);  
}

编译命令

arm-linux-gnueabihf-gcc hello.c -o hello

在本机执行
在这里插入图片描述
将可执行程序拷贝到树莓派上

chmod +x hello #赋予hello执行文件以权限
./hello  #程序执行
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值