STM32F446RE und J-Link: JNTRST

OP #6403918
Lesenswert?

Hallo zusammen,

ich habe eine Baugruppe mit STM32F446RE und zehnpoliger JTAG-Buchse, wie 
im Bild zu sehen. JNTRST/PB4 ist nicht auf die Buchse geführt, sondern 
wird anderweitig als Eingang verwendet.

Debugge ich unter EmBitz mit dem ST-Link V2, lässt sich die MCU sowohl 
im SWD-Modus als auch im JTAG-Modus normal programmieren und debuggen.

Mit dem J-Link EDU funktioniert im SWD-Modus auch alles normal. Im 
JTAG-Modus dagegen lässt sich die MCU programmieren und solange 
debuggen, bis PB4 auf Eingang geschaltet wird (d.h. die entsprechenden 
Bits in GPIOB->MODER gelöscht). Ab diesem Moment gibt es keinerlei 
Reaktion mehr auf das Setzen von Breakpoints, und bis auf einen Reset 
lässt sich die MCU nicht mehr mit dem J-Link-Debugger steuern, läuft 
aber weiter.

Da PB4 = JNTRST, gehe ich davon aus, dass dieses Verhalten irgendwie 
damit zusammenhängt. Leider werde ich aus den Reset-Types (beschrieben 
hier: https://www.segger.com/downloads/jlink/UM08001_JLink.pdf ) des 
J-Link nicht schlau. Ich hätte den Reset type "0" für korrekt gehalten. 
Andererseits ist mir nicht klar, was die Anleitung mit "nRESET and nTRST 
are coupled" (Seite 158) meint.

Ich habe das selbe EmBitz auch dem selben PC, den selben Quelltext, das 
selbe Binary, das selbe Adapterkabel von 10- auf 20poligen JTAG und nur 
unterschiedliche JTAG-Adapter (ST-Link V2/isol und J-Link EDU).
Jetzt gehen mir die Ideen aus. Was mach der J-Link anders als der 
ST-Link V2?

Nachtrag:

Ich habe es als "Device Limitation" (auf Seite 10) gefunden:
https://studio.segger.com/packages/STM32F4xx/CMSIS/Documents/DM00155929.pdf
Interessant ist dann, dass sich der ST-Link nicht darum zu scheren 
scheint.

Ich lasse das mal stehen, falls jemand auf ein ähnliches Problem stößt.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren