Hallo liebes Forum, ich habe folgendes Problem: Ich habe 3 (gleiche) STM32F3-µC , die ich auf einmal flashen möchte. Hierzu möchte ich openOCD verwenden. Einzeln funktioniert das ja soweit, hier der Befehl: "C:\Program Files\GNU ARM Eclipse\OpenOCD\0.10.0-201601101000-dev\bin\openocd" -f "C:\Program Files\GNU ARM Eclipse\OpenOCD\0.10.0-201601101000-dev\scripts\interface\stlink-v2.cfg" -f "C:\Program Files\GNU ARM Eclipse\OpenOCD\0.10.0-201601101000-dev\scripts\target\stm32f3x.cfg" -c init -c targets -c "halt" -c "flash erase_sector 0 0 127" -c "reset halt" -c "flash write_image firmware.hex" -c "verify_image firmware.hex" -c "reset run" -c shutdown Nun habe ich die 3 µC zu einer JTAG-Chain verbunden (DO des einen µC an den DI des anderen µC). Ich glaube, da hab ich nichts falsch gemacht. Ich glaube mein Fehler liegt in der Bedienung von open OCD. Ich steige bei openOCd auch leider nicht so richtig durch. Gibt es einen Befehl, um so eine chain zu scannen? Wenn ich folgenden Befehl ausprobiere: "C:\Program Files\GNU ARM Eclipse\OpenOCD\0.10.0-201601101000-dev\bin\openocd" -f "C:\Program Files\GNU ARM Eclipse\OpenOCD\0.10.0-201601101000-dev\scripts\interface\stlink-v2.cfg" -f "C:\Program Files\GNU ARM Eclipse\OpenOCD\0.10.0-201601101000-dev\scripts\target\stm32f3x.cfg" -c init -c targets ... erhalte ich folgende Ausgabe: GNU ARM Eclipse 64-bits Open On-Chip Debugger 0.10.0-dev-00287-g85cec24-dirty (2016-01-10-10:13) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html adapter speed: 4000 kHz Info : auto-selecting first available session transport "hla_swd". To override use 'transport select <transport>'. adapter speed: 1000 kHz adapter_nsrst_delay: 100 Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD none separate Info : Unable to match requested speed 1000 kHz, using 950 kHz Info : Unable to match requested speed 1000 kHz, using 950 kHz Info : clock speed 950 kHz Info : STLINK v2 JTAG v29 API v2 SWIM v7 VID 0x0483 PID 0x3748 Info : using stlink api v2 Info : Target voltage: 3.244181 Info : stm32f3x.cpu: hardware has 6 breakpoints, 4 watchpoints TargetName Type Endian TapName State -- ------------------ ---------- ------ ------------------ ------------ 0* stm32f3x.cpu hla_target little stm32f3x.cpu running hier bleibt es dann auch stehen. Kann man hier schon erkennen was ich falsch mache? Bitte entschuldigt, wenn dies eine total dumme Frage ist. :)
Sebastian schrieb: > die ich auf einmal flashen möchte. Das geht so nicht. Du kannst natürlich eine Chain aufbauen, aber du sprichst jedesmal eins der Targets darin an. Dafür musst du irgendwo in der Konfiguration beschreiben, wieviele devices und wie viele Bits jeweils davor und danach sind. Bei AVRDUDE habe ich das schon gemacht, bei OpenOCD noch nicht.
Also ich bin da jetzt auch kein Experte... Aber wenn du dich über Telnet mit OpenOCD verbindest, kannst du dir mit "scan_chain" die JTAG-Chain anzeigen lassen.
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.