Hallo zusammen! Bin am verzweifeln: Seit zwei Tagen versuche ich den debugger für meinen Cortex-M4 zum laufen zu bringen (habe ein STM32F407 Discovery board, eclipse unter Ubuntu 12.04LTS), leider kein Erfolg :-( Die toolchain funktioniert soweit, habe mit OpenOCD sogar flashen können (Programme kompilieren sauber), das klappt. Aber sobald ich debuggen möchte geht alles schief. Für OpenOCD gibt es anscheinen ungefähr 10000 verschiedene init- und run-scripts für den arm-none-eabi-gdb, habe einige probierte aber irgendwie funktioniert nichts davon. Ich kann breakpoints setzen, aber die werden nicht beachtet, dann bleibt mal das Programm in der HardFault interrupt-Routine hängen, manchmal überschreibt es nicht das flash... STLink utils gehen auch bei mir nicht, da wird anscheinend gar nichts ins flash geschrieben: 2013-11-13T16:11:21 ERROR src/stlink-common.c: flash loader run error 2013-11-13T16:11:21 ERROR src/stlink-common.c: run_flash_loader(0x8000000) failed! == -1 Und danach unendlich viele: [!] send_recv libusb_submit_transfer(-6) Wer kann mir weiterhelfen? Bis jetzt habe ich immer mit ein paar LEDs mein debugging machen können, aber bei größeren Sachen wäre ein funktionierender debugger sicher von Vorteil, oder? Vielen Dank! Jan
>Für OpenOCD gibt es anscheinen ungefähr 10000 >verschiedene init- und run-scripts für den arm-none-eabi-gdb, habe OpenOCD: Warum geht stm32f4discovery.cfg nicht? Und bevor Du gdb + OpenOCD (oder st-util) am Laufen hast, brauchst Du mit Eclipse gar nicht kommen. - OpenOCD starten - gdb starten, dann: (gdb) target remote :3333 (gdb) load ... (gdb) continue .... auf der gdb Kommandozeile. >einige probierte aber irgendwie funktioniert nichts davon. >Und danach unendlich viele: >[!] send_recv >libusb_submit_transfer(-6) hast Du auch mal einen anderen USB Port benutzt? Und startest OpenOCD oder das ST-Link Util mit Root-Rechten (sudo)? (geht auch ohne, das kannst Du aber fixen, wenn's mit sudo funkt)
Hallo schnuhr! Vielen Dank für Deine Antwort, hier mal die manuelle gdb Ausgabe: (gdb) target remote :3333 Remote debugging using :3333 0x080004be in __SPI_RwDirReg (reg_addr=<optimized out>, reg_data=<optimized out>, dir_spi_cmd=dir_spi_cmd@entry=128 '\200') at ../src/spi_master.c:487 487 while(SPIMCmdStatus != SPIM_IDLE) { (gdb) load SensorV1p2.elf Loading section .isr_vector, size 0x188 lma 0x8000000 Loading section .text, size 0xc54 lma 0x8000188 Loading section .init_array, size 0x8 lma 0x8000ddc Loading section .fini_array, size 0x4 lma 0x8000de4 Loading section .data, size 0x448 lma 0x8000de8 Error finishing flash operation (gdb) Neue Erkenntnis: Wenn ich vor dem debuggen per openocd manuell flashe, klappt es auch mit dem debuggen, ansonsten der gleiche Fehler wie oben :-( Was mag da nur schiefgehen?
Jetzt nochmal mit frisch gestartetem OpenOCD: gdb Ausgabe: (gdb) target remote :3333 Remote debugging using :3333 0x00000000 in ?? () (gdb) load SensorV1p2.elf Error erasing flash with vFlashErase packet (gdb) OpenOCD Konsole: Open On-Chip Debugger 0.7.0 (2013-11-06-10:29) Licensed under GNU GPL v2 For bug reports, read http://openocd.sourceforge.net/doc/doxygen/bugs.html Info : This adapter doesn't support configurable speed Info : STLINK v2 JTAG v14 API v2 SWIM v0 VID 0x0483 PID 0x3748 Info : Target voltage: 2.931265 Info : stm32f4x.cpu: hardware has 6 breakpoints, 4 watchpoints Info : accepting 'gdb' connection from 3333 Info : device id = 0x10016413 Info : flash size = 1024kbytes Warn : acknowledgment received, but no packet pending undefined debug reason 6 - target needs reset Error: Target not halted Error: failed erasing sectors 0 to 0 Error: flash_erase returned -304
Hallo, was ich spontan gefunden habe ist der Port, in der Beschreibung wird der Port 4242 verwendet: http://www.mikrocontroller.net/articles/STM32F4-Discovery#Debugging_mit_GDB Gruß Marvol
Hast Du mal primitive Befehle ausprobiert? Hier ganz gut beschrieben: https://github.com/texane/stlink/blob/master/doc/tutorial/tutorial.pdf?raw=true
Jan schrieb: > gdb Ausgabe: > > (gdb) target remote :3333 (gdb) monitor reset halt > (gdb) load SensorV1p2.elf
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.