I am using the STM32WB55 Nucleo board in combination with FreeRTOS to create a Bluetooth application. Once the project got quite large and all peripherals were configured, I noticed that the FLASH_SR_CFGBSY bit was getting set and was never clearing. This prevents CPU2 from triggering the interrupt that it is ready and to start the Bluetooth-specific application code on CPU1.
I have been talking with STMicroelectronics on this issue and they believe they have narrowed it down to an issue in FreeRTOS when using TIM1:
I tested adding TIM1 from both BLE_HeartRateFreeRTOS and BLE_HeartRate examples.
The BLE_HeartRateFreeRTOS example that uses the FreeRTOS v10 had an issue when adding TIM1.
Whereas the BLE_HeartRate example, which uses a sequencer provided from the STM32CubeWB package, doesn’t generate the FLASH_SR_CFGBSY bit toggling issue.
It doesn’t appear that this TIM1 issue occurs if FreeRTOS is removed, so it seems that the issue has to do with FreeRTOS.
The ticket within ST has been escalated and is being looked at by the firmware developers supporting FreeRTOS as it does appear to be the underlying issue.
I am hoping that since they believe the issue is with FreeRTOS, someone here might have an idea of what is causing this problem.