Datasheet
63
SAM9G45 [DATASHEET]
Atmel-6438O-ATARM-SAM9G45-Datasheet_08-Dec-15
Figure 10-3. Remap Action after Download Completion
The NVM bootloader program initializes the NVM. It initializes the required PIO. It sets the right peripheral
depending on the NVM and tries to access the memory. If the initialization fails, it restores the reset values for the
PIO and peripherals and then the next NVM bootloader program is executed.
If the initialization is successful, the NVM bootloader program reads the beginning of the NVM and determines if
the NVM contains valid code.
If the NVM does not contain valid code, the NVM bootloader program restores the reset value for the peripherals
and then the next NVM bootloader program is executed.
If valid code is found, this code is loaded from NVM into internal SRAM and executed by branching at address
0x0000_0000 after remap. This code may be the application code or a second-level bootloader. All the calls to
functions are PC relative and do not use absolute addresses.
REMAP
Internal
ROM
Internal
SRA M
0x0030_0000
0x0000_0000
Internal
RO M
0x0040_0000
Internal
SRAM
Internal
SRA M
0x0030_0000
0x0000_0000
Internal
RO M
0x0040_0000