Forum: Mikrocontroller und Digitale Elektronik Orginaler Bootloader STM32F0


von fummel (Gast)


Lesenswert?

Hallo Experten,
ich finde einfach nicht die nötigen Infos.
Ich möchte einen STM32F072rbt einsetzen. Gerüchte mäßig habe ich gehört 
das alle STM32 von Haus aus einen Bootloader an Board haben.
Stimmt das? Ist dieser immer erreichbar? Wie muss der Boot0 Pin 
beschalten sein wenn es diesen ominösen Bootloader gibt?
Die AN2606 hat mir leider nicht die Fragen beantwortet.
Wisst ihr ein besseres Dokument?

Danke schönen Abend

von Stefan F. (Gast)


Lesenswert?

fummel schrieb:
> Gerüchte mäßig habe ich gehört
> das alle STM32 von Haus aus einen Bootloader an Board haben.
> Stimmt das?

Ich glaube ja, zumindest ist das bei allem Modellen so, die ich mir 
angeschaut haben.

> Ist dieser immer erreichbar?

Er wird durch Beschaltung Boot Pins aktiviert. Bei einigen Modellen 
dienen Option Bits (sowas ähnliches wie die Fuses bei AVR) der 
Konfiguration. Andere wiederum sind nicht konfigurierbar.

> Wie muss der Boot0 Pin beschalten sein?

Das steht im Reference Manual der jeweiligen STM32Fxxx Serie.

von Christopher J. (christopher_j23)


Lesenswert?

Steht doch alles da:

Kapitel 11: STM32F071xx/072xx devices bootloader
> The STM32F071xx/072xx bootloader is activated by applying pattern2 (described
> in Table 2: Bootloader activation patterns)

und dann in Table 2:
> Pattern2 Boot0(pin) = 1 and nBoot1(bit) = 1

Das nBoot1 bit befindet sich in den Option Bytes und ist per 
Factory-Default auf 1. Du musst also nur Boot0 auf einen High-Pegel 
ziehen und landest dann im Bootloader, dessen Statemachine du ebenso in 
AN2606 findest.

von Stefan F. (Gast)


Lesenswert?

Was vielleicht nicht ganz so offensichtlich ist: Man muss einen Reset 
Impuls (oder Powercycle) machen, um den Bootloader nach dem einstellen 
der Boot Pins und Bits zu starten.

von fummel (Gast)


Lesenswert?

Christopher J. schrieb:
> Steht doch alles da:
>
> Kapitel 11: STM32F071xx/072xx devices bootloader
>> The STM32F071xx/072xx bootloader is activated by applying pattern2 (described
>> in Table 2: Bootloader activation patterns)
>
> und dann in Table 2:
>> Pattern2 Boot0(pin) = 1 and nBoot1(bit) = 1
>
> Das nBoot1 bit befindet sich in den Option Bytes und ist per
> Factory-Default auf 1. Du musst also nur Boot0 auf einen High-Pegel
> ziehen und landest dann im Bootloader, dessen Statemachine du ebenso in
> AN2606 findest.

Muss das nBoot1 Bit im Option Byte in der eigenen Firmware auch gesetzt 
werden um sich nicht aus zu sperren?

Oh danke das hatte ich nicht ganz verstanden.
Und der Bootloader  funktioniert immer mit Uart0?

Bietet ST auch eine Windows Software zum laden der Software?

Vielen Dank

von Christopher J. (christopher_j23)


Lesenswert?

fummel schrieb:
> Muss das nBoot1 Bit im Option Byte in der eigenen Firmware auch gesetzt
> werden um sich nicht aus zu sperren?

Die Option Bytes sind nicht im Bereich des normalen Flashs, werden also 
nicht einfach so überschrieben.

fummel schrieb:
> Und der Bootloader  funktioniert immer mit Uart0?

Das steht in AN2606. Für den F072 gehen USART1 oder USART2.

fummel schrieb:
> Bietet ST auch eine Windows Software zum laden der Software?

Ja, es gibt z.B. den STM32CubeProgrammer oder (nicht von ST, sondern 
open source) stm32flash: 
https://sourceforge.net/projects/stm32flash/files/

von Stefan F. (Gast)


Lesenswert?

Ich benutze von STM den etwas älteren Flash Loader Demonstrator.
https://www.st.com/en/development-tools/flasher-stm32.html

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
Noch kein Account? Hier anmelden.