Hi Vamsi, Le 22/01/2011 05:18, krrish53 a écrit : > > Hello everybody, > I have a question pertaining to almost every lowlevel_init.S. The code goes > like > > /*make r0 relative the current location so that it*/ > /*reads SMRDATA out of flash rather than memory*/ > ldr r0,=SMRDATA > ldr r1,_TEXT_BASE > sub r10,r0,r1 > > I couldn't relate the code to comments made ahead of that(how does TEXT_BASE > - addrof(SMRDATA) yield the location of SMRDATA in flash. I totally dint get > it. Please enlighten me. I greatly appreciate any response.
It would be easier if you gave the precise source code origin, filename and location of the code you're mentioning. I took the u-boot-arm current master branch, and could not exactly find any occurrence of "sub r10, r0, r1" so I looked for an appraoching sequence, and found e.g. arch/arm/cpu/arm926ejs/at91/lowlevel_init.S, line 63. Is this what you meant? /* memory control configuration */ /* this isn't very elegant, but what the heck */ ldr r0, =SMRDATA ldr r1, _MTEXT_BASE sub r0, r0, r1 add r2, r0, #80 If so, the code does not compute TEXT_BASE - SMRDATA, rather the reverse : SMRDATA - TEXT_BASE, .i.e. the relative address of SMRDATA with respect to the image start (depending on START_FROM_MEM, in Flash or physical RAM). I assume #80 is an absolute base address of the actual SMRDATA, but I'm no at91 specialist. > Thanks, > Vamsi Amicalement, -- Albert. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot