Atmel AT91SAM9G45的gcc cpu和fpu配置标志?

时间:2017-03-21 09:11:14

标签: gcc arm cross-compiling

我正在使用gcc 6.3.0源代码构建arm-eabi-gcc,目标是Atmel AT91SAM9G45处理器。

配置gcc构建时,我应该对cpu / arch / tune标志使用什么?

使用--with-arch=armv9返回Unknown arch used。它似乎接受--with-cpu=armv9,并且没有传递arch标志,但我不确定这是否适合这个特定的CPU。它也接受--with-cpu=arm9并且我不确定两者之间的区别是什么,或者是否适合我的CPU。

另外,我应该为--with-fpu选项使用什么?我的软件不会使用任何浮点运算,因此我使用的是--with-float=hard,但在这种情况下我不知道如何处理fpu选项。

1 个答案:

答案 0 :(得分:1)

  

配置gcc构建时,我应该对cpu / arch / tune标志使用什么?

the datasheet可以看出,AT91SAM9G45包含一个旧的ARM926EJ-S内核。 GCC通过arm926ej-s名称支持它(搜索支持的-mtunehere)。所以我建议使用--with-cpu=arm926ej-s

至于--with-tune--with-arch--with-cpu之间的区别,请参阅this answer,TLDR是首选--with-cpu

  

使用--with-arch = armv9返回使用的未知拱。

不要混淆ARM9和ARMv9 - 它们完全不同。

  

另外,我应该将什么用于--with-fpu选项?

我认为ARM9不支持硬件中的FP,因此您应该使用--with-float=soft