STM32-Programmierung und BOOT0-Pin

Ich entwickle ein STM32H7-Board, das über SWD programmiert wird.

Ich bin neugierig, gibt es einen Grund, warum ich den BOOT0-Pin über einen Widerstand mit GND und nicht direkt mit GND verbinden sollte?

Ich werde den Bootloader nicht verwenden, aber kann es passieren, dass ich versehentlich den Debug-Port von der Software deaktiviere und dann die MCU nicht mehr über SWD programmieren kann und den Bootloader-Modus verwenden muss, indem ich BOOT0 hoch setze?

Wenn Sie einen Widerstand gegen Masse haben, können Sie den Zustand des Pins ändern, indem Sie ihn mit Vcc verbinden. Wenn der Pin direkt mit Masse verbunden ist, müssen Sie ihn trennen, bevor er hochgezogen werden kann

Antworten (2)

Wenn Sie eine Platine bauen, warum nicht einen Widerstand/Jumper vorsehen, um Boot0 mit +V und GND zu verbinden? Dann nur einen davon bestücken? Lassen Sie Ihre Optionen offen. Du brauchst keinen Widerstand. Ich ziehe es vor, einen Jumper anstelle eines Widerstands zu verwenden.

Sie können Header-Shunts als Jumper verwenden, die leicht geändert werden können, aber mehr Platz auf der Leiterplatte, Komponenten und mehr Montagearbeit erfordern. Oder platzieren Sie einfach einen SMD-Chip-Footprint, bei dem Sie während der Montage entweder einen SMD-Widerstand oder einen SMD-Jumper (Null-Ohm-Widerstand) verwenden können. Dann können Sie im Nachhinein so viel an den Dingen herumspielen, wie Sie wollen.

Ich werde den Bootloader nicht verwenden, aber kann es passieren, dass ich versehentlich den Debug-Port von der Software deaktiviere und dann die MCU nicht mehr über SWD programmieren kann und den Bootloader-Modus verwenden muss, indem ich BOOT0 hoch setze?

Genau aus diesem Grund sollten Sie möglicherweise einen Widerstand und keinen Null-Ohm-Jumper verwenden. Bei einem Widerstand kann man diesen manuell mit einem Stück Draht an der gegenüberliegenden Schiene starten im Bootloader-Modus einmalig, ohne die Heißluftstation rausholen und den Widerstand wechseln zu müssen.

Zugegeben, wenn Sie die Hardware-Reset-Leitung herausgeholt haben und eine SWD-Sonde, die sie tatsächlich ansteuert , und eine geeignete SWD-Softwarekonfiguration (beides häufige Fehlerquellen - und insbesondere ein Fehler, der im routinemäßigen Gebrauch möglicherweise nicht bemerkt wird, aber nur wenn diese Art der Wiederherstellung nicht funktioniert), dann ist dies eine weitere Möglichkeit, deaktivierte SWD-Leitungen zu umgehen.