vPortRaiseBASEPRI Infinite Loop
The processor is an STM32F373. This an STM32CubeMX 4.14 generated project with FREERTOS enabled, and the SysTick TImebase Source.
Calls to: HAL_Delay(50), vTaskDelay(50), and osDelay(50) hang. This hang is in the function vPortRaiseBASEPRI() which, as I can see in the disassembly window, has as its last instruction an infinite loop.
This is the disassembly I see for that function:
The b.n instruction is an unconditional branch to itself. Was it meant to be this way? Or is this a bug? What can be done about it?
In Project => Properties => C/C++ Build (tree) => Settings => Tool Settings (tab)
The compile’s Optimize for Debug (-Og) option was selected.
Place the function in their own section was checked.
Place the data in their own secions was not checked.