2021-06-30 07:49 AM
I am starting a new project on STM32G070KB and I want to use freeRTOS.
Problem that I have is that the configMAX_SYSCALL_INTERRUPT_PRIORITY seems to be gone from the port !
I use the latest STM32CubeIDE with the 1.4.1 firmware package for STM32G070KB
Problem is that because STM32G070 has only 4 priority level (2 bits) all of the interrupt that I set in the STM32Cube environnement needs to be at 3 (lowest priority) if they use freeRTOS functions !! This means I have no way to priorise them !!
#FreeRTOS
#Interrupt
Solved! Go to Solution.
2021-07-01 04:00 AM
Hello @Community member ,
This is a normal behavior because the STM32G0 has a Cortex®-M0+ core.
Note: The information regarding interrupt nesting on this page applies when using a Cortex-M3, Cortex-M4, Cortex-M4F, Cortex-M7, Cortex-M33 and Cortex-M23. It does not apply to Cortex-M0 or Cortex-M0+ cores, which do not include a BASEPRI register.
For more details, you can consult this reference: RTOS for ARM Cortex-M (freertos.org)
BeST Regards,
Walid
2021-07-01 04:00 AM
Hello @Community member ,
This is a normal behavior because the STM32G0 has a Cortex®-M0+ core.
Note: The information regarding interrupt nesting on this page applies when using a Cortex-M3, Cortex-M4, Cortex-M4F, Cortex-M7, Cortex-M33 and Cortex-M23. It does not apply to Cortex-M0 or Cortex-M0+ cores, which do not include a BASEPRI register.
For more details, you can consult this reference: RTOS for ARM Cortex-M (freertos.org)
BeST Regards,
Walid
2021-07-02 08:01 AM
Thanks a lot Walid!
I have played quite a bit with freeRTOS on Cortex-M4 and Cortex-M7 and was not aware of the use of the BASEPRI register.
I guess we will have to work a bit differently on M0+ if we want to get our things running.
Your post helped me guide my google search (BASEPRI was really the keyword here).
I found this article that gives a lot of explanation.
Thanks for your help !
2021-07-02 08:07 AM
We are happy to help you. Don't hesitate if you have any other problems.
You are welcome at any time 😊