2025-09-23 9:25 AM
Hello,
I'm new to Keil and want to port an existing project from STM/FreeRTOS/GNU to Keil toolchain.
I've created a project for STM32F4 for Keil MDK using CubeMx V6.15.0.
For RTOS, I use RTX5 / CMSIS-RTOS2 API.
I get the following compile error
C:/Users/t3.loc.StJo/AppData/Local/Arm/Packs/ARM/CMSIS/6.2.0/CMSIS/RTOS2/Source/os_systick.c(70): error: no member named 'SHPR' in 'SCB_Type'; did you mean 'SHP'?
SCB->SHPR[11] = SYSTICK_IRQ_PRIORITY;
^~~~
SHP
../Drivers/CMSIS/Include\core_cm4.h(453): note: 'SHP' declared here
__IOM uint8_t SHP[12U]; /*!< Offset: 0x018 (R/W) System Handlers Priority Registers (4-7, 8-11, 12-15) */
According to this info Breaking changes in CMSIS-Core 6, there is a version mismatch between the CMSIS-RTOS and the STM HAL version. First is installed via Keil IDE, second by CubeMx.
As a quick test I renamed SHP to SHPR in core_cm4.h but I'm quite sure that this is not the way to go.
Here is my setup:
Any suggestions are very appreciated.