We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi, I can't completely figure out the initialization steps after power on for a Cortex-M3.
The exact issue I'm facing is discussed here : www.keil.com/.../
But I can't figure it out where they say :
The area gets cleared by the scatter loader (executed between startup and entry to main).
the reset handler is as follows:
Reset_Handler PROC EXPORT Reset_Handler [WEAK] IMPORT __main LDR R0, =__main BX R0 ENDP
I can't figure out where the scatter loader get's the chance to be executed!
I can't trace the initialization steps in reset handler. Can any one give me a link on the logic and nature of the initialization steps done before main
The magic happens in __main - it's the startup code of the C runtime library, and it picks up symbols from the linking process to figure out the amount of RAM configured, what is initialized and what is just cleared on startup.
Do you know where I can read about the magic's details? you know? I see these "__user_initial_stackheap/__user_setup_stackheap" stuff here and there, That seems to be inside the magic you stated. I think knowing more about them will help things get clear.
Any document I can read?
Maybe try this:
www.keil.com/.../armlib_chr1358938922456.htm
Thanks John, That was useful.