用于 Atmel AT91SAM9G45的 gcc CPU 和 FPU 配置标志



我正在使用 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 选项。

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

从数据表中可以看出,AT91SAM9G45包括一个旧的ARM926EJ-S内核。GCC 通过arm926ej-s名称支持它(在此处搜索支持的-mtune值(。所以我建议使用--with-cpu=arm926ej-s.

至于--with-tune--with-arch--with-cpu的区别,请看这个答案,TLDR是首选--with-cpu(。

使用 --

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

不要混淆 ARM9

和 ARMv9 - 它们是完全不同的东西。

另外,我应该为 --with-fpu 选项使用什么?

我不认为 ARM9 在硬件中支持 FP,所以你应该使用 --with-float=soft .

最新更新