[U-Boot-Users] Memory layout on PXA
chaos at in.fer.no
Wed Feb 12 19:40:27 CET 2003
I am porting u-boot to a custom PXA255 board.
Just a quick check, to see if I understand the code correctly:
1) u-boot is copied from flash into memory at TEXT_BASE
(typ. 0xA3000000 on PXA).
2) The stack is below the u-boot code. From cpu/xscale/start.S,
it looks like the stack is at TEXT_BASE - CFG_MALLOC_LEN - 12. I
think the stack grows toward lower addresses on arm, is this
3) Memory for malloc() is supposed to be after the u-boot
code (including initialized and initialized data) at address
armboot_real_end. If I understand the code correct, it points
0xbadc0de. Some time, it has been set to armboot_end +
CONFIG_STACKSIZE in cpu/xscale/cpu.c, but the code for doing
so have been commented out (both in 0.2.0 and in CVS). There
is room for putting the heap between the stack and the u-boot
Sooo, if I understand this correct, this is a mess. How
should it be done ? Are there any good reasons for a particular
memory layout on PXA ?
BTW: Does u-boot run "out of the box" on any PXA hardware, I
don't understand how it could unless the hardware have RAM at
More information about the U-Boot