
Hi Matthias,
What is the CONFIG_SYS_TEXT_BASE variable and how can I figure out what it should be?
U-boot is typically stored in flash and one of the first things it does when executed is relocate to ram. CONFIG_SYS_TEXT_BASE is
the relocation
address. Typically, u-boot global data, heap and then stack is stored just below this.
On ARM, CONFIG_SYS_TEXT_BASE is typically the base address of the image in flash. This is, on a system booting from NOR, the address of the first instruction which is fetched from the CPU.
Since u-boot is used to load some other program like the kernel, you need the u-boot relocation address to be out of the way of this. So, for the boards I have seen (not arm), CONFIG_SYS_TEXT_BASE is set to the top of ram - 256KB, i.e. enough room for the u-boot image.
The relocation address is dynamically calculated from a couple of (runtime) information and has nothing to do with CONFIG_SYS_TEXT_BASE. This is true for ARM and AFAIK for PPC.
Thanks for the additional info - SH is a little different then!
Phil