12.1.4.9 SPI Flash Boot

Two types of SPI Flash are supported: SPI Serial Flash and SPI DataFlash.

The ROM code tries to boot on SPI, first looking for SPI Serial Flash, and then for SPI DataFlash.

It uses the analysis of Arm exception vectors to detect a valid bootstrap code.

The SPI Flash read is done by means of a “Continuous Read” command from address 0x0. This command is 0xE8 for DataFlash devices and 0x0B for Serial Flash devices.

Supported DataFlash Devices

The ROM code supports the DataFlash devices listed in the following table.

Table 12-2. DataFlash Devices
Device Density Page Size (bytes) Number of Pages
AT45DB011 1 Mbit 264 512
AT45DB021 2 Mbits 264 1024
AT45DB041 4 Mbits 264 2048
AT45DB081 8 Mbits 264 4096
AT45DB161 16 Mbits 528 4096
AT45DB321 32 Mbits 528 8192
AT45DB642 64 Mbits 1056 8192
AT45DB641 64 Mbits 264 37768

Supported Serial Flash Devices

The ROM code supports all SPI Serial Flash devices responding correctly to both “Get Status” and “Continuous Read” standard commands.