Hi Albert, Thanks for your response. Albert ARIBAUD wrote: > > Hi Vamsi, > Thanks for your response. Sorry for not mentioning the file name. its here > uboot/arch/arm/cpu/arm920t/at91rm9200/lowlevel_init.S and also in > uboot/board/samsung/smdk2410/lowlevel_init.S. My doubt is that as of now > no relocation happened and the code is still being executed from flash > rite, why would TEXT_BASE required in fetching the values from flash. This > really confuses me. > > Let me tell my understanding about. When the system starts u-boot.bin > resides in the flash and starts executing start.S(by figuring out the > entry point from u-boot.lds). And from u-boot.lds, the text section starts > at 0x0000000 and other sections follow it. I really dont understand here > the necessity of considering TEXT_BASE for writing SMRDATA values into > registers as there is no RAM in the picture yet. This is the I would > greatly appreciate a little detailed response. > > Thanks very much. > > 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 > >
-- View this message in context: http://old.nabble.com/A-question-in-lowlevel_init.S-tp30734554p30744824.html Sent from the Uboot - Users mailing list archive at Nabble.com. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot