I have an app that works perfectly when run from the debugger, but not when started by HW reset.
We use the serial port to communicate to a control processor (STM32) The Nordic sends a notification to the control processor over the UART after program initialization. The symptom is that when started via toggling the reset line, the UART communication isn't happening properly, because this ACK is never received.
This all used to work fine in both modes, and as mentioned previously it works perfectly if the program is run in the debugger.
Although I've made quite a few changes to the app since it last worked outside the debugger, all of the changes are seemingly unrelated, except one. I now use RTT logging extensively, through the SWD port (not the UART port). I've also cleaned up the UART init code.
Can you think of anything that might cause the serial port to behave differently when run in debug mode?
I can try to open up our target HW, but it is really tiny, so I'm grasping at straws, and I'm not sure how much it will tell me anyway. I also could try running the app on the eval board. It can't really function completely there, but at least I can see whether there is any activity on the UART line and compare debug mode to normal mode.
Thanks in advance for any help!