Hallo, ich arbeite mich gerade in die STM32L4xx Familie ein. Die ST Application Note 2606 beschreibt, wie man die "internen" Bootloader aktiviert, welche Schnittstellen unterstützt und wie die entsprechenden Pins durch den BL konfiguriert werden. Was ich leider nicht einwandfrei herausfinden konnte ist, ob zu Beginn nur die Empfängerpins der jeweiligen Schnittstellen geprüft werden, oder ob auch gleich alle Sendepins konfiguriert werden. Ich halte letzteres zwar für unwahrscheinlich, aber ich find nirgends eine konkrete Aussage dazu. In den jeweiligen Protokollbeschreibungen steht zwar drin, dass die Schnittstelle nach der Erkennung entsprechend konfiguriert wird, aber das kann eben die reinen Schnittstellenparameter, die Portkonfiguration oder eben beides bedeuten. Kennt jemand den genauen Ablauf der Bootloaderkonfiguration oder hat mir einen Tipp, wo's drin steht? Ralf
Es gibt da zumindest 2 Appnotes von ST zu diesem Thema. Aber die sind mit gewisser Vorsicht zu genießen, denn häufig genug stimmen die nur im Generellen. Der Grund ist, daß es unterschiedliche Bootlader-versionen gibt, die auch unterschiedlich in ihrem Könen sind und die auf manche Chips nicht wirklich draufpassen - bzw. nicht auf alle Revisionen des betr. Chips passen. Ich habe da bei meinem Bootlader-Projekt einige Überraschungen erlebt. Ansonsten gilt: der Bootlader hat so seine Default-Ports und die sollte man eben dafür freihalten, wenn man ihn benutzen will. Egal, ob nun zuerst nur das RxD oder gleich auch das TxD bei seriell initialisiert wird. Bei den anderen in Frage kommenden Schnittstellen sieht das anders aus. Einen I2C oder SPI zum Beispiel kann man nicht mit nur einem Pin anfangen. W.S.
Figure 60.Bootloader V10.x selection for STM32L476xx/486xx in an2606 Rev.27 zeigt ein deutliches Flussdiagram. Daraus lese ich, dass aller RX der benutzten USART als Eingang geschaltet werde, sowie I2C und USB Pins. Was dann weiter passiert haengt davon ab, welcher Pin wackelt...
Uwe Bonnes schrieb: > Figure 60.Bootloader V10.x selection for STM32L476xx/486xx in an2606 > Rev.27 zeigt ein deutliches Flussdiagram. Daraus lese ich, dass aller RX > der benutzten USART als Eingang geschaltet werde, sowie I2C und USB > Pins. Was dann weiter passiert haengt davon ab, welcher Pin wackelt... So sehe ich das auch, allerdings kann ich in der Doku nicht erkennen, wie die potentiellen Ausgänge (z.B. UART TX) während der Detection programmiert sind. Auf die Schnelle habe ich im Web dazu nichts gefunden. Der bekannte VUSB-"Input"-Bug im Bootloader zeigt, dass ST gnadenlos Pins auf Ausgang schaltet und auf die Strombegrenzung hofft. Sollte das Thema richtig wichtig sein, müsste man mal ST direkt fragen. Einfaches Messen an den Pins wäre mir da zu heikel, wenn ich sehe, dass alle paar Monate eine neue AN2606 rauskommt.
Hallo zusammen, sorry für die späte Antwort. @W.S.: > Ansonsten gilt: der Bootlader hat so seine Default-Ports und die sollte > man eben dafür freihalten, wenn man ihn benutzen will. Egal, ob nun > zuerst nur das RxD oder gleich auch das TxD bei seriell initialisiert > wird. Bei den anderen in Frage kommenden Schnittstellen sieht das anders > aus. Einen I2C oder SPI zum Beispiel kann man nicht mit nur einem Pin > anfangen. Das blöde ist halt, dass der interne BL gleich auf allen möglichen Schnittstellen lauscht, was das Hardwaredesign drumrum ggf. verkomplizieren kann. @Uwe Bonnes: > Was dann weiter passiert haengt davon ab, welcher Pin wackelt... Ja, aber es ist halt nicht detailliert dokumentiert, was dann weiter passiert. @Marcus H.: > So sehe ich das auch, allerdings kann ich in der Doku nicht erkennen, > wie die potentiellen Ausgänge (z.B. UART TX) während der Detection > programmiert sind. Auf die Schnelle habe ich im Web dazu nichts gefunden. Eben, das war auch das, war mir dann Bauchweh gemacht hat. > Der bekannte VUSB-"Input"-Bug im Bootloader zeigt, dass ST gnadenlos > Pins auf Ausgang schaltet und auf die Strombegrenzung hofft. Sehr userfreundlich gedacht... > Sollte das Thema richtig wichtig sein, müsste man mal ST direkt fragen. > Einfaches Messen an den Pins wäre mir da zu heikel, wenn ich sehe, dass > alle paar Monate eine neue AN2606 rauskommt. Japp, ich denke ich werde den FAE mal fragen. Danke an alle. Ralf
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.