Linux 交叉编译树莓派

交叉编译

编译:生成该平台可执行的代码

什么是交叉编译:
是一个平台生成另一个平台的可执行代码

为什么要交叉编译
1.因为目标平台上没有足够的资源存放编译器
2.有时目标平台链操作系统都没有,操作系统也是代码也要编译
平台运行至少需要两样东西:BootLoader(启动引导代码)以及操作系统核心

宿主机(host):编辑和编译程序的平台,一般基于x86的pc机,通常也成为主机
目标机(target):用户开发的系统,通常都是非x86平台.host编译得到的可执行代码在target上运行.

交叉编译工具链

1.下载:可以在树莓派官网下载 tools-masetr
2.解压unzip tools-masetr.zip
3.进入文件夹/tools-master/arm-bcm2708
会有两个文件夹
gcc-linaro-arm-linux-gnueabihf-raspbian
gcc-linaro-arm-linux-gnueabihf-raspbian-x64
根据host:如果是64位就选在第二个,32位选择第一个
/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin$

编译:/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin$ arm-linux-gnueabihf-gcc test.c
就可以生成树莓派平台的可执行文件

但是在新的命令窗口,或者别的路径下,或者重启电脑就不能使用arm-linux-gnueabihf-gcc指令,接下来需要配置环境变量

配置交叉编译工具链的环境变量

1.查看该文件夹绝对路径(在该路径下)/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin$ pwd

2.暂时配置环境变量
1)查看当前环境变量:hgs@Linux:~/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin$ echo $PATH

bash: export: `/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr
/local/games:/snap/bin:/home/hgs/raspberry/tools-master/arm-bcm2708/
gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin': not a valid identifier

/home前面这一段就是环境量:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr
/local/games:/snap/bin:

2)export PATH = 环境变量加绝对路径:hgs@Linux:~/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin$exportPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/hgs/raspberry/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin

也可以export PATH =$PATH:/home/hgs/raspberry/tools-master/arm-bcm2708/
gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
$PATH 指环境变量
配置好后再该命令窗口,别的路径下也可以运行arm-linux-gnueabihf-gcc
但是在别的命令窗口不行,怎么办,接下来

3.“永久”配置环境环境变量
1.打开配置环境变量的文件 :sudo vi ~/.bashrc
2.在文件末尾添加:export PATH =$PATH:/home/hgs/raspberry/tools-master/arm-bcm2708/
gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin

这样不管host重启还是打开新的命令窗口可以运行arm-linux-gnueabihf-gcc命令了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值