Forum: Mikrocontroller und Digitale Elektronik STM32 / Cortex M3 - Verwirrung um Reset-Pins NJTRST und NRST


von Robert B. (robertb)


Lesenswert?

Hi!

Generell habe ich mich bei den kleinen ARMs schon gut eingelebt, 
allerdings ist mir die Reset-Logik immer noch nicht ganz klar.

Ich habe hier einen Segger J-Link (EDU) und einen STM32F103. Der STM32 
hat einen NRST- und einen NJTRST-Pin. Solange man sich an den 20-poligen 
ARM-JTAG-Stecker hält ist ja alles klar, denn es gibt dort für beide 
Pins entsprechende Verbindungen.

Nun will ich aber den kleineren 9/10-poligen 50mil Stecker verwenden.

Wenn ich das richtig verstehe muss "RESET" (Pin 15 am 20poligen) an 
"NRESET" (Pin 10 am 9poligen) an "NRST" (PB4 am STM32). Zusätzlich 
garniert mit einem kleinen Kondensator nach GND.

Nur was muss ich mit "NJTRST" machen? Mit "NRST" verbinden? Offen 
lassen? Pullup?

Müsste ich dann korrekterweise meinem J-Link erklären, dass der NJTRST 
nicht verbunden ist?

Zudem müsste ich lt. Reference Manual im Register AFIO_MAPR die Bits 
SWJ_CFG[2:0] auf '010' setzen um den NJTRST zu deaktivieren. Oder muss 
ich das nur tun wenn ich PB4 als GPIO verwenden will?

Grüße
Robert

von Someone d. (Firma: Someone@euIRC) (someonenew) Benutzerseite


Lesenswert?

deine fragen werden ausführlichst in dem dokument 
"CoreSight_Architecture_Specification" von arm.com behandelt. wenn du 
dich mit der thematik beschäftigst ist dieses dokument lesenswert.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Wenn Du schon einen möglichst kleinen Stecker haben möchtest, dann nimm 
den:

http://www.mikrocontroller.net/articles/JTAG#Der_10-polige_JTAG_Stecker_von_mmvisual

Denn der hat viele Funktionen, in all meinen Platinen nutze ich diese 
Anordnung und es gibt keine Probleme.
Die Gründe sind in dem Artikel aufgelistet.

von Robert B. (robertb)


Lesenswert?

Hi!

@someone
Nach einem kurzen Überfliegen des Dokuments weiß ich jetzt für was der 
NJTRST zuständig ist - nur leider nicht ob er eben mit dem normalen 
Reset intern verschaltet ist.

Zitat:
Debug Test Access Port (DBGTAP)
The collection of four mandatory and one optional terminals that form 
the input/output and control interface
to a JTAG boundary-scan architecture. The mandatory terminals are 
DBGTDI, DBGTDO, DBGTMS, and
TCK. The optional terminal is DBGTRSTn. This signal is mandatory in ARM 
cores because it is used to
reset the debug logic.

@Markus
Was den Stecker angeht halte ich es mit dem offiziellen ARM-Pinning. 
Dieses wird nämlich auch beim TI Evalbot wie auch den LPC Expressos 
verwendet und dürfte damit als Standard durchgehen. Dein Vorschlag hat 
natürlich auch gute Ansätze, für Nachbau usw. ist es allerdings 
problematisch wenn jeder einen eigenen Anschluß pflegt.

Grüße
Robert

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

>allerdings problematisch wenn jeder einen eigenen Anschluss pflegt.

Wenn man in seiner Firma einen Standard hat ist es wiederum kein 
Problem.
20 Polig = Standard JTAG.
10 Polig = Mein Stecker mit den Extras.
Somit sollte es sich nicht beißen.

Wenn man jetzt ein Demo-Board für die Allgemeinheit baut, dann sollte da 
ohnehin der 20-Polige drin sein.

Ich hab den Stecker mal veröffentlicht, denn mich nervt der 20-Polige 
ungemein. Wenn jetzt Olimex einen USB-Adapter (ARM-USB-OCD) bauen würde, 
in dem auch direkt der ohnehin schon vorhandene UART auch mit drauf 
hängt, dann wäre es perfekt.
In der Hoffnung, dass meine Steckerbelegung Anhänger findet habe ich den 
veröffentlicht. Die passende Adapterplatine habe ich auch im Artikel 
stehen.

von Marcus H. (mharnisch) Benutzerseite


Lesenswert?

Robert B. schrieb:
> Nach einem kurzen Überfliegen des Dokuments weiß ich jetzt für was der
> NJTRST zuständig ist - nur leider nicht ob er eben mit dem normalen
> Reset intern verschaltet ist.

Besser nicht. Der eine setzt den Core zurück, der andere (NJTRST) den 
JTAG TAP controller.

--
Marcus

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.