diff options
author | Marc Schink <openocd-dev@marcschink.de> | 2019-06-14 08:16:19 +0200 |
---|---|---|
committer | Matthias Welwarsky <matthias@welwarsky.de> | 2019-06-19 10:17:38 +0100 |
commit | 0d47d85ff5d3c8512d2475097ef8356267c57cda (patch) | |
tree | 1ae4349f846a941a8dc38535f5ca4c3ddf0f7096 /src/target/cortex_m.c | |
parent | 1f1558e74bd14ba633c49916ac1d0e1867cad4f1 (diff) | |
download | riscv-openocd-0d47d85ff5d3c8512d2475097ef8356267c57cda.zip riscv-openocd-0d47d85ff5d3c8512d2475097ef8356267c57cda.tar.gz riscv-openocd-0d47d85ff5d3c8512d2475097ef8356267c57cda.tar.bz2 |
target/cortex_m: Add support for AHB5-AP
The AHB5-AP is implemented in Cortex-M23/33 based devices.
Change-Id: I505954a2e2c6462ce0aa96eba1d55b016c5028b9
Signed-off-by: Marc Schink <openocd-dev@marcschink.de>
Reviewed-on: http://openocd.zylin.com/5232
Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
Tested-by: jenkins
Diffstat (limited to 'src/target/cortex_m.c')
-rw-r--r-- | src/target/cortex_m.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/target/cortex_m.c b/src/target/cortex_m.c index ed9397a..63603da 100644 --- a/src/target/cortex_m.c +++ b/src/target/cortex_m.c @@ -2093,6 +2093,15 @@ static void cortex_m_dwt_free(struct target *target) #define MVFR1_DEFAULT_M7_SP 0x11000011 #define MVFR1_DEFAULT_M7_DP 0x12000011 +static int cortex_m_find_mem_ap(struct adiv5_dap *swjdp, + struct adiv5_ap **debug_ap) +{ + if (dap_find_ap(swjdp, AP_TYPE_AHB3_AP, debug_ap) == ERROR_OK) + return ERROR_OK; + + return dap_find_ap(swjdp, AP_TYPE_AHB5_AP, debug_ap); +} + int cortex_m_examine(struct target *target) { int retval; @@ -2107,7 +2116,7 @@ int cortex_m_examine(struct target *target) if (!armv7m->stlink) { if (cortex_m->apsel == DP_APSEL_INVALID) { /* Search for the MEM-AP */ - retval = dap_find_ap(swjdp, AP_TYPE_AHB3_AP, &armv7m->debug_ap); + retval = cortex_m_find_mem_ap(swjdp, &armv7m->debug_ap); if (retval != ERROR_OK) { LOG_ERROR("Could not find MEM-AP to control the core"); return retval; |