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.
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.