pc-stlinkv2: Recognize another error and try to handle failing memread.
This commit is contained in:
parent
1cf0b8ac13
commit
0599d2161c
@ -84,6 +84,7 @@
|
|||||||
#define STLINK_SWD_AP_STICKY_ERROR 0x19
|
#define STLINK_SWD_AP_STICKY_ERROR 0x19
|
||||||
#define STLINK_SWD_AP_STICKYORUN_ERROR 0x1a
|
#define STLINK_SWD_AP_STICKYORUN_ERROR 0x1a
|
||||||
#define STLINK_BAD_AP_ERROR 0x1d
|
#define STLINK_BAD_AP_ERROR 0x1d
|
||||||
|
#define STLINK_TOO_MANY_AP_ERROR 0x29
|
||||||
#define STLINK_JTAG_UNKNOWN_CMD 0x42
|
#define STLINK_JTAG_UNKNOWN_CMD 0x42
|
||||||
|
|
||||||
#define STLINK_CORE_RUNNING 0x80
|
#define STLINK_CORE_RUNNING 0x80
|
||||||
@ -502,6 +503,11 @@ static int stlink_usb_error_check(uint8_t *data, bool verbose)
|
|||||||
case STLINK_BAD_AP_ERROR:
|
case STLINK_BAD_AP_ERROR:
|
||||||
/* ADIV5 probe 256 APs, most of them are non exisitant.*/
|
/* ADIV5 probe 256 APs, most of them are non exisitant.*/
|
||||||
return STLINK_ERROR_FAIL;
|
return STLINK_ERROR_FAIL;
|
||||||
|
case STLINK_TOO_MANY_AP_ERROR:
|
||||||
|
/* TI TM4C duplicates AP. Error happens at AP9.*/
|
||||||
|
if (verbose)
|
||||||
|
DEBUG("STLINK_TOO_MANY_AP_ERROR\n");
|
||||||
|
return STLINK_ERROR_FAIL;
|
||||||
case STLINK_JTAG_UNKNOWN_CMD :
|
case STLINK_JTAG_UNKNOWN_CMD :
|
||||||
if (verbose)
|
if (verbose)
|
||||||
DEBUG("STLINK_JTAG_UNKNOWN_CMD\n");
|
DEBUG("STLINK_JTAG_UNKNOWN_CMD\n");
|
||||||
@ -1230,6 +1236,15 @@ void stlink_readmem(ADIv5_AP_t *ap, void *dest, uint32_t src, size_t len)
|
|||||||
for (size_t i = 0; i < len ; i++) {
|
for (size_t i = 0; i < len ; i++) {
|
||||||
DEBUG_STLINK("%02x", *p++);
|
DEBUG_STLINK("%02x", *p++);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
/* FIXME: What is the right measure when failing?
|
||||||
|
*
|
||||||
|
* E.g. TM4C129 gets here when NRF probe reads 0x10000010
|
||||||
|
* Approach taken:
|
||||||
|
* Fill the memory with some fixed pattern so hopefully
|
||||||
|
* the caller notices the error*/
|
||||||
|
DEBUG("stlink_readmem failed\n");
|
||||||
|
memset(dest, 0xff, len);
|
||||||
}
|
}
|
||||||
DEBUG_STLINK("\n");
|
DEBUG_STLINK("\n");
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user