I have a pretty good workflow.
It’s basically a cycle of:
- Determine where in the code I want to test
- Add function call that shows me bytes on the scope (drop gpio 2 and output byte in SPI bus)
- Burn flash (about a minute)
- Reset and grab trace
- Inspect scope output to see what the code did
- Make any necessary fixes
A lot of the uncertainty I had is dissipating with each successive change that brings me closer to having a working UART driver.