我正在尝试编译此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编译器不支持此语法?)或某些标志有关,但是到目前为止,谷歌搜索还不足够。