English
Language : 

AT91SAM9G45PRE Datasheet, PDF (57/1218 Pages) ATMEL Corporation – DDR2 Controller 4-bank DDR2/LPDDR, SDRAM/LPSDR
AT91SAM9G45
11. Boot Strategies
The system always boots at address 0x0. To ensure maximum boot possibilities the memory
layout can be changed with two parameters.
• REMAP allows the user to layout the internal SRAM bank to 0x0 to ease the development.
This is done by software once the system has boot.
• BMS allows the user to layout to 0x0, when convenient, the ROM or an external memory. This
is done by hardware at reset.
Note: All the memory blocks can always be seen at their specified base addresses that are not
concerned by these parameters.
The AT91SAM9G45 manages a boot memory that depends on the level on the BMS pin at
reset. The internal memory area mapped between address 0x0 and 0x000F FFFF is reserved to
this effect.
If BMS is detected at 0, the boot memory is the memory connected on the Chip Select 0 of the
External Bus Interface.
• Boot on on-chip RC
• Boot with the default configuration for the Static Memory Controller, byte select mode, 16-bit
data bus, Read/Write controlled by Chip Select, allows boot on 16-bit non-volatile memory.
For optimization purpose, nothing else is done. To speed up the boot sequence user pro-
grammed software should perform a complete configuration:
• Enable the 32768 Hz oscillator if best accuracy is needed
• Program the PMC (main oscillator enable or bypass mode)
• Program and Start the PLL
• Reprogram the SMC setup, cycle, hold, mode timings registers for EBI CS0 to adapt them to
the new clock
• Switch the system clock to the new value
If BMS is detected at 1, the boot memory is the embedded ROM and the boot program
described below is executed.
11.1
Boot Program
The Boot Program is contained in the embedded ROM. It is also called: “Rom Code” or “First
level bootloader”. At power on, if the BMS pin is detected at 1, the boot memory is the embed-
ded ROM and the Boot Program is executed.
The Boot Program consists of several steps. First, it performs device initialization. Then it
attempts to boot from external non volatile memories (NVM). And finally, if no valid program is
found in NVM, it executes a monitor called SAM-BA® Monitor.
57
6438F–ATARM–21-Jun-10