22.214.171.124. RSU Image Layout in Flash – SDM Perspective
In the RSU case, decision firmware replaces the standard firmware. The decision firmware copies have pointers to the following structures in flash:
- Decision firmware data
- One factory image
- Two configuration pointer blocks (CPBs)
The decision firmware data stores basic settings, including the following:
- The clock and pins that connect to quad SPI flash memory
- The Direct to Factory Image pin that forces the SDM to load the factory image
Note: You can set this pin on the following menu in the factory image project: Assignments > Device > Device and Pin Options > Configuration > Configuration Pin Options
- The max_retry parameter value.
The pointer blocks contain a list of application images to try until one of them is successful. If none is successful, the SDM loads the factory image. To ensure reliability, the pointer block includes a main (CPB0) and backup copy (CPB1). The decision firmware first uses the CPB0 pointer block. If SDM detects content corruption, then it uses CPB1 backup copy. You may execute the RSU_STATUS command to identify the CPB0 corruption; in the case of CPB0 corruption, the minor error code of RSU_STATUS displays 0xD010. To recover the CPB0 corruption, you may erase the CPB0 and copy the content from CPB1.
Both the factory image and the application images start with firmware. First, the decision firmware loads the firmware. Then, that firmware loads the rest of the image. These implementation details are not shown in the figure above.