[U-Boot-Users] AT91 u-boot lowlevel init Dataflash

Marco Cavallini arm.linux at koansoftware.com
Tue Jun 6 11:42:24 CEST 2006

Andreas Schweigstill ha scritto:
> BTW I wonder if could be useful (and appreciated) if I should merge 
> RomBoot settings into u-boot allowing u-boot to be the one and only 
> loader for Dataflash too.

Thanks to Andreas who clarified this procedure:

 > I can't and I don't want to store anything into internal SRAM.
 > I simply want to use Dataflash AT45xxx instead of Parallel AT49xxx

 > Nope, that doesn't work. Read the AT91RM9200 manual. The internal
 > SRAM is the only memory which is always available to the ROM
 > boot code. When a Dataflash is your only external ROM/Flash it's
 > first sectors are copied to the SRAM. It isn't possible to
 > execute directly from Dataflash.

Reading AT91RM9200 datasheet
7. Boot Program
7.1 Overview
The Boot Program is capable of downloading an application in an 
AT91RM9200-based system.
It integrates a Bootloader and a boot Uploader to assure correct 
information download.
The Bootloader is activated first. It looks for a sequence of eight 
valid ARM exception vectors in
a DataFlash connected to the SPI, an EEPROM connected to the Two-wire 
Interface (TWI) or
an 8-bit memory device connected to the external bus interface (EBI). 
All these vectors must be
Bbranch or LDR load register instructions except for the sixth 
instruction. This vector is used to
store information, such as the size of the image to download and the 
type of DataFlash device.

If a valid sequence is found, code is downloaded into the internal SRAM. 
This is followed by a remap and a jump to the first address of the SRAM.

This  boot program is executed ONLY if NRST signal is disconnected 
(Remove R159 on AT91RM9200-DK board)so RomBoot will be necessary if you 
have only a DataFlash.

Marco Cavallini
Koan s.a.s. - Bergamo - ITALIA
Embedded and Real-Time Software Engineering
www.KoanSoftware.com   |    www.KaeilOS.com

More information about the U-Boot mailing list