lpc: More verbosity and more definitions
This commit is contained in:
parent
6454d0bc96
commit
21a702dc1e
|
@ -33,6 +33,42 @@ struct flash_param {
|
|||
uint32_t result[4];
|
||||
} __attribute__((aligned(4)));
|
||||
|
||||
char *iap_error[] = {
|
||||
"CMD_SUCCESS",
|
||||
"Invalid command",
|
||||
"Unaligned src address",
|
||||
"Dst address not on boundary",
|
||||
"Src not mapped",
|
||||
"Dst not mapped",
|
||||
"Invalid byte count",
|
||||
"Invalid sector",
|
||||
"Sector not blank",
|
||||
"Sector not prepared",
|
||||
"Compare error",
|
||||
"Flash interface busy",
|
||||
"Invalid or missing parameter",
|
||||
"Address not on boundary",
|
||||
"Address not mapped",
|
||||
"Checksum error",
|
||||
"16",
|
||||
"17",
|
||||
"18",
|
||||
"19",
|
||||
"20",
|
||||
"21",
|
||||
"22",
|
||||
"FRO not powered",
|
||||
"Flash not powered",
|
||||
"25",
|
||||
"26",
|
||||
"Flash clock disabled",
|
||||
"Reinvoke error",
|
||||
"Invalid image",
|
||||
"30",
|
||||
"31",
|
||||
"Flash erase failed",
|
||||
"Page is invalid",
|
||||
};
|
||||
|
||||
struct lpc_flash *lpc_add_flash(target *t, target_addr addr, size_t length)
|
||||
{
|
||||
|
@ -109,11 +145,17 @@ enum iap_status lpc_iap_call(struct lpc_flash *f, void *result, enum iap_cmd cmd
|
|||
if (result != NULL)
|
||||
memcpy(result, param.result, sizeof(param.result));
|
||||
|
||||
#if defined(ENABLE_DEBUG)
|
||||
if (param.status != IAP_STATUS_CMD_SUCCESS) {
|
||||
DEBUG_WARN("IAP failure code %d for cmd %d\n",
|
||||
(enum iap_status)param.status, cmd);
|
||||
if (param.status > (sizeof(iap_error) / sizeof(char*)))
|
||||
DEBUG_WARN("IAP cmd %d : %d\n", cmd, param.status);
|
||||
else
|
||||
DEBUG_WARN("IAP cmd %d : %s\n", cmd, iap_error[param.status]);
|
||||
DEBUG_WARN("return parameters: %08" PRIx32 " %08" PRIx32 " %08" PRIx32
|
||||
" %08" PRIx32 "\n", param.result[0],
|
||||
param.result[1], param.result[2], param.result[3]);
|
||||
}
|
||||
|
||||
#endif
|
||||
return param.status;
|
||||
}
|
||||
|
||||
|
|
|
@ -21,14 +21,23 @@
|
|||
#define __LPC_COMMON_H
|
||||
|
||||
enum iap_cmd {
|
||||
IAP_CMD_READ_FACTORY_SETTINGS = 40,
|
||||
IAP_CMD_INIT = 49,
|
||||
IAP_CMD_PREPARE = 50,
|
||||
IAP_CMD_PROGRAM = 51,
|
||||
IAP_CMD_ERASE = 52,
|
||||
IAP_CMD_BLANKCHECK = 53,
|
||||
IAP_CMD_PARTID = 54,
|
||||
IAP_CMD_READ_BOOTROM_VERSION = 55,
|
||||
IAP_CMD_COMPARE = 56,
|
||||
IAP_CMD_REINVOKE_ISP = 57,
|
||||
IAP_CMD_READUID = 58,
|
||||
IAP_CMD_ERASE_PAGE = 59,
|
||||
IAP_CMD_SET_ACTIVE_BANK = 60,
|
||||
IAP_CMD_READ_SIGNATURE = 70,
|
||||
IAP_CMD_EXTENDED_READ_SIGNATURE = 73,
|
||||
IAP_CMD_READ_EEPROM_PAGE = 80,
|
||||
IAP_CMD_WRITE_EEPROM_PAGE = 81,
|
||||
};
|
||||
|
||||
enum iap_status {
|
||||
|
@ -44,6 +53,16 @@ enum iap_status {
|
|||
IAP_STATUS_SECTOR_NOT_PREPARED = 9,
|
||||
IAP_STATUS_COMPARE_ERROR = 10,
|
||||
IAP_STATUS_BUSY = 11,
|
||||
IAP_STATUS_MISSING_PARAMETERS = 12,
|
||||
IAP_STATUS_UNALIGNED_ADDRESS = 13,
|
||||
IAP_STATUS_ADDRESS_NOT_MAPPED = 14,
|
||||
IAP_STATUS_FRO_NO_POWER = 23,
|
||||
IAP_STATUS_FLASH_NO_POWER = 24,
|
||||
IAP_STATUS_NO_CLOCK = 27,
|
||||
IAP_STATUS_REINVOKE_CFG_ERR = 28,
|
||||
IAP_STATUS_NO_VALID_IMAGE = 29,
|
||||
IAP_STATUS_FLASH_ERASE = 32,
|
||||
IAP_STATUS_INVALID_PAGE = 33,
|
||||
};
|
||||
|
||||
/* CPU Frequency */
|
||||
|
|
Loading…
Reference in New Issue