Я пытаюсь скомпилировать простой файл "asm" с G CC, чтобы понять компиляцию. test.h:
#define APPLICATION_EXIT .end
test.asm:
#include "test.h"
APPLICATION_EXIT
при запуске:
arm-none-eabi-gcc-9.2.1.exe -mcpu=cortex-m7 -mthumb -g -c .\test.asm
Я получил:
arm-none-eabi-gcc-9.2.1.exe: warning: .\test.asm: linker input file unused because linking not done
но ничего не сгенерировано, нет файла "out". Я пытаюсь запустить
arm-none-eabi-as -mcpu=cortex-m7 -mthumb -g -c .\test.asm
Я получил:
.\test.asm: Assembler messages:
.\test.asm:2: Error: bad instruction `application_exit'
Похоже, что AS работает, но макрос не работает работать. когда я изменяю test.asm на:
#include "test.h"
.end
arm-none-eabi-as -mcpu=cortex-m7 -mthumb -g -c .\test.asm
работает. Я получил a.out.
Я неправильно использовал G CC? сыворотка G cc не может запустить бэкэнд "as" напрямую? Почему не работает макрос #define? Спасибо большое, я благодарен за любые комментарии.