[U-Boot-Users] TEXT_BASE problem

Rui Sousa rui.sousa at laposte.net
Sat Nov 11 10:54:21 CET 2006


On Friday 10 November 2006 18:49, Foldesi Tamas wrote:
> Hi everybody,

Hi Foldesi,

>         I'm new here, greetings to everybody.
> I built a board for AT91RM9200 based on the DK; the main difference
> is, that I have no paralell flash, only serial. I had my fights with
> this, mainly because of some data aborts tring to cp to the flash, but
> now that is over. Sincs I have 64M ram on the board I'd like to move
> u-boot to 0x23f00000 from 0x21f00000. I did that I think, because I
> altered the code of the dataflashloader, and I set the TEXT_BASE in
> board/at91rm9200dk/config.mk. Still, I receive Data abort while
> running MTEST, because of some spourius data around (0x21eddb..).
> Before moving u-boot, I had the same problem - I had to change the
> mtest range, so it doesn't destroy anything around there. Help me, how
> could anything be under 0x21f00000, when TEXT_BASE is set?

U-boot code and data are above TEXT_BASE but the stack, memory heap and
global variables area is just bellow TEXT_BASE.

from lib_arm/board.c:

gd = (gd_t*)(_armboot_start - CFG_MALLOC_LEN - sizeof(gd_t));
...
mem_malloc_init (_armboot_start - CFG_MALLOC_LEN);

and from cpu/arm920t/start.S:

stack_setup:
        ldr     r0, _TEXT_BASE          /* upper 128 KiB: relocated uboot   */
        sub     r0, r0, #CFG_MALLOC_LEN /* malloc area                      */
        sub     r0, r0, #CFG_GBL_DATA_SIZE /* bdinfo                        */
#ifdef CONFIG_USE_IRQ
        sub     r0, r0, #(CONFIG_STACKSIZE_IRQ+CONFIG_STACKSIZE_FIQ)
#endif
        sub     sp, r0, #12             /* leave 3 words for abort-stack    */

and remember that the stack grows down. I'm not sure if there is a hard lower 
limit, but my guess is no.

> I used MD 
> to display data there, and I got some frangments of the bootup text
> referring to my flash information like "Area 0: ...". What is wrong?
> Thanks
>
> Thomas Foldesi

Rui




More information about the U-Boot mailing list