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