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: jenkinsbscan_optimization
parent
1f1558e74b
commit
0d47d85ff5
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue