Fix: don't print the BASE address except if it's a MEM-AP; that's an unlikely error, but there's no point getting it wrong. Tweaks: comments, capitalization. --- src/target/arm_adi_v5.c | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-)
--- a/src/target/arm_adi_v5.c +++ b/src/target/arm_adi_v5.c @@ -7,7 +7,7 @@ * * * Copyright (C) 2009 by Oyvind Harboe * * [email protected] * - * * + * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * @@ -27,12 +27,13 @@ * * * This file implements support for the ARM Debug Interface v5 (ADI_V5) * * * + * CoreSight(tm) v1.0 Architecture Specification ARM IHI 0029B * * ARM(tm) Debug Interface v5 Architecture Specification ARM IHI 0031A * * * * CoreSight(tm) DAP-Lite TRM, ARM DDI 0316D * * Cortex-M3(tm) TRM, ARM DDI 0337G * * * -***************************************************************************/ + ***************************************************************************/ #ifdef HAVE_CONFIG_H #include "config.h" @@ -1057,7 +1058,7 @@ is_dap_cid_ok(uint32_t cid3, uint32_t ci int dap_info_command(struct command_context *cmd_ctx, struct swjdp_common *swjdp, int apsel) { - uint32_t dbgbase,apid; + uint32_t dbgbase, apid; int romtable_present = 0; uint8_t mem_ap; uint32_t apselold; @@ -1069,25 +1070,31 @@ int dap_info_command(struct command_cont swjdp_transaction_endcheck(swjdp); /* Now we read ROM table ID registers, ref. ARM IHI 0029B sec */ mem_ap = ((apid&0x10000) && ((apid&0x0F) != 0)); - command_print(cmd_ctx, "ap identification register 0x%8.8" PRIx32 "", apid); + command_print(cmd_ctx, "AP ID register 0x%8.8" PRIx32, apid); if (apid) { switch (apid&0x0F) { case 0: - command_print(cmd_ctx, "\tType is jtag-ap"); + command_print(cmd_ctx, "\tType is JTAG-AP"); break; case 1: - command_print(cmd_ctx, "\tType is mem-ap AHB"); + command_print(cmd_ctx, "\tType is MEM-AP AHB"); break; case 2: - command_print(cmd_ctx, "\tType is mem-ap APB"); + command_print(cmd_ctx, "\tType is MEM-AP APB"); break; default: - command_print(cmd_ctx, "\tUnknown AP-type"); - break; + command_print(cmd_ctx, "\tUnknown AP type"); + break; } - command_print(cmd_ctx, "ap debugbase 0x%8.8" PRIx32 "", dbgbase); + + /* NOTE: a MEM-AP may have a single CoreSight component that's + * not a ROM table ... or have no such components at all. + */ + if (mem_ap) + command_print(cmd_ctx, "AP BASE 0x%8.8" PRIx32, + dbgbase); } else { _______________________________________________ Openocd-development mailing list [email protected] https://lists.berlios.de/mailman/listinfo/openocd-development
