首页 > 编程知识 正文

mplab ide怎么烧写程序(迅为IMX6ULL开发板交叉编译器的安装和使用)

时间:2023-05-03 15:37:55 阅读:122679 作者:1498

本章内容为视频解说链接(在线观看) :

我们在linux上写了第一个c程序heollo world。 使用gcc编译器编译代码。 编译得到的可执行文件只能在X86结构的PC上运行。 看看吧。 我的ubuntu的测试目录下有hello.c。 这个程序也非常简单。 我是赫尔洛魔兽。 我们编译。 如下图所示。

接下来,使用file命令查看此文件。 此文件可以在X86上运行,但由于此处写有X86,所以不能在ARM上运行。 如下图所示。

如果想在ARM上运行,请使用ARM的编译器,在X86上进行编译。 因为我们使用ARM编译器进行编译后,把我们的可执行程序放在开发板上而不是电脑上运行。 这个过程大家把它理解为交叉,并与我们的编译器相结合,这叫做交叉编译器。 交叉编译器的种类有很多。 我

他们正在使用Linaro公司的arm交叉编译器。 这是交叉编译器的地址

我们已经下载给大家,打开了i.MX6ULL终结器的CD资料1_开发和刻录工具1.交叉编译器,给大家下载了一个64位的,另一个32位的。 如下图所示。

然后,将交叉编译器复制到ubuntu。 因为安装了64位ubuntu,所以要安装64位交叉编译器。 在此,作者不建议安装32位ubuntu。 因为64位ubuntu可以安装支持32位的依赖软件包,而32位ubuntu不能安装64位依赖软件包。 所以,即使这里安装了64位,他也向后兼容32位,所以作者在这里推荐的是ubuntu64位系统。

然后安装交叉编译器,使用ssh将交叉编译器安装包复制到ubuntu,然后转至

/usr/local

cd /usr/local

进入此目录,在此目录下创建一个名为arm的文件夹。

sudo mkdir arm

然后我们进入了arm文件夹,把我们的交叉编译器放在了这个目录里。

cd arm

我们打开ssh软件,连接ubuntu。 在这里也可以使用名为samba的工具进行安装。 哪个都可以。 然后,通过ssh软件进入我们创建的目录/usr/local/arm,拖动磁盘中的交叉编译器。 这里使用64位的。 然后,我们在ubuntu中解压缩此文件,解压缩后直接使用Tuntu

SDO tar-vxf gcc-Lina ro-4.9.4-2017.01-x86 _ 64 _ arm-Linux-gnueabihf.tar.xz

以管理员身份运行。 成功解压缩后,生成的文件将显示在当前目录下,如下图所示。

解压缩完成后,下一步将添加环境变量。 这里之前已经说明过了。 ubuntu修改了此文件。 我们也可以修改. bashrc文件。 我们之前谈到了如何修改环境变量。 参见第17章,我们修改的这个文件对所有用户都有效。 也就是说,我在这里添加了环境变量。 无论是topeet用户还是root用户都可以找到arm交叉编译器。 如果在名为bashrc的文件下进行修改,则您当前是哪个用户仅对当前用户有效。 所以,修改这个文件,如图所示打开文件。

然后我们进入这个文件的末尾,输入

导出路径=$ path :/usr/local/arm/gcc-Lina ro-4.9.4-2017.01-x86 _ 64 _ arm-Linux-gnueabihf/bin

修改完成后,重新启动ubuntu以启用交叉编译环境并启用环境变量。 使用命令

sudo重新引导

重新启动成功后,检查交叉编译器是否安装成功。 也可以在控制台中输入arm。 输入Tap会自动补充。 然后输入gcc -v。

arm-linux-gnueabihf-gcc -v

如果这里显示的是gcc的版本号4.9.4,则表明交叉编译器成功,如下图所示。 如果与此处显示的内容不同,请检查环境变量是否正确设置,以及您安装的ubuntu是否为64位。 因为我在这里安装了64位交叉编译器。

然后,我们进入test目录,使用交叉编译器编译了hello.c。 编译方法与以前使用gcc编译的方法相同。 将名为hello.c的源文件添加到gcc中,后跟由-o指定的文件名。 虽然格式相同,但只是用交叉编译器替换了gcc编译器。 在arm-linux-gnueabihf-后命名gcc和我们要编译的原始文件,用-o指定我们要生成的可执行文件,我们成功编译,如下图所示。

然后我们就可以运行这个赫尔洛了。 他那里提示错了,我们不能执行。 如下图所示。

如果使用file命令,这里显示的体系结构是arm,表示该可执行文件在开发板而不是X86上运行。 可见,由gcc编译器编译的可执行文件的体系结构为X86,因此由gcc编译器编译的可执行文件只能在X86的ubuntu上运行,不能在arm上运行。 大家可以用file命令区分。 大家可以自己安装。 如下图所示。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。