我们可以在嵌入式设备中运行编译器吗?

时间:2016-11-23 11:37:26

标签: embedded-linux

这可能听起来很奇怪,但我想知道我们是否可以在嵌入式设备中使用编译器(比如imx6上的gcc支持)。

3 个答案:

答案 0 :(得分:0)

当然,拥有目标工具的情况并不少见,但这并非易事。必须为目标体系结构交叉编译非本机(从主机角度看)编译器。您没有提供任何详细信息,但也许您的构建系统可以为您构建目标工具。当然,您需要的不仅仅是编译器。你可能需要make,autotools,甚至更多。这取决于您尝试在目标上编译的内容。

您最好的选择是使用交叉编译环境获得一些熟练程度。如果您还没有,可以查看Yocto项目。它支持i.mx6(以及更多)并且可能提供了在您的主板上获取目标工具的路径。

祝你好运!

答案 1 :(得分:0)

对于arm arch,很容易获得目标编译器,linaro项目的l​​inaro ubuntu将为arm arch提供完整的解决方案,它可以为你的目标提供GNOME桌面,工具链和信息工具。

您可以从以下链接获取更多信息:

https://wiki.linaro.org/Platform/DevPlatform/Ubuntu

答案 2 :(得分:0)

是的,应该很容易..你的机器有什么版本的交叉编译器,从这里下载匹配的gcc编译器https://ftp.gnu.org/gnu/gcc/

现在您要做的是使用您已经拥有的交叉编译器交叉编译您下载的GCC。

以下是编译4.7.4的示例,注意:根据您的平台替换HOST和BUILD:

   ./contrib/download_prerequisites

   cd ..

   mkdir objdir
   cd objdir

   ../gcc-4.7.4/configure --build=$BUILD \
               --host=$HOST \
               --target=$HOST \
               --prefix=/usr \
               --disable-nls \
               --enable-languages=c,c++ \
               --with-float=hard 

   make -j $JOBS

   make DESTDIR=<path_where_to_install> install