After adding osMutexCreate(), program hangs at first printf()
In anticipation of adding a second task, I want to protect some DAC accesses over a SPI bus with a Mutex (DAC writes are 3 SPI accesses, and I need them to be atomic).
I generated the Mutex using STM32CubeMX. Not calling the osMutexWait() yet, just created the mutex.
After the osMutexCreate() was added, my program hangs at the first printf it encounters. There are GPIO reads/writes and a loop between the osMutexCreate() and the printf(). If I comment the printf() out, it runs until it encounters the next printf().
Using the STLinkV2 debugger, if I do a “move to line” to skip the osMutexCreate(), the program runs fine.
Just for a test, I’ve doubled the stack size.
I’m trying to understand what this behavior is telling me. Anyone seen this before, or have ideas to try?
Thanks.