目录
一、安装配置环境介绍:
1、宿主机环境:
2、树莓派系统:
二、获取交叉编译工具链:
1、从GitHub下载【不推荐】:
1)、下载必要的软件和工具:
2)、clone交叉工具链:
2、网站下载:
三、安装配置交叉编译工具链【以gcc-linaro-4.9-2016.02-x86_64_arm-linux-gnueabihf为例】:
1、将获取的工具链放到宿主机里的指定目录:
2、设置环境变量:
3、测试安装配置效果:
一、安装配置环境介绍:
1、宿主机环境:
虚拟机Vmware12,Ubuntu 18.04.4 LTS,64位(请注意32位系统和64位系统在安装时存在差异)
2、树莓派系统:
Linux version 4.19.97-v7l+ (dom@buildbot) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1294 SMP Thu Jan 30 13:21:14 GMT 2020
二、获取交叉编译工具链:
1、从GitHub下载【不推荐】:
1)、下载必要的软件和工具:
sudo apt-get install build-essential git
2)、clone交叉工具链:
切换到opt目录:cd /opt
git clone git://github.com/raspberrypi/tools.git
克隆完成之后可以通过pull更新tools
cd /opt/tools
git pull origin
实际测试,git方式耗时过长,且容易失败,想办法直接从GitHub下载了安装包,然后放入Ubuntu系统,需先设置安装包权限
为:chmod 777 files.zip,再解压(权限设置和解压顺序不可调换,不可缺少,不然会导致安装失败,出现问题)。
该目录中存在4个文件夹:
arm-bcm2708hardfp-linux-gnueabi
gcc-linaro-arm-linux-gnueabihf-raspbian
arm-bcm2708-linux-gnueabi
gcc-linaro-arm-linux-gnueabihf-raspbian-x64
这里使用gcc-linaro-arm-linux-gnueabihf-raspbian 或 gcc-linaro-arm-linux-gnueabihf-raspbian-x64。
前者对应宿主机32位系统,后者对应宿主机64位系统。git下来的是4.8.3版本。
更深入了解交叉编译工具链,为什么以及如何选用,看这个链接(大神笔记,介绍得非常详细深入,极力推荐之):
http://crifan.com/files/doc/docbook/cross_compile/release/html/cross_compile.html
2、网站下载:
比较常用的是linaro系列,下载地址:http://releases.linaro.org/components/toolchain/binaries/
实际下载也很缓慢,但比git好多了。
这里提供一个4.9.4版本的gcc工具链(文末),已安装测试,编译运行程序没问题。
其它有的貌似CSDN上都已经有了。
根据树莓派内核编译所有的交叉工具链版本,推荐使用4.9.3以上版本。
三、安装配置交叉编译工具链【以gcc-linaro-4.9-2016.02-x86_64_arm-linux-gnueabihf为例】:
1、将获取的工具链放到宿主机里的指定目录:
1)、对于在windows中下载,需要再放入Linux宿主机系统的,可以使用SFTP进行文件传输(推荐,简单方便),
参考教程:https://www.yahboom.com/build.html?id=2631&cid=308
当然也可以去配置samba,映射虚拟磁盘方式,balabala.....
2)、将文件移动到/opt位置,并切换到该路径:cd /opt
3)、执行权限变更操作(不然后面的使用会有问题):chmod 777 gcc-linaro-4.9.4-2016.02-x86_64_arm-linux-gnueabihf.tar
4)、解压文件到当前目录:tar –zxvf gcc-linaro-4.9.4-2016.02-x86_64_arm-linux-gnueabihf.tar
2、设置环境变量:
1)、打开用户环境变量文件:sudo gedit ~/.bashrc
2)、在打开的文件末尾增加语句:export PATH=$PATH:/opt/gcc-linaro-4.9-2016.02-x86_64_arm-linux-gnueabihf/bin
3)、保存并关闭;
4)、执行source ~/.bashrc,让环境变量生效(或者注销或重启系统,以重启加载用户环境变量文件);
3、测试安装配置效果:
1)、执行:arm-linux-gnueabihf-gcc -v,这时应该可以看到交叉编译链的信息:
2)、宿主机上编写并编译测试程序:
#include <stdio.h>
int main(int argc, char const *argv[])
{
printf("Hello World!\n");
return 0;
}
执行:arm-linux-gnueabihf-gcc main.c,然后将生成的a.out文件放到树莓派中去执行:
至此完结。其实和之前版本的树莓派差不多,就算是做一个笔记总结吧。唯一麻烦一点的是交叉编译工具链的获取。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)