Forum: Mikrocontroller und Digitale Elektronik Stm32f4: uC läuft aber JTAG Kommunikation nicht mehr möglich


von Tobias P. (Gast)


Lesenswert?

Hallo,

ich entwickle an einer Platine mit einem STM32F407VGT6. Vor einem Monat 
habe ich die Programmierarbeiten unterbrechen müssen, so dass ich jetzt 
erst weitermachen konnte.

Nun kann ich auf einmal nicht mehr flashen.

Der Controller läuft mit dem alten Programm, der Zugriff auf den Flash 
ist aber unmöglich. Ich habe sowohl J-Link als auch St-Link getestet, 
als Programme CooCox und J-Flash.

Ich habe viel ausprobiert, Connect under Reset etc pp aber kein Land in 
Sicht.

Was könnte das sein?

Danke für Eure Hilfe!

set tdesc filename 
C:/CooCox/CoIDE/bin/target_desc/arm-with-m-fpa-layout.xml
target remote 127.0.0.1:2331
127.0.0.1:2331: Das System hat versucht, einem Verzeichnis, das sich auf 
einem mit JOIN zugeordneten Laufwerk befindet, ein Laufwerk mit SUBST 
zuzuordnen.
monitor interface JTAG
"monitor" command not supported by this target.
monitor endian little
"monitor" command not supported by this target.
monitor speed auto
"monitor" command not supported by this target.
monitor flash device = STM32F407VG
"monitor" command not supported by this target.
monitor flash breakpoints = 1
"monitor" command not supported by this target.
monitor flash download = 1
"monitor" command not supported by this target.
monitor reset 0
"monitor" command not supported by this target.
monitor halt
"monitor" command not supported by this target.
load 
C:\\CooCox\\CoIDE\\workspace\\InbetriebnahmeHWr2.0\\InbetriebnahmeHWr2.0 
\\Debug\\bin\\InbetriebnahmeHWr2.0.elf
You can't do that when your target is `exec'
monitor reset 0
"monitor" command not supported by this target.
Temporary breakpoint 1 at 0x80001f0: file 
C:\CooCox\CoIDE\workspace\InbetriebnahmeHWr2.0\main.c, line 27.
tbreak main
continue
The program is not being run.

von Nils P. (ert)


Lesenswert?

Hardware getestet? Also SWD/JTAG-Kabel hat keinen Wackelkontakt?
Geht das Programmieren mit einem anderem Board?

Bei einer Fehlersuche lernt man am besten :-)

Viel Erfolg.

von Alex E. (tecnologic) Benutzerseite


Lesenswert?

Moin,

Hast du mal den J-Link Commander versucht der gibt recht gute Infos über 
die elektrische Verbindung zum Target.

Gruß
Tec

von Uwe Bonnes (Gast)


Lesenswert?

Eventuall einen der JTAG Pins undefiniert?

von Dirk K. (dekoepi)


Lesenswert?

Ich würde auch Uwes Ansatz verfolgen: Die JTAG-Pins hat man ganz schnell 
mit Alternate Functions belegt. Kannst du deinen Aapter auf SWD 
"zurückstellen"? Sonst mal per Boot0 in den Bootloader und per 
USB-2-Serial neu flashen probieren.
Unter Windows hiermit: http://www.st.com/web/en/catalog/tools/PF257525

von Dirk K. (dekoepi)


Lesenswert?

1
127.0.0.1:2331: Das System hat versucht, einem Verzeichnis, das sich auf 
2
einem mit JOIN zugeordneten Laufwerk befindet, ein Laufwerk mit SUBST 
3
zuzuordnen.

Sehe grade den Teil ... ist dein Projekt wirklich zugreifbar ode rliegt 
das irgendwo auf einem Netzlaufwerk? Ist auf deinem Rechner alles ok?

Liefen ja paar MS-Updates durch, die SChannel und Kerberos betreffen, 
mithin Kryptopgraphie und ACLs auf dem Windows-System. Das kann da 
schonmal im Pipe-System krachen ...

von Tobias P. (Gast)


Angehängte Dateien:

Lesenswert?

Vielen Danik schonmal für die schnellen Beiträge!

Der Reihe nach:

@Nils: Ich habe sowohl verschiedene Debugger, als auch verschiedene 
Kabel probiert. Ein derartiges Problem schließe ich aus.

@Tec: J-Link Commander Log siehe Anhang.

@Uwe: Das ist ausgeschlossen, zumindest nicht programmierseitig. Board 
ist gerade erst in der Inbetriebnahme.

@Dirk: SWD hat auch nicht geklappt. Programm liegt lokal auf der Platte. 
Werde das ganze von einem Zweitrechner mal probieren, danach gehts an 
den Bootloader.

Ich halte euch auf dem laufenden.

LG

von Tobias P. (Gast)


Lesenswert?

Also vom Zweitrechner mit neuem Coocox, GCC und neuer J-Link Firmware: 
das gleiche Problem :-(

GDB Hardware Debugger (20.11.14 14:45) (Suspended) <The program is not 
being run.>
  Thread [0] (Suspended)

von Tobias P. (Gast)


Lesenswert?

So es gibt einen neuen Stand:

Ich konnte den uC mit Hilfe des Bootloaders programmieren.

Jetzt hilft mir das ganze nur marginal, da ich irgendwie den JTAG fixen 
muss, der nach wie vor nicht funktioniert.

Wie könnte ich jetzt weitermachen?

LG und schonmal danke!
Tobi

von Rainer M. (excogitator)


Lesenswert?

Hast du vielleicht, beabsichtigt oder unbeabsichtigt, an den Option 
Bytes (Kapitel 3.7 im Rev.Manual) etwas geändert?
Ein darin aktivierter Ausleseschutz (RDP) verhindert auch ein Zugriff 
über JTAG oder SWD.
Ist Level 1 aktiv, kann man das noch rückgängig machen. Ist Level 2 
aktiv wars das. Siehe auch Tabelle 17 in Abschnitt 3.7.3.

Gruß
Rainer

von Tobias P. (Gast)


Lesenswert?

Das kann ich eigentlich ausschließen. Ich suche mal nach einer 
Möglichkeit das auszuschließen.

Kann der Port auch einfach im Eimer sein?

von Rainer M. (excogitator)


Lesenswert?

Tobias P. schrieb:
> Das kann ich eigentlich ausschließen. Ich suche mal nach einer
> Möglichkeit das auszuschließen.
Wenn du über den Bootloader noch Software aufspielen kannst, kannst du 
ja eine kleine Software schreiben, welche dir den Inhalt der 
Optionsbytes über eine Schnittstelle ausgibt.


> Kann der Port auch einfach im Eimer sein?
Klar, ist auch möglich.

von Felix M. (fmbuba)


Lesenswert?

Hi,

ich hatte das gleiche mal bei Keil und einem STM32F3, hier kann kann man 
"Connect under Reset" einstellen, dann hält der Flasher den Controller 
im Reset und die Alternate Pin Functions sind deaktiviert. Sollte unter 
Coocox genauso funktionieren.

http://www.coocox.org/CoIDE/How_to_use_J-Link.html

Gruß Felix

von Tobias P. (Gast)


Lesenswert?

Wie im Eingangspost beschrieben habe ich das schon probiert.

Nächste Schritte sind die Überprüfung der Ports und das Auslesen der 
Statuspins.

LG

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
Noch kein Account? Hier anmelden.