SPRUJ79 November 2024 F29H850TU , F29H859TU-Q1
The Safety and Security Unit can generate faults to two different interfaces: the C29x CPU interface, and the Error Aggregator interface that forwards error signals to the Error Signaling Module (ESM). In general, errors that occur as a result of an unauthorized CPU access to a protected memory region generate a fault signal to the CPU, while other types of errors generate a fault signal to the Error Aggregator. The following tables describe the various faults that are generated by the SSU to the CPU and Error Aggregator interfaces. Because the SSU interfaces between the CPU and Flash Controllers for performing program and erase operations, the SSU also reports errors generated by the Flash Controllers to the Error Aggregator. These errors are described in Table 10-11 and Table 10-12.
| Security Fault | Error Type | Bus | Error Description |
|---|---|---|---|
| CPUx_PR_HIGHPRIO_ ERROR |
0x01 | Program Bus | This error is generated when a program read occurs, and the
address is not covered by a hardcoded protection or a currently
active RAMOPEN region, and one of the following is true:
|
| CPUx_DR1_HIGHPRIO_ ERROR |
0x01 | Data Read Bus 1 | This error is generated when a CPU data read occurs on DRB1, and zero or more than one AP region responds with valid read access permissions for the instruction's LINK. |
| CPUx_DR2_HIGHPRIO_ ERROR |
0x01 | Data Read Bus 2 | This error is generated when a CPU data read occurs on DRB2, and zero or more than one AP region responds with valid read access permissions for the instruction's LINK. |
| CPUx_DW_HIGHPRIOR_ ERROR |
0x01 | Data Write Bus | This error is generated when a CPU data write occurs, and zero or more than one AP region responds with valid write access permissions for the instruction's LINK. |
| Error Signal | Description | Error Address | Priority |
|---|---|---|---|
| SSU_ERROR_TYPE[0] | HSM SSU Register Access Error | SSU register address | High |
| SSU_ERROR_TYPE[1] | CPU1 SSU Register Access Error | SSU register address | High |
| SSU_ERROR_TYPE[2] | CPU2 SSU Register Access Error | SSU register address | High |
| SSU_ERROR_TYPE[3] | CPU3 SSU Register Access Error | SSU register address | High |
| SSU_ERROR_TYPE[4] | CPU4 SSU Register Access Error | SSU register address | High |
| SSU_ERROR_TYPE[6:5] | Reserved | - | - |
| SSU_ERROR_TYPE[7] | Invalid BANKMAP, SECVALID, BANKMODE or SSUMODE | N/A | High |
| SSU_ERROR_TYPE[8] | Error on Flash Controller 1 | See Table 10-12 | High |
| SSU_ERROR_TYPE[11:9] | FLC1 Error Type | High | |
| SSU_ERROR_TYPE[12] | FLC1 Register Access Error | FLC1 register address | High |
| SSU_ERROR_TYPE[13] | Error on Flash Controller 2 | See Table 10-12 | High |
| SSU_ERROR_TYPE[16:14] | FLC2 Error Type | High | |
| SSU_ERROR_TYPE[17] | FLC2 Register Access Error | FLC2 register address | High |
| Error Code | Error Name | Description | Error Address |
|---|---|---|---|
| 0x0 | ILLADDR | Controller reported an out of range/illegal Flash address, or a security violation. | Flash address |
| 0x1 | ILLPROG | An error occurred while trying to execute a programming command. | |
| 0x2 | ILLERASE | An error occurred while trying to execute an erase command. | |
| 0x3 | ILLRDVER | The Flash Controller failed to completely program or erase all target bits in the Flash within the maximum number of pulses. | |
| 0x4 | ILLMODECH | An attempt was made to execute a program or erase command while the Flash was not in READ mode. The erase/program command was aborted. | |
| 0x5 | ILLCMD | An illegal command was issued to the Flash Controller. | Command type |
| 0x6 | ILLSIZE | An illegal size value was provided for the Flash Controller command. | Command size |
| 0x7 | ILLBANKERASE | An error occurred while trying to execute a bank erase command. | Flash address |