SPRUIW9C October 2021 – March 2024 TMS320F280033 , TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1
The SPI loader expects an SPI-compatible 16-bit or 24-bit addressable serial EEPROM or serial Flash device to be present on the SPI-A pins as shown in Figure 4-6. The SPI bootloader supports an 8-bit data stream and does not support a 16-bit data stream.
The SPI boot ROM loader initializes the SPI module to interface to a serial SPI EEPROM or Flash. Devices of this type include, but are not limited to, the Xicor X25320 (4Kx8) and Xicor X25256 (32Kx8) SPI serial SPI EEPROMs and the Atmel AT25F1024A serial Flash.
The SPI boot ROM loader initializes the SPI with the following settings: FIFO enabled, 8-bit character, internal SPICLK master mode and talk mode, clock phase = 1, polarity = 0, using the slowest baud rate.
If the download is to be performed from an SPI port on another device, then that device must be set up to operate in the slave mode and mimic a serial SPI EEPROM. Immediately after entering the SPI_Boot function, the pin functions for the SPI pins are set to primary and the SPI is initialized. The initialization is done at the slowest speed possible. Once the SPI is initialized and the key value read, you can specify a change in baud rate or low-speed peripheral clock. Table 4-33 shows the 8-bit data stream used by the SPI.
Byte | Contents |
---|---|
1 | LSB: AA (KeyValue for memory width = 8-bits) |
2 | MSB: 08h (KeyValue for memory width = 8-bits) |
3 | LSB: LOSPCP |
4 | MSB: SPIBRR |
5 | LSB: reserved for future use |
6 | MSB: reserved for future use |
... | Reserved |
17 | LSB: reserved for future use |
18 | MSB: reserved for future use |
19 | LSB: Upper half (MSW) of Entry point PC[23:16] |
20 | MSB: Upper half (MSW) of Entry point PC[31:24] (Note: Always 0x00) |
21 | LSB: Lower half (LSW) of Entry point PC[7:0] |
22 | MSB: Lower half (LSW) of Entry point PC[15:8] |
... ... ... |
.... Data for this section. ... |
... | Blocks of data in the format size/destination address/data as shown in the generic data stream description |
... ... |
... Data for this section. |
n | LSB: 00h |
n+1 | MSB: 00h - indicates the end of the source |
The data transfer is done in "burst" mode from the serial SPI EEPROM. The transfer is carried out entirely in byte mode (SPI at 8 bits/character). A step-by-step description of the sequence is: