Status return codes. Common error codes will be a unified enumeration (C enum) that will contain all error codes (common and specific). There will be separate "error values spaces" (or slots), each of 256 positions, allocated per functionality.
Enumerator |
---|
STATUS_SUCCESS |
Generic operation success status
|
STATUS_ERROR |
Generic operation failure status
|
STATUS_BUSY |
Generic operation busy status
|
STATUS_TIMEOUT |
Generic operation timeout status
|
STATUS_UNSUPPORTED |
Generic operation unsupported status
|
STATUS_MCU_GATED_OFF |
Module is gated off
|
STATUS_MCU_TRANSITION_FAILED |
Error occurs during transition.
|
STATUS_MCU_INVALID_STATE |
Unsupported in current state.
|
STATUS_MCU_NOTIFY_BEFORE_ERROR |
Error occurs during send "BEFORE" notification.
|
STATUS_MCU_NOTIFY_AFTER_ERROR |
Error occurs during send "AFTER" notification.
|
STATUS_I2C_RECEIVED_NACK |
NACK signal received
|
STATUS_I2C_TX_UNDERRUN |
TX underrun error
|
STATUS_I2C_RX_OVERRUN |
RX overrun error
|
STATUS_I2C_ARBITRATION_LOST |
Arbitration lost
|
STATUS_I2C_ABORTED |
A transfer was aborted
|
STATUS_I2C_BUS_BUSY |
I2C bus is busy, cannot start transfer
|
STATUS_CAN_BUFF_OUT_OF_RANGE |
The specified MB index is out of the configurable range
|
STATUS_CAN_NO_TRANSFER_IN_PROGRESS |
There is no transmission or reception in progress
|
STATUS_SEC_SEQUENCE_ERROR |
The sequence of commands or subcommands is out of sequence
|
STATUS_SEC_KEY_NOT_AVAILABLE |
A key is locked due to failed boot measurement or an active debugger
|
STATUS_SEC_KEY_INVALID |
A function is called to perform an operation with a key that is not allowed for the given operation
|
STATUS_SEC_KEY_EMPTY |
Attempt to use a key that has not been initialized yet
|
STATUS_SEC_NO_SECURE_BOOT |
The conditions for a secure boot process are not met
|
STATUS_SEC_KEY_WRITE_PROTECTED |
Request for updating a write protected key slot, or activating debugger with write protected key(s)
|
STATUS_SEC_KEY_UPDATE_ERROR |
Key update did not succeed due to errors in verification of the messages
|
STATUS_SEC_RNG_SEED |
Returned by CMD_RND and CMD_DEBUG if the seed has not been initialized before
|
STATUS_SEC_NO_DEBUGGING |
DEBUG command authentication failed
|
STATUS_SEC_MEMORY_FAILURE |
General memory technology failure (multibit ECC error, common fault detected)
|
STATUS_SEC_HSM_INTERNAL_MEMORY_ERROR |
An internal memory error encountered while executing the command
|
STATUS_SEC_INVALID_COMMAND |
Command value out of range
|
STATUS_SEC_TRNG_ERROR |
One or more statistical tests run on the TRNG output failed
|
STATUS_SEC_HSM_FLASH_BLOCK_ERROR |
Error reading, programming or erasing one of the HSM flash blocks
|
STATUS_SEC_INTERNAL_CMD_ERROR |
An internal command processor error while executing a command
|
STATUS_SEC_MAC_LENGTH_ERROR |
MAC/Message length out of range
|
STATUS_SEC_INVALID_ARG |
Invalid command argument
|
STATUS_SEC_TRNG_CLOCK_ERROR |
TRNG not provided with a stable clock
|
STATUS_SPI_TX_UNDERRUN |
TX underrun error
|
STATUS_SPI_RX_OVERRUN |
RX overrun error
|
STATUS_SPI_ABORTED |
A transfer was aborted
|
STATUS_UART_TX_UNDERRUN |
TX underrun error
|
STATUS_UART_RX_OVERRUN |
RX overrun error
|
STATUS_UART_ABORTED |
A transfer was aborted
|
STATUS_UART_FRAMING_ERROR |
Framing error
|
STATUS_UART_PARITY_ERROR |
Parity error
|
STATUS_UART_NOISE_ERROR |
Noise error
|
STATUS_I2S_TX_UNDERRUN |
TX underrun error
|
STATUS_I2S_RX_OVERRUN |
RX overrun error
|
STATUS_I2S_ABORTED |
A transfer was aborted
|
SBC_NVN_ERROR |
Unsuccessful attempt writing to non volatile memory (0x73 and 0x74). Set device to factory settings.
|
SBC_COMM_ERROR |
Data transfer was aborted
|
SBC_CMD_ERROR |
Wrong command.
|
SBC_ERR_NA |
Feature/device not available
|
SBC_MTPNV_LOCKED |
Unable to write MTPNV cells, NVMPS = 0
|
STATUS_FLASH_ERROR_ENABLE |
It's impossible to enable an operation
|
STATUS_FLASH_ERROR_NO_BLOCK |
No blocks have been enabled for Array Integrity check
|
STATUS_FLASH_INPROGRESS |
InProgress status
|
STATUS_SAI_ABORTED |
SAI aborted status
|
STATUS_ENET_RX_QUEUE_EMPTY |
There is no available frame in the receive queue
|
STATUS_ENET_TX_QUEUE_FULL |
There is no available space for the frame in the transmit queue
|
STATUS_ENET_BUFF_NOT_FOUND |
The specified buffer was not found in the queue
|
STATUS_FCCU_ERROR_CONFIG_TIMEOUT |
FCCU triggers TimeOut when try to enter in Config State
|
STATUS_FCCU_ERROR_INIT_FCCU |
FCCU Initializing FCCU Module
|
STATUS_FCCU_ERROR_SET_CONFIG |
FCCU Fail to Enter in Config Mode
|
STATUS_FCCU_ERROR_SET_NORMAL |
FCCU Fail to Enter in Normal Mode
|
STATUS_FCCU_ERROR_APPLY_NCF_CONFIG |
FCCU Fail to set NoCritical Faults
|
STATUS_FCCU_ERROR_UPDATE_FREEZE |
FCCU Fail to update Freez Status registers
|
STATUS_FCCU_ERROR_CLEAR_FREEZE |
FCCU Fail to Clear Freez Status registers
|
STATUS_FCCU_ERROR_SET_EOUT |
FCCU Fail to Set Eout Configuration
|
STATUS_FCCU_ERROR_FAULT_DETECTED |
FCCU Faults Detected
|
STATUS_FCCU_ERROR_OTHER |
FCCU other Error
|
STATUS_EMIOS_WRONG_MODE |
EMIOS unsuccessful attempt selecting wrong mode.
|
STATUS_EMIOS_CNT_BUS_OVERFLOW |
EMIOS counter bus overflow.
|
STATUS_EMIOS_WRONG_CNT_BUS |
EMIOS unsuccessful attempt selecting wrong counter bus.
|
STATUS_EMIOS_ENABLE_GLOBAL_FRZ |
EMIOS must set global allow enter debug mode first.
|
STATUS_EEE_ERROR_NO_ENOUGH_SPACE |
The data is too big to fit in any of the block
|
STATUS_EEE_ERROR_NO_ENOUGH_BLOCK |
The block numbers is not enough for round robin
|
STATUS_EEE_ERROR_DATA_NOT_FOUND |
The required data is not found in the EEPROM emulation
|
STATUS_EEE_ERROR_NOT_IN_CACHE |
The required data is not in the cache table
|
STATUS_EEE_ERROR_PROGRAM_INDICATOR |
Failed to make block indicator to non-blank for several times
|
STATUS_EEE_HVOP_INPROGRESS |
The high voltage operation is in progress
|
STATUS_USDHC_OUT_OF_RANGE |
The size of data to be sent is larger than maximum size of ADMA table
|
STATUS_USDHC_PREPARE_ADMA_FAILED |
Failed to prepare the ADMA table
|
STATUS_TDM_DIARY_FULL |
No empty flash left in diary region
|
STATUS_PHY_ACCESS_FAILED |
Could not access PHY registers
|
STATUS_PHY_INCOMPATIBLE_DEVICE |
The selected PHY driver is not compatible with the device
|