
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