[U-Boot-Users] Re: Installing U-Boot on target via USB/serial using U-Boot commands

Mathieu Deschamps mathieu.deschamps at com2gether.net
Tue Sep 27 10:25:53 CEST 2005


You are using a AT91RM9200 board ? so why not using a Uboot 
process directly ?

Provided actually your u-boot is running and via a COM-port DB9 
cross wiried cable linking target's DBGU to host's COM you can
upload your new uboot with tftp service since Uboot has a tftpboot
command (ftp client). 

All you need to do then is to transfer from mem to your flash, and the trick 
is done.

If actually u-boot isn't working because you squeeze with an unworkeable 
version or because your flash never seen a single bit of a Uboot code, you
need the romboot functionnality burned in the cpu internals. Then you
would need the loader functionnality. 

Because romboot is hosted into cpu SRAM (16kB) you can't load uboot direclty
from roomboot (60 to 100 and more KB). But you need it, as it was already 
mentionned, to set your board S(D)RAM, your flash, and the PLLs. Then on you 
could use theses essentials componants.

Globally this is :
Romboot loads via Xmodem a Loader that loads via Xmodem your Uboot workeable? 

Hope it helps.

Mathieu Deschamps
Com2gether Design Center Engineering

On Monday 26 September 2005 19:21, Andrey P. Vasilyev wrote:
> On Mon, Sep 26, 2005 at 09:24:39AM -0400, Jerry Van Baren wrote:
> > It looks like this is a very simple loader.  It writes to SRAM _only_
> > and then jumps to that program (JTAG loaders typically allow you to
> > write to flash, manipulate registers, and jump anywhere, single step,
> > etc.).  Theoretically you could load u-boot this way, but nobody has
> > volunteered that they have done it so you would likely be blazing a new
> > path.
> No, it is an ordinary (and supported by Atmel) way to bootstrap an
> AT91RM9200 boards having only a simple COM-port cable :)
> > My advice would be to write a simple "burn flash" routine (it can be
> > done in a couple dozen lines of assembly - don't get elaborate) ORGed at
> > the start of SRAM and prepend it to the u-boot image.  Your USB loader
> Atmel have such a simple utility called RomBoot. It acts as a simple
> first-stage bootloader, and allows to set up SDRAM and PLLs,
> load U-Boot from DataFlash or (by X-Modem) from DBGU UART and passing
> control to it.
> > (I'm guessing the target side looks like a simple usb-UART) would load
> > the burner utility and the u-boot image as a single lump and jump to the
> > burner utility.  The burner utility would program the u-boot image from
> > SRAM into flash.  Reset the board and you are off & running.
> >
> > If your first attempt doesn't work, you are in the "burn & learn" cycle.
> >  This can be successful if your image is close to working and you have
> > a fair amount of experience, or it can be an infinite time suck.  If the
> > latter is the case, a JTAG debugger is invaluable.
> I'm using a simple jumper on the board for turning DataFlash chip into
> reset state while booting. This allows to boot from DBGU serial port
> when DataFlash contains a valid but non-working image.

More information about the U-Boot mailing list