[U-Boot] [PATCH] arm: add IPL support
Kuo-Jung Su
dantesu at gmail.com
Wed Dec 11 03:43:11 CET 2013
2013/12/10 Tom Rini <trini at ti.com>:
> On Mon, Dec 09, 2013 at 04:07:29PM +0800, Kuo-Jung Su wrote:
>> 2013/12/6 Tom Rini <trini at 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 at gmail.com>
>> >> Cc: Albert Aribaud <albert.u.boot at 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=sharing
>> $ tar xf u-boot-a369-ipl.tar.bz2
>> $ cd u-boot-a369-ipl
>> $ make
>
> What I'm asking for, is can you upstream the a369evb board? In the
> README in board/... you should just document how to use it via QEMU.
> Thanks!
>
Got it, thanks.
I will make it a part of Faraday A36x patch series, and resend it later.
--
Best wishes,
Kuo-Jung Su
More information about the U-Boot
mailing list