mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem JTAG beim STM32F103


Autor: Thomas Burkhart (escamoteur)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich bin gerade dabei meine erste STM32 Schaltung in Betrieb zu nehmen, 
leider funktioniert die JTAG-Verbindung nicht.

Ich verwende den OLIMEX ARM-USB-OCD JTAG Adapter.

Mit Eclipse & OpenOCD bekomme ich diese Fehlermeldung

Info:    options.c:50 configuration_output_handler(): jtag_speed: 10, 10
Info:    options.c:50 configuration_output_handler(): Open On-Chip 
Debugger 1.0 (2008-10-15-13:12) svn:exported
Info:    jtag.c:1369 jtag_examine_chain(): JTAG device found: 0x3ba00477 
(Manufacturer: 0x23b, Part: 0xba00, Version: 0x3)
Info:    jtag.c:1369 jtag_examine_chain(): JTAG device found: 0x06414041 
(Manufacturer: 0x020, Part: 0x6414, Version: 0x0)
Info:    jtag.c:1369 jtag_examine_chain(): JTAG device found: 0x3ba00477 
(Manufacturer: 0x23b, Part: 0xba00, Version: 0x3)
Info:    jtag.c:1369 jtag_examine_chain(): JTAG device found: 0x06414041 
(Manufacturer: 0x020, Part: 0x6414, Version: 0x0)
Error:   jtag.c:927 jtag_add_reset(): BUG: transition of req_tlr_or_trst 
and req_srst in the same jtag_add_reset() call is undefined


Auch Crossworks Zeigt mir bei Target->Explore die selben 2 Devices an, 
ich kann aber mich nicht verbinden und bekomme die Fehlermeldung "Make 
sure JTAG connection is working and the Target powered on"

So ganz tot scheint der µC ja nicht zu sein, sonst würde er doch keine 
Devices zurückmelden oder? Aber wieso werden zwei Devices gefunden?

Hat jemand ne Idee wo ich suchen könnte?

Gruß
Tom

Autor: Jörn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas Burkhart schrieb:

> So ganz tot scheint der µC ja nicht zu sein, sonst würde er doch keine
> Devices zurückmelden oder? Aber wieso werden zwei Devices gefunden?

2 TAPs sind in Ordnung.

http://www.st.com/stonline/products/literature/rm/13902.pdf

Seite 965

Was für eine OpenOCD Version verwendest du?

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Klarstellung, hatte mich nur verwirrt.

ARM-USB-OCD drivers:   FTDI drivers from 2008-03-13

Eclipse:     Version: 3.4.1 (Ganymede)

Zylin Eclipse plugin:  Version 4.5.1

OpenOCD:    Revision 717 from 2008-06-18

OpenOCD for STM32:  Revision 555 from 2008-04-09

Yagarto:    binutils: 2.18
      gcc:      4.2.2
      newlib:   1.16.0
      gdb:      6.8.50-20080308-cvs
      (08.04.2008, mifi)

Java Runtime:    Version 6 update 7

Merkwürdig ist hat, dass Crossworks, die ja nicht auf OpenOCD aufsetzen 
auch Probleme hat.
gruß
Tom

Autor: Thomas Burkhart (escamoteur)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja, das ist die verwendete Schaltung.

Der Teil mit der SD-Karte und USB ist bisher noch nicht dran.

gruß
Tom

Autor: Thomas R. (tinman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wo sind die pull-ups für JTAG ?

Mach wie z.b. hier 
http://www.olimex.com/dev/images/ARM/ST/STM32-P103-sch.gif

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas R. schrieb:

> wo sind die pull-ups für JTAG ?

Im STM32 bereits drin.

> http://www.olimex.com/dev/images/ARM/ST/STM32-P103-sch.gif

Schadet in dieser Dimensionierung offenbar auch nicht, obwohl sich dabei 
ein externer Pullup und ein interner Pulldown gegenseitig das Leben 
schwer machen.

Olimex kocht auch nur mit Wasser. Aus alten Designs für andere 
Controller oder beim Kollegen abgucken geht schneller als Handbuch 
lesen. Und wenn's dann trotzdem funktioniert, dann macht das irgendwann 
jeder und keiner weiss warum ("das macht man eben so").

Autor: Thomas R. (tinman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
>
> Olimex kocht auch nur mit Wasser. Aus alten Designs für andere
> Controller oder beim Kollegen abgucken geht schneller als Handbuch
> lesen. Und wenn's dann trotzdem funktioniert, dann macht das irgendwann
> jeder und keiner weiss warum ("das macht man eben so").

stimmt STM32F10xxx hat die intern.

Hat Olimex wohl genau wie ich nicht gelesen wo die unterscheide sind 
sondern aus den ST reference schematics kopiert (MB784, MB672) - es sind 
allerdings STM32C und STM32E boards und keine STM32F.

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sonst noch ne Idee woran es liegen könnte, dass der JTAG-Scan geht, der 
Rest aber nicht?

Gruß
Tom

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

bin immer noch ratlos.

Hat keiner ne Idee wo ich am besten suche?
Gruß
Tom

Autor: LM3SB96 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die richtige Konfig für den STM32 von OpenOCD nehmen...
Dort sind 2 JTAG TAPS definiert. Einer für die CPU und der andere für 
das Boundary Scan TAP.

Am besten schaust du mal in einem Projekt von Martin Thomas nach. Es 
gibrt dort fertige Eclipse Projekte zum runterladen. z.B.
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm...

In diesem Link:
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm...
ist auch OpenOCD mit dem STM32 gut beschrieben.

Cheers

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte mal ähnliche Probleme mit einem Jtag-Adapter von Amontec 
gehabt, die ich nicht lösen konnte. Irgendwann habe ich mir einen J-LINK 
geebayt, und damit waren alle Probleme gegessen.

Was das genau war - keine Ahnung. War jedenfalls auch ein STM32.

fchk

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin mir im Moment eben überhaupt nicht sicher, ob es am 
JTAG-Adpatper oder an meiner Hardware liegt.

Meint Ihr der STM32 läuft richtig wenn er am JTAG erkannt wird?

Gruß
Tom

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich habe ja vor 2 Tagen den Artikel STM32
http://www.mikrocontroller.net/articles/STM32
geschrieben.

Hier habe ich beschrieben wie ich mein System installiert habe:
7.1 Installation für STM32

Damit dieser OpenOCD mit dem Olimex-Adapter funktionierte, musste ich zu 
erst den alten Treiber deinstallieren und den aus dem Setup 
installieren.
Siehe hier:
Beitrag "Re: STM32 - Erster Artikel"

Lade und installiere das mal und poste nochmal bei Fragen...

Autor: Markus Müller (mmvisual)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
PS: Ich nutze natürlich den 10-Poligen JTAG Stecker, anbei der Plan 
meines Adapters auf 20 Pins...

Und hier der Schaltplan einer meiner Platinen:
Beitrag "Re: Heizungssteurung im Eigenbau"

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Markus,

der Zugriff auf den Olimex Adapter klappt ja, er listet mir ja auch zwei 
JTAG-Devices auf, aber dann kommt sofort ein Fehler, sowohl im OpenOCD 
also auch in Crossworks ohne OpenOCD.

Daher kein Windowstreiber-Problem, die habe ich alle brav von Hand 
installiert.

Überlege gerade den Olimex zurückzuschicken und mir inen Segger zu 
holen.

Viele Grüße

Tom

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich nutze das PlugIn "GDB Hardware Debugger" und nicht das Zylin.
Daher meine Empfehlung um zu steigen und die pakete zu installieren.

Ich habe beide (privat). Der Segger JLink ist deutlich schneller als der 
Olimex. Dafür hat der Olimex noch einen COM-Port und einen 5V Ausgang.

Es würde auch genügen nur Eclipse mit der neuen Version zu installieren 
und dann das PlugIn zu laden, sollte auch gehen.

Aber deine OpenOCD Versionen ist schon steinalt, besser wäre schon die 
aktuelle von der Beschreibung zu laden. Dann klappt es auch mit dem 
Demo-Projekt von Martin Thomas, denn dort sind alle 
Eclipse-Einstellungen für den GDB Hardware Debugger drin.

Schlussendlich hat es ja auch einen Vorzeil: Du hast dann von allem die 
neueste Version und ich kann Dir helfen bei Fragen.

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guckst Du hier:

Beitrag "Re: Problem JTAG beim STM32F103"

Das sind meine Versionen. Ich hab einfach die Dummy-Installation von der 
Olimex-CD genommen.

Und wie gesagt, Crossworks tut ja auch nicht. Was könnte es denn auf der 
Hardwareseite noch sein?

Gruß
Tom

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nutzt Crossworks auch den OpenOCD?
Crossworks kenne ich nicht.

Ich hatte mit OpenOCD früher auch viele Probleme, nur das R247 hat 
funktioniert. Erst jetzt, die aktuellte 0.4.0 und 0.3.x haben 
funktioniert.
Das Problem zeigte sich ähnlich, Verbindung wurde aufgebaut, aber mehr 
ging irgendwie auch nicht.
Zwischen Deinen Releasen und der aktuellen sind über 1000 Änderungen 
drin. Die jungs haben sicher nicht jedes Release mit allen CPU's und 
Varianten getestet.
Auf dieses alte Release kann ich keine Hilfe anbieten.

Edit: PS: da hab ich schon lange geguckt...

Autor: Thomas Burkhart (escamoteur)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sooo, kurzes Update. Hab den Olimex gegen einen Segger J-Link Edu 
getauscht und siehe da, mit Crossworks funktionierte es so gut wie auch 
anhieb.

Kann den Segger nur empfehlen.

Gruß
Tom

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.