开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第39天,点击查看活动详情
一、交叉编译
1、什么是交叉编译
一个平台上生成另一个平台上的可执行代码 例如:window上用kell编译c51,生成的可执行代码xxx.hex在单片机上运行
2、为什么要用
1.目标平台上无法安装编译器 2.目的平台未建立,要交叉编译生成bootloader(启动引导代码)以及操作系统核心 宿主机:编辑和编译程序的平台 目标机:用户开发的系统,比如ARM平台
3、交叉编译工具
交叉编译器,交叉编译工具链
二、树莓派交叉编译工具链安装
1、下载地址
2、Linux下安装
1.解压文件(解压完成就代表完成安装,然后配置环境变量)
命令:unzip tools-master.zip(压缩包文件名)
2.进入目录
cd tools-master/arm-bcm2708/
3.选择32位还是64位
4.进入目录(x64)
cd gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/
5.软链接
输入命令:ls -l
输入arm-linux-gnueabihf-gcc 会转到后面的arm-linux-gnueabihf-gcc-4.8.3程序(软连接不占内存)
参考Linux链接
6.查看版本号
输入命令:./arm-linux-gnueabihf-gcc -v
3、配置环境变量
1.临时有效 查看环境变量
echo PATH 加上pwd出来的路径
CLC@Embed_Learn:~/lessonPI/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin$ pwd
/home/CLC/lessonPI/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
CLC@Embed_Learn:~/lessonPI/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/FriendlyARM/toolschain/4.5.1/bin:/home/CLC/lessonPI/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
CLC@Embed_Learn:~/lessonPI/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin$ export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/CLC/lessonPI/tools-master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
2.永久有效
修改工作目录下的.bashrc 隐藏文件,配置命令终端的
1.cd 回到工作目录
2.vi .bashrc 进入文件
3.在文件最后加入配置环境变量的代码
4.source .bashrc 生效配置
5.输入arm-linux-gnueabihf-gcc -v 查看是否成功