Hi,
I'm working on nRF52832 based device with s112 and SDK15 based bootloader and app built with gcc.
I have modified default Nordic bootloader to start DFU transport on hardfault happened in App. During App development i've made mistake and got hardfault when loaded the app and issued CLI test command to trigger my code piece execution. As expected bootloader started DFU transport. But after inactivity timeout it restarted again and again. No App was loaded until I power cycled device (removed power for a few seconds and supplied again).
My suggestion is that my App code in some way corrupted RAM or volatile registers contents that made impossible for bootloader to start the app. Aftter i power cycled device the RAM contents became erased and bootloader successfully loaded app.
Any suggestions what RAM regions are sensitive and can lead to such behavior? Should bootloader start code initialize all RAM and registers? (except .noinit ones)
Thanks