
2013/12/6 Tom Rini trini@ti.com:
On Wed, Dec 04, 2013 at 11:50:48AM +0800, Kuo-Jung Su wrote:
Initial Program Loader (IPL) usually runs with .text and .rodata in ROM, while .data and .bss reside in RAM.
This patch uses the AT keyword to specify load address, and a small code snippet in crt0.S to restore .data section at runtime.
Example usage: Assume the target device has a 4KB ROM at 0x00000000 and a 4KB SRAM at 0xA0000000, the IPL/SPL config could be:
#define CONFIG_SPL_MAX_SIZE 0x1000 /* text + data, no bss */ #define CONFIG_SPL_TEXT_BASE 0x00000000 #define CONFIG_SPL_DATA_BASE 0xA0000000 #define CONFIG_SPL_STACK 0xA0001000
Signed-off-by: Kuo-Jung Su dantesu@gmail.com Cc: Albert Aribaud albert.u.boot@aribaud.net
Can you provide an example user of this functionality? Thanks.
-- Tom
If you're looking for a real device, unfortunately there is no such device right now, it's a shiny new design which just came out last week.
If you're looking for a way for verification:
1. A real device with a NOR flash for ROM emulation. (e.g., Faraday A369 EVB)
2. A virtual device emulator. (e.g., Qemu)
This is the best option for you, the Qemu model for Faraday A369 is available at my github account. Please use the command bellow to grab the source tree if necessary.
$ git clone -b qemu-1.5.1 https://github.com/dantesu1218/qemu.git $ cd qemu $ ./configure --target-list=arm-softmmu $ make
The example IPL code for the up-coming Faraday A369 U-boot is also available:
$ git clone -b u-boot-2014.01 https://github.com/dantesu1218/u-boot.git $ cd u-boot $ make a369evb_ipl_config $ make
You could also directly grab the pre-built binaries for quick verification.
$ wget https://drive.google.com/file/d/0BwfiewvSmUgAMlBnUkZQb3FMVkE/edit?usp=sharin... $ tar xf u-boot-a369-ipl.tar.bz2 $ cd u-boot-a369-ipl $ make