2009-10-06 40 views
-1

任何ARM处理器的工具链都可以用于编译任何操作系统吗?工具链对OS的依赖是什么?任何ARM处理器的工具链

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

回答

4

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

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

什么是工具链对 操作系统的依赖关系?

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

看到这篇文章如何引导Linux on ARM。虽然它比较老,但适用的补丁适用于相同的过程。

1

你可能想看看BuildRoot建立一个工具链目标武器和其他处理器。

0

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

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

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

0

有许多跨平台编译器可用,即使是许多版本的gcc也提供了......编译内核for arm需要交叉编译器并更改内核文件夹ex的顶层Makefile:ARCH = arm和CROSS_COMPILE = arm-linux-,CROSS_COMPILE参数取决于你在哪里保存了gcc-跨平台工具...

这里ARCH代表架构