In my assembly startup code for ARM9 i have some lines that i don't understand and are like this:
.word 0x41676d69
.word 0,0,0,0,0
image_type:
.word 0x0000000A
sizeOfPermanentCode:
.word (__image_size)
.word 0,0
bootparameter:
.word 0
.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
I ve heard that number 0x41676d69 is some sort of an image magic number, but i dont know why it is used for. What about other .word elements? What are they? What do they do?
With kind regards Žiga Lausegger
0x41676d69translates toAgmiwhen interpreted as big-endian and converted to ASCII.imgAwhen interpreted as little-endian. Just an observation0x41676d69carries an information about format type which isimgA. I assume this is probabbly needed by boot ISROM at startup. But what would.word 0 , 0 , 0 , 0 , 0do? Is it possible this are some kind of parameters boot ISROM needs?image_typeat exactly offset0x18in the image. If those 0 words specify boot params, they'd almost certainly be defaults. (Disclaimer: I've never touched an ARM system aside from a PDA i messed with 5 years ago. You'll want to look around on the internet and make sure what i'm saying makes sense...cause i haven't done much of that yet. :) )0x18? Hoe did you get to this number? And it is true what you say.0s ends up being 6 words. At 4 bytes each, that's 24 bytes. 24 ==0x18.