基于迅为IMX6ULL开发板
我们在第三章讲解了如何在 Linux 下进行 C 程序开发,我们使用的 gcc 编译器进行代码的编译,编译完,直接在 X86 架构下的 PC 下运行的。我们学习的 i.MX6 ULL 是 arm 架构的,所以我们需要使用支持 arm 的编译器并且该编译器在 X86 架构下运行,这个编译器我们通常称为交叉编译器。arm 交 叉 编 译 器 有 很 多 种 , 我 们 使 用 Linaro 公 司 的 arm 交 叉 编 译 器 , 下 载 地 址 :
releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/
如图 4.3.1 所示
在图 4.3.1 中有多种 arm 交叉编译器,我们需要根据安装的 Ubuntu 系统来选择对应的版本下载:如果安装的是 Ubuntu 32 位的系统我们需要下载 gcc-linaro-4.9.4-2017.01-i686_arm-linux-gnueabihf.tar.xz;
如果安装的 Ubuntu 是 64 位系统我们需要下载gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz。这两种版本的交叉编译器我们已经放在了光盘资料的“i.MX6UL 终结者光盘资料\01_开发及烧写工具\1、交叉编译器”目录下。
下面我们开始在 Ubuntu 下搭建 arm 交叉编译器,由于我们安装的是 Ubuntu 64 位系统,所以我们选择使用编译器“gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz”。首先我们需要通过 ssh 文件传输工具把 arm 交叉编译器拷贝到 Ubuntu 系统下。我们在 Ubuntu 的用户根目录下建立文件夹“tools”,用来保存一些开发用到的工具。然后使用 ssh 文件传输工具将 arm 交叉编译器传输到我们刚才在 Ubuntu 系统下创建的“tools”目录下,如图 4.3.2 所示:
交叉编译器传输到 Ubuntu 的用户根目录的“tools”目录下以后,然后在终端输入“sudo mkdir /usr/local/arm”命令创建“/usr/local/arm”目录,如题 4.3.3 所示:
然后拷贝刚才上传的交叉编译器到“/usr/local/arm”目录下,我们在终端输入命令“sudo
/home/topeet/tools/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz/usr/local/arm/”,运行结果如图 4.3.4 所示:
拷贝完成以后,进入到“/usr/local/arm”目录下,在终端输入“sudo tar -vxf
gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz”解压 arm 交叉编译器,如图 4.3.5 所示:
解压完成以后会生成“gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf”文件夹,,这就是我们需要的交叉编译工具,如图 4.3.6 所示:
然后我们在终端输入“sudo vi /etc/profile”命令,在文件的最后输入“export
PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin”修改环境变量,如图 4.3.7 所示:
然后保存并退出,在终端输入“reboot”命令重新启动 Ubuntu 系统,使交叉编译环境生效。Ubuntu 系统重新起来以后,我们登录到系统,打开终端,输入“arm-linux-gnueabihf-gcc -v”,如果终端有如图 4.2.3.8所示的打印信息,说明交叉编译环境搭建成功(如果没有出现 4.3.8 所示的打印信息,需要检查下图 4.3.7中的配置填写是否正确)。
更多内容关注:迅为电子
更多内容:https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.34851debJbM0Ye&ft=t&id=614020183147&qq-pf-to=pcqq.c2c