USBD ROM Stack  2.0
ROM based USB device stack
Macros | Typedefs | Enumerations
error.h File Reference

Error code returned by Boot ROM drivers/library functions.This file contains unified error codes to be used across driver, middleware, applications, hal and demo software. More...

Go to the source code of this file.

Macros

#define offsetof(s, m)   (int) &(((s *) 0)->m)
 
#define COMPILE_TIME_ASSERT(pred)
 

Typedefs

typedef void(* CALLBK_T) (unsigned int res0, unsigned int res1)
 

Enumerations

enum  ErrorCode_t {
  LPC_OK = 0, ERR_FAILED = -1, ERR_TIME_OUT = -2, ERR_BUSY = -3,
  ERR_ISP_BASE = 0x00000000, ERR_ISP_INVALID_COMMAND = ERR_ISP_BASE + 1, ERR_ISP_SRC_ADDR_ERROR, ERR_ISP_DST_ADDR_ERROR,
  ERR_ISP_SRC_ADDR_NOT_MAPPED, ERR_ISP_DST_ADDR_NOT_MAPPED, ERR_ISP_COUNT_ERROR, ERR_ISP_INVALID_SECTOR,
  ERR_ISP_SECTOR_NOT_BLANK, ERR_ISP_SECTOR_NOT_PREPARED_FOR_WRITE_OPERATION, ERR_ISP_COMPARE_ERROR, ERR_ISP_BUSY,
  ERR_ISP_PARAM_ERROR, ERR_ISP_ADDR_ERROR, ERR_ISP_ADDR_NOT_MAPPED, ERR_ISP_CMD_LOCKED,
  ERR_ISP_INVALID_CODE, ERR_ISP_INVALID_BAUD_RATE, ERR_ISP_INVALID_STOP_BIT, ERR_ISP_CODE_READ_PROTECTION_ENABLED,
  ERR_ISP_INVALID_FLASH_UNIT, ERR_ISP_USER_CODE_CHECKSUM, ERR_ISP_SETTING_ACTIVE_PARTITION, ERR_ISP_IRC_NO_POWER,
  ERR_ISP_FLASH_NO_POWER, ERR_ISP_EEPROM_NO_POWER, ERR_ISP_EEPROM_NO_CLOCK, ERR_ISP_FLASH_NO_CLOCK,
  ERR_ISP_REINVOKE_ISP_CONFIG, ERR_ISP_NO_VALID_IMAGE, ERR_ISP_ADDR_NOT_SEQUENTIAL, ERR_API_BASE = 0x00010000,
  ERR_API_INVALID_PARAMS = ERR_API_BASE + 1, ERR_API_INVALID_PARAM1, ERR_API_INVALID_PARAM2, ERR_API_INVALID_PARAM3,
  ERR_API_MOD_INIT, ERR_SPIFI_BASE = 0x00020000, ERR_SPIFI_DEVICE_ERROR = ERR_SPIFI_BASE + 1, ERR_SPIFI_INTERNAL_ERROR,
  ERR_SPIFI_TIMEOUT, ERR_SPIFI_OPERAND_ERROR, ERR_SPIFI_STATUS_PROBLEM, ERR_SPIFI_UNKNOWN_EXT,
  ERR_SPIFI_UNKNOWN_ID, ERR_SPIFI_UNKNOWN_TYPE, ERR_SPIFI_UNKNOWN_MFG, ERR_SPIFI_NO_DEVICE,
  ERR_SPIFI_ERASE_NEEDED, SEC_AES_NO_ERROR = 0, ERR_SEC_AES_BASE = 0x00030000, ERR_SEC_AES_WRONG_CMD = ERR_SEC_AES_BASE + 1,
  ERR_SEC_AES_NOT_SUPPORTED, ERR_SEC_AES_KEY_ALREADY_PROGRAMMED, ERR_SEC_AES_DMA_CHANNEL_CFG, ERR_SEC_AES_DMA_MUX_CFG,
  SEC_AES_DMA_BUSY, SEC_AES_BAD_KEYSIZE, SEC_AES_KEY_NOTVALID, ERR_USBD_BASE = 0x00040000,
  ERR_USBD_INVALID_REQ = ERR_USBD_BASE + 1, ERR_USBD_UNHANDLED, ERR_USBD_STALL, ERR_USBD_SEND_ZLP,
  ERR_USBD_SEND_DATA, ERR_USBD_BAD_DESC, ERR_USBD_BAD_CFG_DESC, ERR_USBD_BAD_INTF_DESC,
  ERR_USBD_BAD_EP_DESC, ERR_USBD_BAD_MEM_BUF, ERR_USBD_TOO_MANY_CLASS_HDLR, ERR_CGU_BASE = 0x00050000,
  ERR_CGU_NOT_IMPL = ERR_CGU_BASE + 1, ERR_CGU_INVALID_PARAM, ERR_CGU_INVALID_SLICE, ERR_CGU_OUTPUT_GEN,
  ERR_CGU_DIV_SRC, ERR_CGU_DIV_VAL, ERR_CGU_SRC, ERR_I2C_BASE = 0x00060000,
  ERR_I2C_BUSY = ERR_I2C_BASE, ERR_I2C_NAK, ERR_I2C_BUFFER_OVERFLOW, ERR_I2C_BYTE_COUNT_ERR,
  ERR_I2C_LOSS_OF_ARBRITRATION, ERR_I2C_SLAVE_NOT_ADDRESSED, ERR_I2C_LOSS_OF_ARBRITRATION_NAK_BIT, ERR_I2C_GENERAL_FAILURE,
  ERR_I2C_REGS_SET_TO_DEFAULT, ERR_I2C_TIMEOUT, ERR_I2C_BUFFER_UNDERFLOW, ERR_I2C_PARAM,
  ERR_OTP_BASE = 0x00070000, ERR_OTP_WR_ENABLE_INVALID = ERR_OTP_BASE + 1, ERR_OTP_SOME_BITS_ALREADY_PROGRAMMED, ERR_OTP_ALL_DATA_OR_MASK_ZERO,
  ERR_OTP_WRITE_ACCESS_LOCKED, ERR_OTP_READ_DATA_MISMATCH, ERR_OTP_USB_ID_ENABLED, ERR_OTP_ETH_MAC_ENABLED,
  ERR_OTP_AES_KEYS_ENABLED, ERR_OTP_ILLEGAL_BANK, ERR_OTP_SHUFFLER_CONFIG_NOT_VALID, ERR_OTP_SHUFFLER_NOT_ENABLED,
  ERR_OTP_SHUFFLER_CAN_ONLY_PROG_SINGLE_KEY, ERR_OTP_ILLEGAL_PROGRAM_DATA, ERR_OTP_READ_ACCESS_LOCKED, ERR_UART_BASE = 0x00080000,
  ERR_UART_RXD_BUSY = ERR_UART_BASE + 1, ERR_UART_TXD_BUSY, ERR_UART_OVERRUN_FRAME_PARITY_NOISE, ERR_UART_UNDERRUN,
  ERR_UART_PARAM, ERR_UART_BAUDRATE, ERR_CAN_BASE = 0x00090000, ERR_CAN_BAD_MEM_BUF = ERR_CAN_BASE + 1,
  ERR_CAN_INIT_FAIL, ERR_CANOPEN_INIT_FAIL, ERR_SPIFI_LITE_BASE = 0x000A0000, ERR_SPIFI_LITE_INVALID_ARGUMENTS = ERR_SPIFI_LITE_BASE + 1,
  ERR_SPIFI_LITE_BUSY, ERR_SPIFI_LITE_MEMORY_MODE_ON, ERR_SPIFI_LITE_MEMORY_MODE_OFF, ERR_SPIFI_LITE_IN_DMA,
  ERR_SPIFI_LITE_NOT_IN_DMA, PENDING_SPIFI_LITE, ERR_CLK_BASE = 0x000B0000, ERR_CLK_NOT_IMPL = ERR_CLK_BASE + 1,
  ERR_CLK_INVALID_PARAM, ERR_CLK_INVALID_SLICE, ERR_CLK_OUTPUT_GEN, ERR_CLK_DIV_SRC,
  ERR_CLK_DIV_VAL, ERR_CLK_SRC, ERR_CLK_PLL_FIN_TOO_SMALL, ERR_CLK_PLL_FIN_TOO_LARGE,
  ERR_CLK_PLL_FOUT_TOO_SMALL, ERR_CLK_PLL_FOUT_TOO_LARGE, ERR_CLK_PLL_NO_SOLUTION, ERR_CLK_PLL_MIN_PCT,
  ERR_CLK_PLL_MAX_PCT, ERR_CLK_OSC_FREQ, ERR_CLK_CFG, ERR_CLK_TIMEOUT,
  ERR_CLK_BASE_OFF, ERR_CLK_OFF_DEADLOCK, ERR_CLK_M_OUT_OF_RANGE, ERR_CLK_N_OUT_OF_RANGE,
  ERR_CLK_P_OUT_OF_RANGE, ERR_PWR_BASE = 0x000C0000, PWR_ERROR_ILLEGAL_MODE = ERR_PWR_BASE + 1, PWR_ERROR_CLOCK_FREQ_TOO_HIGH,
  PWR_ERROR_INVALID_STATE, PWR_ERROR_INVALID_CFG, PWR_ERROR_PVT_OFF_MAX_VOLTAGE, ERR_DMA_BASE = 0x000D0000,
  ERR_DMA_ERROR_INT = ERR_DMA_BASE + 1, ERR_DMA_CHANNEL_NUMBER, ERR_DMA_CHANNEL_DISABLED, ERR_DMA_BUSY,
  ERR_DMA_NOT_ALIGNMENT, ERR_DMA_PING_PONG_EN, ERR_DMA_CHANNEL_VALID_PENDING, ERR_DMA_PARAM,
  ERR_DMA_QUEUE_EMPTY, ERR_DMA_GENERAL, ERR_SPI_BASE = 0x000E0000, ERR_SPI_BUSY = ERR_SPI_BASE,
  ERR_SPI_RXOVERRUN, ERR_SPI_TXUNDERRUN, ERR_SPI_SELNASSERT, ERR_SPI_SELNDEASSERT,
  ERR_SPI_CLKSTALL, ERR_SPI_PARAM, ERR_SPI_INVALID_LENGTH, ERR_ADC_BASE = 0x000F0000,
  ERR_ADC_OVERRUN = ERR_ADC_BASE + 1, ERR_ADC_INVALID_CHANNEL, ERR_ADC_INVALID_SEQUENCE, ERR_ADC_INVALID_SETUP,
  ERR_ADC_PARAM, ERR_ADC_INVALID_LENGTH, ERR_ADC_NO_POWER, ERR_DM_BASE = 0x00100000,
  ERR_DM_NOT_ENTERED = ERR_DM_BASE + 1, ERR_DM_UNKNOWN_CMD, ERR_DM_COMM_FAIL
}
 

Detailed Description

Error code returned by Boot ROM drivers/library functions.

This file contains unified error codes to be used across driver, middleware, applications, hal and demo software.

Macro Definition Documentation

◆ COMPILE_TIME_ASSERT

#define COMPILE_TIME_ASSERT (   pred)
Value:
switch (0) { \
case 0: \
case pred:; }

Enumeration Type Documentation

◆ ErrorCode_t

Error code returned by Boot ROM drivers/library functions

Error codes are a 32-bit value with :

  • The 16 MSB contains the peripheral code number
  • The 16 LSB contains an error code number associated to that peripheral
Enumerator
LPC_OK 

0x00000000 enum value returned on Success

ERR_FAILED 

0xFFFFFFFF enum value returned on general failure

ERR_TIME_OUT 

0xFFFFFFFE enum value returned on general timeout

ERR_BUSY 

0xFFFFFFFD enum value returned when resource is busy

ERR_API_INVALID_PARAMS 

0x00010001 Invalid parameters

ERR_API_INVALID_PARAM1 

0x00010002 PARAM1 is invalid

ERR_API_INVALID_PARAM2 

0x00010003 PARAM2 is invalid

ERR_API_INVALID_PARAM3 

0x00010004 PARAM3 is invalid

ERR_API_MOD_INIT 

0x00010005 API is called before module init

ERR_USBD_INVALID_REQ 

0x00040001 invalid request

ERR_USBD_UNHANDLED 

0x00040002 Callback did not process the event

ERR_USBD_STALL 

0x00040003 Stall the endpoint on which the call back is called

ERR_USBD_SEND_ZLP 

0x00040004 Send ZLP packet on the endpoint on which the call back is called

ERR_USBD_SEND_DATA 

0x00040005 Send data packet on the endpoint on which the call back is called

ERR_USBD_BAD_DESC 

0x00040006 Bad descriptor

ERR_USBD_BAD_CFG_DESC 

0x00040007 Bad config descriptor

ERR_USBD_BAD_INTF_DESC 

0x00040008 Bad interface descriptor

ERR_USBD_BAD_EP_DESC 

0x00040009 Bad endpoint descriptor

ERR_USBD_BAD_MEM_BUF 

0x0004000a Bad alignment of buffer passed.

ERR_USBD_TOO_MANY_CLASS_HDLR 

0x0004000b Too many class handlers.