1

这是关于一些使用通用 makefile 的 arm 汇编代码,但对于需要预处理的文件 (xxx.S) 和不需要预处理的文件 (xxx.s) 的行为不同。在我的makefile中,我有这个:

ASFLAGS += --defsym BACKDOOR_ADDR=0xC0004000

这似乎适用于所有未预处理的旧程序集文件(xxx.s)。现在我有一个确实需要预处理(xxx.S),我收到以下错误:

arm-none-eabi-gcc: error: unrecognized option '--defsym'

我试过这个:

ASFLAGS += -Wa,--defsym,BACKDOOR_ADDR=0xC0004000

它适用于 xxx.S 文件,但不适用于 xxx.s 文件。我从 xxx.s 文件的汇编程序中收到以下错误:

汇编程序消息:致命错误:无效的列表选项“,”

有没有办法对这两种情况都有效?

4

1 回答 1

0

调整你的makefile,以便“旧”xxx.s 文件也使用gcc 组装,然后第二个选项(使用-Wa)应该可以工作。

于 2012-10-20T22:46:07.603 回答