You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
First, thanks a lot for working on this project. It's so helpful to have a CMake-based buildsystem for the ARM/CMSIS/FreeRTOS! I haven't worked much with other stacks but it's cool to know that I could use this if I wanted to.
The FreeRTOS application doesn't compile for the Arm Cortex M7 target out of the box because configMAX_SYSCALL_INTERRUPT_PRIORITY doesn't get set. I noticed that this gets set in board.h for the ARMCM4 target but not the M7. The way this is done in the ST Cube framework is by the application providing a separate FreeRTOSConfig.h header. What do you think of this pattern? It seems cleaner to me. For now I just throw the definition of the missing settings into board.h to be consistent with the other target as a workaround.
The text was updated successfully, but these errors were encountered:
The reason I did not do it for the other ARM Cortex-M was I have not spent much time thinking about the correct definitions for the other ones. But I agree it is not elegant.
/* The highest interrupt priority that can be used by any interrupt service
routine that makes calls to interrupt safe FreeRTOS API functions. DO NOT CALL
INTERRUPT SAFE FREERTOS API FUNCTIONS FROM ANY INTERRUPT THAT HAS A HIGHER
PRIORITY THAN THIS! (higher priorities are lower numeric values. */
#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 5
/* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero !!!!
See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */
#cmakedefine RTOS_MAX_SYSCALL_INTERRUPT_PRIORITY
#ifdef RTOS_MAX_SYSCALL_INTERRUPT_PRIORITY
#define configMAX_SYSCALL_INTERRUPT_PRIORITY @RTOS_MAX_SYSCALL_INTERRUPT_PRIORITY@
#else
#define configMAX_SYSCALL_INTERRUPT_PRIORITY ( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - __NVIC_PRIO_BITS) )
#endif
First, thanks a lot for working on this project. It's so helpful to have a CMake-based buildsystem for the ARM/CMSIS/FreeRTOS! I haven't worked much with other stacks but it's cool to know that I could use this if I wanted to.
The FreeRTOS application doesn't compile for the Arm Cortex M7 target out of the box because
configMAX_SYSCALL_INTERRUPT_PRIORITY
doesn't get set. I noticed that this gets set in board.h for the ARMCM4 target but not the M7. The way this is done in the ST Cube framework is by the application providing a separate FreeRTOSConfig.h header. What do you think of this pattern? It seems cleaner to me. For now I just throw the definition of the missing settings into board.h to be consistent with the other target as a workaround.The text was updated successfully, but these errors were encountered: