适用于任何ARM处理器的工具链

时间:2009-10-06 05:52:45

标签: arm

是否可以使用任何ARM处理器的工具链来编译任何操作系统?工具链对操作系统的依赖性是什么?

我的问题可能听起来微不足道......我不知道ARM的工具链。

3 个答案:

答案 0 :(得分:4)

  

可以使用任何Arm处理器的工具链来编译任何   操作系统?

这取决于目标操作系统。如果它支持ARM体系结构(例如Linux),那么只缺少配置和补丁,但通常是。

  

工具链的依赖性是什么   OS?

我只有GCC经验,所以我会说binutilsglibc + kernel headers然后GCC。如果你想要线程,你也需要pthreads。

请参阅有关如何引导Linux on ARM的文章。虽然它相当陈旧,但适用的补丁适用同样的过程。

答案 1 :(得分:1)

您可能需要查看BuildRoot来构建工具链以定位Arm和其他处理器。

答案 2 :(得分:0)

一般来说,没有。工具链具有依赖于系统libC库的编译器库,这些库来自操作系统(除非您正在编译没有操作系统的小型“裸机”系统,在这种情况下它们来自其他地方)。

因此,使用给定工具链编译的程序仅适用于具有兼容libC的系统。例如,如果您有基于ARM GlibC的系统的工具链,它将用于编译使用GlibC的标准ARM Linux系统的程序,但不适用于使用uClibc的ARM uClinux系统或ARM裸机系统使用Newlib。

还有一些其他的小依赖(我不太熟悉),但那是最大的依赖。