2014-09-23 167 views
1

我是ARM开发新手。现在我对ARM的交叉工具链感到非常困惑。这里的一些问题,我遇到:gcc和arm-linux-gcc之间的关系是什么

  1. gccarm-linux-gcc同一开发商?或者有不同版本的arm-linux-gcc许多不同的开发者?如果有,所有arm-linux-gcc编译器的来源是什么?有没有官方网站arm-linux-gcc

  2. 从哪里获得arm-linux-gcc的官方文档?现在我只能从the official GNU website获得gcc官方文档,但我从GNUTOOLCHAIN下载了我的arm-linux-gcc,并找不到任何文档。根据我的经验,gccarm-linux-gcc的选项不完全相同。

  3. 最后,arm-linux-gcc的不同预制版本之间有什么区别?我猜他们之间的唯一区别是编译器的默认选项,我是对的吗?我可以使用预构建的arm-linux-gcc作为arm1176来编译cortex-A8的程序吗?如果是这样,我应该注意哪些编译选项?

  4. 有没有关于这些东西的权威性书籍?

回答

2

回答你的问题都低于:

  1. 有做编辑从不同的开发人员手臂不同的编译器选项。我常用的是Linaro和Code Sourcery。您可以在Google上搜索这些关键字,并轻松找到他们的网站。

  2. arm-linux-gcc应该支持gcc的所有标志和选项,所以所有通用的东西都与gcc相同。所以你可以在官方GNU网站上使用gcc文档。对于特定的东西,您可以使用特定编译器的文档。

  3. 预构建版本是具有特定平台默认选项的版本,但它们也可能包含一些修补程序或可能在特定平台上运行的黑客。例如,在RPi的情况下,您不能使用通用linaro工具链,而必须使用预编译工具链。

+0

谢谢,它帮助我很多 – demonguy 2014-09-23 14:57:54

0

当您使用的嵌入式设备的工作时,通常需要交叉编译器运行在快速主机(例如,86)上并编译为较慢的目标机(例如,ARM)。

arm-linux-gcc是arm的交叉编译器。这是普通的gcc编译器,但编译后运行在主机上并为ARM机器生成目标。

+0

对不起,但你没有回答我的任何问题 – demonguy 2014-09-23 11:00:54

相关问题