Dear All,
I'm trying to tracking the .lst file as the below. but I'm confused what is the current pc value?
Fron here, 0x010002b4: 4902 .I LDR r1,[pc,#8] ; [0x10002c0] = 0x20000000
Does [0x10002c0] mean the current 'pc' value or should I have to consider that value already calculated by #8?
What exactly does 0x10002c0 mean?
... SystemInit 0x010002b4: 4902 .I LDR r1,[pc,#8] ; [0x10002c0] = 0x20000000 0x010002b6: 4801 .H LDR r0,[pc,#4] ; [0x10002bc] = 0x2faf080 0x010002b8: 6008 .' STR r0,[r1,#0] 0x010002ba: 4770 pG BX lr $d 0x010002bc: 02faf080 .... DCD 50000000 0x010002c0: 20000000 ... DCD 536870912 $t
Thanks in advance.
It is the computed address of PC+8 which then holds the literal 0x20000000 The literal pool being placed outside of the executing code If using assembler, perhaps take a course on it
Thanks so much letting me know it,
never mind the below question.
Now I'm trying to understand the startup.s code of Cortex CM3 with assembly code also. I come across the "Application Note 107 - ARM Infocenter", it say that booting sequence goes to __main then __rt_entry sequence. and automatically after __rt_entry, main is called. so far I get it.
But problem is that I can't grep "__rt_entry" in the source files. So I asked this question also.
Once I'll try again to understand the startup.s code.
Thanks.
The linker builds structures describing the load regions and initialization in the form of copying and zeroing regions of RAM. It also pulls in library code to perform these run time start up tasks, whether it is the scatter loader, or decompression routines for the statics. Some of these things will not be provided to you in source code form.