Hallo, Folgende Meldungen sind Inhalt der Log-Datei nachdem in der Konsole des ST-LINK GDB-Servers "Error in Initializing ST-Link device" erscheint: [2.625] STM32_SysReset(): Failed to reset ST-Link device [2.625] STM32_InitDevice(): Failed to Perform System reset of ST-Link device [2.625] init_server_context(): Error in Initializing ST-Link device Die JTAG-Verbindungen waren zuerst so wie in AN2586 (im Anhang) beschrieben. Da ich ein Board besitze, mit dem der ST-LINK halbwegs funktioniert, habe ich meine Schaltung entsprechend angepasst und bin immernoch beim selben Ergebnis. Die Anleitung auf http://www.atollic.com/index.php/kb/3-debugging/11-kb_stlink habe ich auch schon einmal erfolglos durchgeführt. Pinbelegung des 20-poligen JTAG-Steckers aktuell: 1 3V3 2 3V3 3 3V3 - 10KR - JNTRST 4 GND 5 3V3 - 10KR - JTDI 6 GND 7 3V3 - 10KR - JTMS 8 GND 9 3V3 - 10KR - JTCK 10 GND 11 JTCK 12 GND 13 3V3 - 10KR - JTDO 14 GND 15 RST (norm. Besch.) 16 GND 17 GND - 10KR 18 GND 19 GND - 10KR 20 GND Also alle Signalleitungen mit Pull-Up und Pin 9 und 11 verbunden. Am Oszilloskop kann man sehen, dass sich auf allen Leitungen irgendwann der Pegel ändert. Der STM32 bekommt also durchaus irgendwelche Signale, wenn er auf TDO sendet. Falls irgendwer einen Vorschlag oder noch besser die Lösung für dieses Problem hat, wäre ich sehr dankbar.
Schaltplan? Lade testweise mal die Keil-Eva runter. ST-LINK wird dort auch unterstützt und probier es damit aus. Eigentlich braucht man nach der Atollic TrueStudio Installation (STM32 Lite Version) nichts einzustellen, da es nur mit dem ST-LINK funktioniert.
So sieht das Signal am Oszi aus... Am funktionierendem Board habe ich den Fehler nicht produzieren können - immer nur "Error in opening ST_LINK Device". Nachdem ich Pin 9 und 11 wieder getrennt habe erscheint auch bei meinem Board nur noch diese Meldung im logfile. Dem Signal an TDO nach scheint die Verbindung doch zu stimmen - hat irgendwer Rat? Kennt jemand das JTAG-Protokoll so gut, dass er weis, was nicht passt? Oder soll ich noch etwas anderes Messen?
Hallo Gast, schön wäre Dich mit Namen ansprechen zu können, ist persönlicher... Ich verwenden auch den ST-LINK mit dem Demoboard STM3210C-EVAL (via JTAGH) sowie mit einem eigenen Board von SenSol für die Kundenhardware (via SWD... weniger Leitungen). Wichtig: Den ST-LINK must Du zuerst mit der neuen ST-LINK Firmware auf der st homepate updaten damit er SWD kann und damit er die neuen Devices kennt. "ST-Link firmware upgrade" http://www.st.com//stonline/products/support/micro/files/stlinkupgrade.zip Hier zuerst die gültige Beschreibung des ST-LINK inc. der korrekten Steckerbelegung. http://www.st.com/stonline/products/literature/an/15285.htm Siehe dazu Seite 8 (Kapitel 2.2) "Connection with STM32 applications" Wir verwenden folgenden Pins am Kundenboard ST-LINK Hardware (STM32F103) 3 GROUND GND 7 SW IO PA13 9 SW CLK PA14 Optional: 15 RESET NRST (mit Wdst`s.) ---- Was bei mir mit ST-LINK klappt. Mit der 32k Eval. Version von IAR klappt das Flashen und Debuggen via ST-LINK in beiden Modis hervorragend. Mit der kostenfreien Truestudio Version klappt das Flashen via JTAG auf das Demoboard STM3210C-EVAL auch problemlos. Lt. Info ist bei der kostenfreien Version bei Truestudio das SWD nicht verfügbar daher nicht getestet. Wenn ich den ST-Link gdbserver aus Truestudio manuell aufrufe dann kann (JTAG)via dem gdb von codesourcery g++ lite (arm-none-eabi-gdb.exe) über die commandline auch das elf flashen und debuggen.... ---- Nur zum Testen und klären an was es liegt: Installiere bitte die 32K Demo von IAR Workbench und prüfe ob es damit klappt, je nach Ergebnis läßt sich dann leichter weitersuchen. Beste Grüße, Lukas
Hallo, hab das mit dem SenSol Board geprüft bei dem steht nur SWD zur Verfügung. a) Den ST-LINK gdbserver so gestartet wie er ist, er will dabei via JTAG verbinden (es ist jedoch nur SWD vorhanden). Fehler: Atollic TrueSTUDIO gdbserver for ST-Link. Version 1.1.0 Pro Developed by Atollic AB for STMicroelectronics Copyright 2010, Atollic AB and STMicroelectronics Starting server with the following options: Persistant Mode : Enabled LogFile Name : debug_log.txt Logging Level : 31 Listen Port Number : 61234 Status Refresh Delay : 15s Verbose Mode : Enabled Error in Initializing ST-Link device GDB server exited b) Wenn ich den gdbserver nun mit der Option -d starte dann wird eine SWD Verbindung aufgebaut. Dies klappt dann auch problemlos. Und mit dem codesourcery gdb kann ich dann ein elf file flashen und den code debuggen. ST-LINK_gdbserver.exe -d -c config.txt --> Versuche es doch mal nur mit den SWD Leitungen das sollte dann schon mal klappen. Grüße, Lukas
Hallo, ich hätte nicht gedacht, dass noch jemand antwortet :D Den ST-LINK habe ich geupdatet und er hat auch funktioniert, sowohl im SWD- als auch im JTAG-Modus. Nur eben auf der einen Platine nicht (weder SWD noch JTAG). Keil hatte ich auch heruntergeladen und probiert - "Internal command error" lautete die äußerst informative Fehlermeldung. Ich habe den Fehler mittlerweile gefunden - er war wie erwartet sehr "dumm": In der Platine war ein "kleiner Schönhetsfehler": Die Spannungsversorgung war nicht mit der üblichen Beschaltung der Analogversorgung verbunden und die Luftlinie in EAGLE war nicht sichtbar, weil die Leiterbahn auf der anderen Seite über dieser verlief. Als ich eine andere Platine bestückt habe, wollte ich in meiner Verzweiflung nur einmal den Controller allein prüfen und habe nichts außer diesen und dem JTAG-Stecker aufgelötet. Als dann dieselbe Fehlermeldung erschien, habe ich gewusst, dass es nicht an der einen Platine liegen konnte und den Versorgungsteil bestückt - tadaa es funktioniert. Auf der Suche nach einem Fehler im Versorgungsteil der Problemplatine bin ich dann auf den genannten Fehler gestoßen - funktioniert ebenfalls. Ich habe nicht gewusst, dass der PLL zum Analogteil gehört und nicht daran gedacht, dass es daran liegen könnte, also zuerst auch nicht in dessen Versorgungsteil nach Fehlern gesucht. Was ich aud meiner Fehlersuche noch herausgeufnden habe: Bei der Beschaltung des JTAG-Steckers auf der eigenen Platine kann man sich zumindest im Zusammenhang mit dem ST-LINK die im Datenblatt angegebenen Widerstände sparen - in meiner Verzweiflung habe ich überall den Fehler gesucht und auch den ST-LINK einmal geöffnet und festgestellt, dass das die entsprechenden Pins nicht bzw. mit GND verbunden sind. Einen seltsames Verhalten zeigt der ST-LINK aber: Manchmal startet das Programm auch nach x-Versuchen nicht, erst wenn ich z.B. die Reihenfolge einer Variablendeklaraton ändere oder einen Initialisierungswert oder ähnliche Veränderungen vornehme, die mit der Funktion des Programms an sich nichts zu tun haben. Auch ein kompletter Rebuild schafft keine Abhilfe. In solchen Fällen beendet der JTAG-Server einfach und ich mus Atollic TrueStudio neu starten, weil ich auch in der Debug-Perspektive nichts mehr terminieren kann - es bleibt ansonsten hängen. Aber wenn man weis, dass nur minimalste Änderungen am Progaramm vorgenommen werden müssen, ist es nicht so schlimm - bis ich es herausgefunden habe hatte ich aber die Befürchtung, der µC hätte das Zeitliche gesegnet. Vielleicht kennt jemand die Lösung dieses Problems - dann wäre ich und eventuell auch andere über eine Antwort dankbar. Vielen Dank für Eure Bemühungen - speziell auch an Lukas!
Verzweifelnder, I've just had the same problem. I got "internal command error" message when trying to debug using ST-Link. I googled the error and there came your post. It turned out that I forgot to solder EMI filter and analog section had no power supply. Thank you so much :-)
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.