Ich benutze einen Olimex ARM-USB-OCD Dongle mit openOCD und GDB um einen stm32f103 Mikro zu programmieren und zu debuggen. Die IDE, die ich verwende, kam von der Olimex dev-kit CD und nutzt Eclipse Ganymed.wie programmiere ich den STM32 flash mit openOCD und gdb
Ich kann ein kleines Programm in den RAM laden und den Code ohne Probleme durchlaufen.
Ich habe jetzt ein viel größeres Programm, das nicht in RAM (das ist nur 20K) passt und so würde ich es von Flash (das ist 128K) laufen lassen.
Ich habe das Linker-Skript geändert, das angibt, dass der Programmcode im Flash-Abschnitt (Adresse 0x8000000) gehen sollte, aber gdb kann das Programm nicht laden.
(gdb)
20 load main.out
&"load main.out\n"
load main.out
~"Loading section .text, size 0xb0e6 lma 0x8000000\n"
Loading section .text, size 0xb0e6 lma 0x8000000
&"Load failed\n"
Load failed
Was soll ich tun, um gdb das Programm in Flash zu laden?
Ich endete diese Route und endlich haben die Dinge funktioniert. Ich benutzte openOCD, um die Abschnitte .text und .data zu flashen, und kopierte dann den .data-Abschnitt zu Beginn meiner Funktion main() in den RAM. – mksuth