使用版本:虚拟机下Ubuntu18.04
开发板:GEC6818
交叉工具链:arm-none-linux-gnueabi-linux.tar
此链接可获取交叉工具链:点击打开链接
获取工具链后,将工具链放入共享文件夹,便可以开车了,滴滴.......
先申明,本人比较懒,所有操作都在root权限下执行,所以不需要加sudo指令,大家可根据自己的习惯操作
首先,在Ubuntu的/usr/local/目录下创建一个目录用来存放解压交叉工具链文件,我命名为arm
命令:mkdir arm
然后,进入共享目录,将交叉工具链的压缩包解压到创建的arm目录下,由于是.tar文件在windos下压缩成.zip文件,先解压成.tar文件,再解压
命令:unzip arm-none-linux-gnueabi-linux.zip(没有unzip则使用 apt install unzip 下载解压工具)
命令:tar -xvf arm-none-linux-gnueabi-linux.tar -C /usr/local/arm
解压后进入交叉工具链的bin目录
命令:cd /usr/local/arm/arm-2014.05/bin/
ls命令查看一下,如图
接着就是建立软连接了,此目录下输入以下命令:
ln -s arm-none-linux-gnueabi-gcc arm-linux-gcc
ln -s arm-none-linux-gnueabi-as arm-linux-as
ln -s arm-none-linux-gnueabi-g++ arm-linux-g++
ln -s arm-none-linux-gnueabi-ld arm-linux-ld
ln -s arm-none-linux-gnueabi-ar arm-linux-ar
之后ls查看如图,浅蓝色的就是建立的软连接
接下来配置环境变量,此处直接配置系统环境变量,打开etc下的profile文件
命令:vi /etc/profile
在文件末尾添加环境变量 :export PATH=/usr/local/arm/arm-2014.05/bin:$PATH
根据自己的路径添加相应的变量路径,操作时可以打开两个终端,一个打开profile文件,一个进入工具链的bin目录下,查看环境变量的路径,Ubuntu下用shift+ctrl+c和shift+ctrl+v进行粘贴复制,这样路径不容易出错。
环境变量配置完毕,执行命令让其生效,当然,也可以重启
命令:source /etc/profile
本以为这样就可以万事大吉了,然而使用命令 arm-linux-gcc -v 查看是否搭建好时,O M G!出现下面错误
(截图中用的是arm-none-linux-gnueabi-gcc -v,这是在建立软连接之前的命令,这两个都可以)
出现这个原因是因为我用的编译器是64位的,而系统是32位,所以要安装个32位的兼容包,执行下面命令进行安装
命令:apt install lib32ncurses5 lib32z1或apt-get install lib32z1 lib32ncurses5或apt-get install lib32stdc++6
再次执行命令 arm-linux-gcc -v 查看版本,如果出现一下提示,哈哈,搭建成功!
最后,咱们来看看是否能够在开发板上运行
使用vi编辑器在共享目录打开hello.c
命令:vi hello.c 写一个简单的“hello world!”
#include
int main()
{
printf("hello world!\n");
return 0;
}
交叉编译.c文件,生成hello可执行文件
命令:arm-linux-gcc hello.c -o hello
把hello可执行文件传入开发板执行chmod 777 hello修改权限,再执行可执行文件,“hello world!“ 惊现!完美!
至此,开车完毕!滴滴....停车。