1. ubuntu交叉编译是啥?
拿一个大学生都很熟悉的51单片机来说,一般大家都是在windows上面敲代码,敲完之后 再去51单片机上面运行,而并不是直接在windows直接运行。
再拿树莓派来说,树莓派属于ARM架构的产品,我们在ubuntu上面编写代码,然后直接发送给树莓派运行是不可许的
在这里插入图片描述
(很清楚看到 这个是x86 windows类型代码 )
在这里插入图片描述
(这个就是通过交叉编译链生成的ARM类型 )

由此可见 ,交叉编译是一个平台上生成该另一个平台可执行的代码

2 安装Ubuntu交叉编译
2.1 直接通过apt下载 方便省事!!适合刚入门的小伙伴敲

sudo apt-get update
sudo apt-get install gcc-arm-linux-gnueabihf
sudo apt-get g++-arm-linux-gnueabihf

下载完毕之后 通过这个指令试试是否成功

arm-linux-gnueabihf-gcc -v

在这里插入图片描述

2,2 老老实实下载
从这个网站下载,如果你的windows跟乌班图安装过VMare tools 共享文件之后,可以直接传输,如果没有的话 那就放到u盘里面 在传输给虚拟机

https://github.com/raspberrypi/

此处注意!!
交叉编译的环境有两种情况

1.临时有效
PATH
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/home/你的工作目录
2. 永久有效
直接去修改你虚拟机的工作目录隐藏文件,就是bashrc这个文件

vi  /home/你的工作目录/。bashrc

如果这里出现奇奇怪怪的问题 可以加加 sudo (权限问题)
或者是 加加 nano (vi工具版本过低)
在文件的最后一行加入export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/ source /home/你的文件/.bashrc
在这里插入图片描述

操作完后,继续按照第一步步骤查看是否安装成功

arm-linux-gnueabihf-gcc -v

正常的话依然是这样在这里插入图片描述
3 使用交叉编译

arm-linux-gnueabihf-gcc  xxxxxx.c -o xxxxx

在这里插入图片描述

就生成了demo9 此时再看看demo9的类型(file可以查看文件类型)
在这里插入图片描述
出现ARM 说明安装交叉编译链成功 大家可以通过scp发送到开发板上面进行开发

scp +文件名  用户名@ip:/开发板的路径

按照以上操作,复杂的交叉编译链就安装完成了。
如果是树莓派这种板子的话 大家可以在ubuntu上面编写好 然后通过scp指令发送到开发板上面

更多推荐