Datasheet

SAM9261 [DATASHEET]
Atmel-6062O-ATARM-SAM9261-Datasheet_21-Jun-16
76
12. Boot Program
12.1 Description
The boot program integrates different programs that manage download and/or upload into the different memories
of the product.
First, it initializes the Debug Unit serial port (DBGU) and the USB High Speed Device Port.
The boot program tries to detect SPI flash memories. The Serial Flash boot program and DataFlash boot program
are executed. It looks for a sequence of seven valid ARM exception vectors in a Serial Flash or DataFlash
connected to the SPI. All these vectors must be B-branch or LDR load register instructions except for the sixth
vector. This vector is used to store the size of the image to download.
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.
If no valid ARM vector sequence is found, NAND Flash boot program is then executed. The NAND Flash boot
program looks for a sequence of seven valid ARM exception vectors. If such a 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.
Then the SD Card boot program is executed. It looks for a boot.bin file in the root directory of a FAT12/16/32
formatted SD Card on Slot A. If such a file 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.
If the SD Card is not formatted or if boot.bin file is not found, TWI boot program is then executed. The TWI boot
program searches for a valid application in a EEPROM memory. If such a file 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.
If no valid ARM vector sequence is found, SAM-BA Boot is then executed. It waits for transactions either on the
USB device, or on the DBGU serial port.