Skip to content

Commit

Permalink
target/cortex_m: Add support for AHB5-AP
Browse files Browse the repository at this point in the history
The AHB5-AP is implemented in Cortex-M23/33 based devices.

Change-Id: I505954a2e2c6462ce0aa96eba1d55b016c5028b9
Signed-off-by: Marc Schink <[email protected]>
Reviewed-on: http:https://openocd.zylin.com/5232
Reviewed-by: Matthias Welwarsky <[email protected]>
Tested-by: jenkins
  • Loading branch information
Marc Schink authored and thinkfat committed Jun 19, 2019
1 parent 1f1558e commit 0d47d85
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion src/target/cortex_m.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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;
Expand Down

0 comments on commit 0d47d85

Please sign in to comment.