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.
:
Bearbeitet durch User
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.