一尘不染

编译用于ARM体系结构的Linux程序-在主机OS上运行

linux

我有一个运行Linux Ubuntu的Freescale(i.MX53)的ARM
Coretex-A8开发板。它可以正常启动,我可以使用鼠标/键盘/终端访问系统。

首先,我想让一个应用程序在主机OS内的板上运行,就像在PC上运行应用程序一样。

我的问题是,使用基于cc的YAGARTO之类的工具链来编译我的测试程序,因为我没有定义任何启动脚本,所以最终在链接方面遇到麻烦。

我发现了许多有关构建“裸机”配置的信息(包括编译内核以及创建加载和链接脚本),但是对于使应用程序在主机OS上运行没有任何帮助。

我的开发环境在Windows 7上运行。我也可以选择在Linux X86上运行,但是我怀疑这对我制作ARM应用程序会有帮助。


阅读 169

收藏
2020-06-07

共1个答案

一尘不染

对于ARM-Linux应用程序开发,首选选择是其中装有ARM工具链的Linux
Host(x86)计算机。在Ubuntu桌面计算机上,您可以使用以下命令来安装ARM工具链:

apt-get install gcc-arm-linux-gnueabi

安装工具链后,您可以使用以下命令进行交叉编译:

gcc-arm-linux-gnueabi-gcc -o hello hello.c

使用此工具链,您可以使用标准C库交叉编译C程序,而无需启动代码。可以在您的Host Linux(x86)平台上交叉编译应用程序,并在Target
Linux(ARM)平台上运行。

Windows版本的ARM-Linux工具链也可用。你可以从这里得到。

Linaro Developers
Wiki-
一个致力于在ARM上改进Linux的开放组织,将为您的工作提供很好的参考。

2020-06-07