Le 21/09/2011 12:45, Wolfgang Denk a écrit : > Dear "GROYER, Anthony", > > In > message<bc0a2f434d4f39448d24a68ea6effb9f0194d...@eu-fr-exbe07.eu.corp.airliquide.com> > you wrote: >> >> What is the difference between _start and _TEXT_BASE ? I do not see any >> differences and the former relocation offset calculation was using >> _TEXT_BASE. > > The former is the entry point address, while the latter is the start > of the text segment. These may be the same (and on many ARM systems > they are), but they have actually no direct relation to each other > (and some ARM systems do use an entry point that is not the same as > the start of the code).
This would be boards - where U-Boot boots from Flash without a SPL, - which boot at FFFF0000, - and which don't have a tiny piece of code at FFFF0000 which jumps to a fixed location at which _start resides. Thus, typically boards with a very small FLASH that forces the maintainer to fill the last 64 KB with _start and some code, then put the rest of U-Boot below FFFF0000. But my edminiv2, with only 512 KB flash, already provides enough space that such a complicated linker mapping is unneeded -- FFFF0000 just has a permanent jump instruction to FFF90000, and U-Boot is linked linearly, with _start at FFF9000. I wonder which ARM boards we have that still require a complex mapping with _start in the middle of the code. Amicalement, -- Albert. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot