Ich habe ein benutzerdefiniertes stm32f429-Board gebaut. Es verwendet SPI, I2C, UART und CAN für die Kommunikation mit verschiedenen Sensoren. Dies ist mein erstes stm32f429-Board, ich habe schon Boards um die stm32f3- und f1-Serie herum entworfen. Ich verwende die SWD-Schnittstelle über den Stlink-v2-Debugger/Programmierer. Das STLink-Dienstprogramm erkennt das Board ohne Probleme und ich kann den Chip sogar mit STLink programmieren.
Mit openocd wird das Board jedoch ohne Probleme erkannt, aber ich stoße auf den folgenden Fehler, wenn ich von der Telnet-Sitzung aus einen "Reset Halt" durchführe.
"Ziel stm32f4x.cpu nicht angehalten"
Im Folgenden sind die openocd-Befehle aufgeführt, die ich verwende:
openocd -f ~/openocd-0.9.0/tcl/interface/stlink-v2.cfg -f ~/openocd-0.9.0/tcl/target/stm32f4x.cfg
In einem separaten Fenster
telnet localhost 4444
Meine anfängliche Diagnose war, dass dies definitiv mit der NRST-Schaltung zusammenhängt. Also habe ich überprüft, ob PDR_ON mit Vdd verbunden ist, da gemäß AN4488, wenn PRD_ON auf GND gezogen wird, die interne Power-On-Reset- und Power-Down-Reset-Schaltung deaktiviert ist. Die PDR_ON-Spannung beträgt 3,275 V, was für alle VDD-Pins gleich ist. VCAP1 und VCAP2 liegen bei 1,132 V und ich verwende 2,2-uF-Kappen an VCAP-Pins. Die externe Reset-Schaltung ist ziemlich einfach. Ich habe die relevanten Schnappschüsse des Schaltplans hier als Referenz beigefügt. Bitte teilen Sie mir mit, wie ich bei der weiteren Diagnose vorgehen soll oder ob ich etwas im Design der Platine übersehen habe.
PS PDR_ON ist mit Vdd verbunden. Im Schaltplan bleibt es unverbunden.
Der NRST-Pin ist direkt mit VDD festverdrahtet, sodass nicht alle Möglichkeiten zum Zurücksetzen des MCU-Kerns verfügbar sind.
Nur ich
Asusrog