这是关于一些使用通用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文件的以下错误:
汇编程序消息: 致命错误:无效的列表选项`,'
有没有办法做到这两种情况都适用?
答案 0 :(得分:0)
调整你的makefile以便使用gcc汇编“legacy”xxx.s文件,然后第二个选项(带-Wa)应该可以工作。