Hi, i have some trouble with the new update at firmware on NUCLEO-F446RE.
The ST launched a new update to CubeMX and CubeIDE. I updated to the new version and created a simple project with FreeRTOS. When the processor executes the instruction “svc 0” to start the first task, the command fail and a Hard Fault is detected.
I have see the same issue with Fedora, Manjaro OS and Windows.
Build: 7511_20200720_0928 (UTC)
OS: Linux, v.5.7.10-201.fc32.x86_64, x86_64 / gtk 3.24.21
Java version: 1.8.0_242
If you are a user and have this same issue, please follow this steps to revert the update.
Help > About STM32CubeIDE > Installation Details > Installation History > Click version 1.3.1 > Revert
Just now I upgraded to CubeIDE 1.4.0 (on Windows) and generated a new project (for an STM32L4 I have here) with FreeRTOS. I was hoping to duplicate your issue, but the code runs correctly. It’s a single task that simply calls osDelay() in a loop.
Can you tell me about the selections you make as you create the new project? Or maybe can you post the project somewhere?
This is my selections for this issue happen:
The STMCubeIDE must be in 1.4.0 version.
- For SYS, Debug > Serial Wire
- For RCC: Crystal/Ceramic Resonator
- For FreeRTOS, just selecting the CMSIS v2.
Try to downgrade de STMCubeIDE to 1.3.1, like i explained in post 2. It work for me.
Run the code generated and done.
This would seem to be an issue with the way STM32Cube is creating the project - can you report it to ST?
In the STM32CubeMx view, please make sure the “Priority Group” combobox in NVIC is set with the value of “4 bits for pre-emption priority 0 bits for subpriority”.
And this should solve the issue.
I think in your case it’s set with “0 bits for pre-emption priority 4 bits for subpriority”.