[U-Boot] U-Boot bootstrap solution on the ML507 board.

Benny Chen benny.chen at groundprobe.com
Tue Nov 11 00:00:50 CET 2008


Hi Guys,

 

I have been chasing my tail on this one.  But I just want to make sure
others don't have to go through this process.

 

Below is a solution that works for me.

 

1. When using the ml507_flash design you need to map your onboard NOR
FLASH at 0xFE000000 to 0xFFFFFFFF.  More precisely you need to have the
end of your FLASH memory butting up against 0xFFFFFFFF.  This is because
the initial boot code needs to reside in the last 4K of memory from
address 0xFFFFFFFC.

 

2. Because of point 1, you cannot have your EDK application program
(E.g. bootloop or your custom bootloader program) running when U-Boot is
installed and boot from FLASH.  This is because the EDK application
program also needs to install its boot.o boot code in the same address
space.  There are ways at which you can do this but you will need to do
a bit of linking magic and break up your application into separate
memory address range making sure they will work for both your
application and u-boot.

 

3. Personally, I find the easiest way to have both your EDK application
program and U-Boot cohabit on your embedded system is to:

 a) Have a BRAM block butting up to 0xffffffff

 b) Install your EDK application code in the BRAM 

 c) Build a RAM based U-Boot image

 b) Install your U-Boot image in FLASH

 e) Use your EDK application to load the U-Boot image from FLASH to RAM

 f) Branch to it to boot strap your U-Boot kernel.

 

There should be plenty of other alternatives to do this.

 

Cheers,

Benny



More information about the U-Boot mailing list