Other Parts Discussed in Thread: SYSCONFIG
I am testing some UART Rx code based on the uart_echo_interrupts_standby example.
Frequently it works perfectly. Then I will change some code in an unrelated section of the project, rebuild, reload the firmware and quit receiving characters. I spend an hour or so trying things to fix it and at some point after a new build it begins working again. A few changes / rebuilds later and I am back in the bad state. I really do not believe the code changes I make break it or fix it. I have been through this cycle 4-5 times now and cannot find a correlation for when it breaks or how it gets fixed.
I have a logic analyzer on the UART Rx pin, so I can see the characters on their way in.
I can set a breakpoint in the interrupt handler. When this breakpoint gets hit, the system is in a good state and receives characters as expected. When the system is in a bad state the breakpoint is never activated.
Can you offer any debugging advice for how I might isolate this problem? All I know right now is the interrupt handler does not appear to get called in the broken builds.
It seems to me something in the build process gets stuck in a bad state and delivers bad results for a while until it gets unstuck. I try the "Build Project" "Clean Project" and "Rebuild Project" options without any consistent results. Are there any other Theia options I should try to get a consistent build?