Я пытаюсь скомпилировать этот код PTPD https://github.com/mpthompson/stm32_f4_ptpd.К сожалению, для этого требуется премиум-версия Keil.Поэтому я перевожу его на использование arm-none-eabi и Makefile.
Мне удалось заставить остальную часть программы компилироваться, кроме https://github.com/mpthompson/stm32_f4_ptpd/blob/master/libraries/RTX-v4.73/SRC/ARM/HAL_CM4.c.Пример проблемного места:
__asm void rt_set_PSP (U32 stack) {
MSR PSP,R0
BX LR
}
Этот файл завершается с:
../libraries/rtx-v4.73/SRC/ARM/HAL_CM4.c:50:7: error: expected '(' before 'void'
__asm void rt_set_PSP (U32 stack) {
^~~~
../libraries/rtx-v4.73/SRC/ARM/HAL_CM4.c:72:20: error: stray '#' in program
LSLS R0,#31
Похоже, что он связан с компилятором (компилятор GNU не поддерживает этот синтаксис?) Или с некоторыми флагами, нопоиск в Google до сих пор не был плодотворным.