I ported an existing application(modified from SDK 15.2.0) from IAR compiler to GCC compiler in windows environment. I used the SEGGER SES for final linking using the default flash_placement.xml file. During the linking I provided the entry point as 'Reset_Handler'. The compiling and linking was successful, but when I flashed the program to controller, its stuck in Soft device Flash address range.(I have pre-loaded the S132 soft device hex file).
I can see that the Reset handler function is getting called and then nRFInitialize, followed by SystemInit() in system_nrf52.c file. In this function while executing errata_12() function, it jumps soft device address range and then stays there. Before and after screenshots below:
Before:
After:
And stuck in this line:
Need assistance for the startup sequence to jump to application main.
Also Need further information as to
1. How the startup sequence works in nRF52832 device? Whats the reset address?
2. How the Soft device software handles the startup sequence and how it jumps to address of 'Reset_handler' function when this address value can be dynamic?
3. As I am compiling my code in GCC does this affect the precompiled soft device software? How do I compile soft device in GCC too? Can I get its symbol file(.elf/.out) so that I can debug my code?