1.1 Boot Sequence
Out of factory, the boot sequence is an ordered list of embedded memory controllers from which the ROM code tries to boot.
For SAM9X60 devices, this boot sequence is:
- SDMMC0 IOSET1
- SDMMC1 IOSET1
- QSPI0 IOSET1
- SPI0 IOSET1
- NAND0 IOSET1
The user can configure a specific boot sequence tailored for the system by writing a Boot Configuration Packet in the One Time Programmable (OTP) memory. Refer to the SAM9X60 data sheet, section “Boot Configuration” for details.
If no bootable user application is found, for instance during the first boot in factory when the user application has not been written yet into the external NVM, the ROM code then executes its SAM Boot Assistant (SAM-BA) monitor, which in turn waits for a connection from the SAM-BA tool. Refer to ROM Code Process Flow.