Я использую Keil uvision5 для компиляции cmsis_os.c (обертка для моей FreeRTOS).
Я получаю эту ошибку: ..\Middlewares\Third_Party\FreeRTOS\Source\portable\GCC\ARM_CM4F\portmacro.h(221): ошибка: #18: ожидается ")"
portmacro.h имеет это:
portFORCE_INLINE static void vPortRaiseBASEPRI( void )
{
uint32_t ulNewBASEPRI;
__asm volatile
(
" mov %0, %1 \n" \
" msr basepri, %0 \n" \
" isb \n" \
" dsb \n" \
:"=r" (ulNewBASEPRI) : "i" ( configMAX_SYSCALL_INTERRUPT_PRIORITY ) <<<<<<<<<<< LINE WITH THE ERROR.
);
}
АРМ это STM32F417VG. Исходный код FreeRTOS — V8.1.2.
У нас есть существующий исходный код на основе gcc для нашего ARM, который мне нужно перенести в Keil IDE. Я использовал ST CubeMx для создания нового проекта Keil. Затем я добавил исходный код FreeRTOS версии 8.1.2, включая cmsis_os.c и cmsis_os.h, поскольку Keil нуждается в оболочке cmsis RTOS для отладчика и т. д.