I will merge the following patch unless i here any objections.
https://sourceforge.net/apps/trac/openocd/ticket/24

Cheers
Spen
>From 5e7f983a2767f524dd6b8d3b782c5d3d6b2419e5 Mon Sep 17 00:00:00 2001
From: sb-sf <[email protected]>
Date: Mon, 5 Jul 2010 14:06:34 +0100
Subject: [PATCH] gdbserver: incorrect memory map for multiple targets (bug #24)

The gdb server incorrectly reports the memory map if we have
multiple targets with multiple flash banks.

Signed-off-by: Spencer Oliver <[email protected]>
---
 src/server/gdb_server.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/server/gdb_server.c b/src/server/gdb_server.c
index e97839d..1d1d836 100644
--- a/src/server/gdb_server.c
+++ b/src/server/gdb_server.c
@@ -1682,6 +1682,7 @@ static int gdb_memory_map(struct connection *connection,
        char *separator;
        uint32_t ram_start = 0;
        int i;
+       int target_flash_banks = 0;
 
        /* skip command character */
        packet += 23;
@@ -1708,10 +1709,11 @@ static int gdb_memory_map(struct connection *connection,
                        gdb_error(connection, retval);
                        return retval;
                }
-               banks[i] = p;
+               if(p->target == target)
+                       banks[target_flash_banks++] = p;
        }
 
-       qsort(banks, flash_get_bank_count(), sizeof(struct flash_bank *),
+       qsort(banks, target_flash_banks, sizeof(struct flash_bank *),
                        compare_bank);
 
        for (i = 0; i < flash_get_bank_count(); i++) {
-- 
1.7.1

_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to