On Wednesday, February 14, 2007 11:12 PM Lorenz Kolb
> > I use the same scheme (called 3-stage boot) but I don't see what is
dirty
> > about it. For testing/debugging you even can load u-boot directly
into
> > memory using XMD. Of course, image must be compiled to run from
memory, 
> > not flash.

> actually I call it dirty as SREC is a quite stupid format (for a 
> bootloader,
> as it has to be decoded first) and so the loader wastes a lot of time
at
> least for productive use we do not want this three stage boot.
[Leonid] When I use "3-stage boot" name I actually don't mean that SREC
format used in production. This is too slow indeed. Here how it works
for me:
- u-boot is ALWAYS compiled to run directly from RAM. You can place it
on flash using JTAG or u-boot itself on later stage (see below).
Compilation results include binary (for flash burning), ELF and SREC
files.
- Early boot (tiny BRAM based program) wakes up, checks whether u-boot
presents on the flash (can be different criteria) or wait for some input
or read some config to know where pick up u-boot from. If it's on the
flash already, early boot copies u-boot to RAM and launches it,
otherwise waits for SREC file to be sent via serial interface, copies it
into RAM and starts.
- u-boot does the rest of job (linux boot, etc...). On this stage you
can use u-boot to program u-boot image (compiled to run from RAM) onto
the flash for next reboot.

This scheme works perfectly for ARM, Xilinx and actually is a good
choice for any architecture where CPU itself fetches boot code from boot
location into memory (ARM) or code can reside in RAM from the very
beginning (FPGA with soft/hard CPU cores). In traditional approach (with
relocation) u-boot kind of contains both functionalities which probably
best choice for traditional PPC boards.  

> Actually my partner and I even fitted an u-boot directly into BRAM (if
it > is loaded via XMD), 
[Leonid] I also use XMD but load u-boot ELF directly to RAM. Early boot
is not used in this setup and this is quickest and most convenient way
for debug.

Best Regards,

Leonid.

_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Reply via email to