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

Reply via email to