X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=gdbserver%2Fgdb-server.c;h=393474dd3396b2971f2588fc1b6e922d107a4e1a;hb=3181cb3d51b2d0ee086239f8da762f7bee4ae4e6;hp=b1cea5cb54b0ea6e9c006be03b5fd81e60270122;hpb=9b2f8930538630db8537b8c5601e8c4a9c074657;p=fw%2Fstlink
diff --git a/gdbserver/gdb-server.c b/gdbserver/gdb-server.c
index b1cea5c..393474d 100644
--- a/gdbserver/gdb-server.c
+++ b/gdbserver/gdb-server.c
@@ -209,7 +209,9 @@ int main(int argc, char** argv) {
#endif
do {
- serve(sl, &state);
+ if (serve(sl, &state)) {
+ sleep (1); // don't go bezurk if serve returns with error
+ }
/* Continue */
stlink_run(sl);
@@ -323,7 +325,11 @@ static const char* const memory_map_template_F4_HD =
""
" " // code = sram, bootrom or flash; flash is bigger
" " // ccm ram
- " " // sram
+ " " // sram
+ " " // fmc bank 1 (nor/psram/sram)
+ " " // fmc bank 2 & 3 (nand flash)
+ " " // fmc bank 4 (pc card)
+ " " // fmc sdram bank 1 & 2
" " //Sectors 0..3
" 0x4000" //16kB
" "
@@ -339,6 +345,28 @@ static const char* const memory_map_template_F4_HD =
" " // option byte area
"";
+static const char* const memory_map_template_F2 =
+ ""
+ ""
+ ""
+ " " // code = sram, bootrom or flash; flash is bigger
+ " " // sram
+ " " //Sectors 0..3
+ " 0x4000" //16kB
+ " "
+ " " //Sector 4
+ " 0x10000" //64kB
+ " "
+ " " //Sectors 5..
+ " 0x20000" //128kB
+ " "
+ " " // peripheral regs
+ " " // cortex regs
+ " " // bootrom
+ " " // option byte area
+ "";
+
static const char* const memory_map_template =
""
"chip_id==STM32_CHIPID_F4_HD) {
strcpy(map, memory_map_template_F4_HD);
+ } else if(sl->chip_id==STM32_CHIPID_F2) {
+ snprintf(map, 4096, memory_map_template_F2,
+ sl->flash_size,
+ sl->sram_size,
+ sl->flash_size - 0x20000,
+ sl->sys_base, sl->sys_size);
} else {
snprintf(map, 4096, memory_map_template,
sl->flash_size,