Forum: Mikrocontroller und Digitale Elektronik Bootloader ST32F401RE Nucleo


von Julia S. (Firma: keine) (julia1010)


Lesenswert?

Hi,
ich habe zwar gestern noch einen super Link geschickt bekommen, aber der 
Hilft auch nicht. Ich versuche den Bootloader meines Controllers zu 
starten indem ich Boot0 auf high setze und Boot1 auf low. Ich hänge 
meine MAX Rs232 an die UART3 und versucht so mit dem Controller zu 
kommunizieren. Ich habe mir den Flash Loader von ST runtergelassen, da 
ich dacht es hängt an meinem selbst programmierten Flashloader, aber ich 
bekomme immer nur die Antwort, dass der Controller nicht antwortet und 
ich ihn restarten soll. Gesagt, getan, aber das hilft alles nichts. Hat 
jemand eine Idee?

von Steffen R. (steffen_rose)


Lesenswert?


von Julia S. (Firma: keine) (julia1010)


Lesenswert?

Leider alle UARTs durchprobiert und nichts funktioniert. Ich bekomm 
immer wieder die Errormeldung. Da die Doku vom Nucleo so schlecht ist, 
frag ich mich inzwischen ob der überhaupt einen Bootloader hat

von Julia S. (Firma: keine) (julia1010)


Lesenswert?

Vorallem hab ich´s mit einem anderen Board (STM32F429) versucht und da 
geht´s. Leider besteht mein Chef auf den Nucleo. Nucleo Experten dieser 
Welt vereinigt euch!

von Disko (Gast)


Lesenswert?

Nur eine Idee. Das nucleo ist mbed enabled. Siehe www.mbed.org evtl wird 
der bootloader von der mbed firmware controlliert. Evtl muss die 
deakiviert werden oder sie ist besser als der interne bootliader. Auf 
alle Fälle habe ich so ein Mbed Board mal mit usb Kabel und dem Keil 
Debugger sogar gedebugt.

von Tilen Majerle (Gast)


Lesenswert?

STM32F401 does not have USART.
Try on pins PB6/7 or PA9/10.

von Tilen Majerle (Gast)


Lesenswert?

Sorry, it dont have USART3.

von Steffen R. (steffen_rose)


Lesenswert?

Vorab sollte vielleicht geklärt werden, welchen Bootloader Du nutzen 
willst. Ich gehe davon aus, dass Du den CPU internen Bootloader nutzen 
willst und dadurch auch die nachträglich aufgespielten Bootloader 
löscht.

AN2606 - CD00167594.pdf

STM32F401xD(E) - USART1/USART2

USART1_RX pin Input PA10 pin: USART1 in reception mode
USART1_TX pin Output PA9 pin: USART1 in transmission mode

USART2_RX pin Input PD06 pin: USART2 in reception mode
USART2_TX pin Output PD05pin: USART2 in transmission mode

Am Anfang werden alle Bootloaderanschlüsse durchprobiert. Problematisch 
wäre, wenn auch einem anderen Anschluss eine Reaktion erfolgt. Dann 
hängt der Bootloader möglicherweise auf diesem Anschluss.

Hat das Nucleo Board nicht einen STLink on board? Wäre dieser nicht 
bedeutend einfacher zu handhaben?

von Julia S. (Firma: keine) (julia1010)


Lesenswert?

Ja ich möchte den CPU internen Bootloader verwenden. Die von dir 
genannten Anschlüsse habe ich schon versucht (außer D6 und D5, da dies 
Arduinoanschlüsse sind).

Mir ist schon klar, dass es mit dem ST Link einfacher geht, aber es geht 
im Endeffekt darum den Controller remote flashen zu können, muss ich auf 
den STLink verzichten.

Das mit der Reaktion auf dem anderen Anschluss verstehe ich nicht ganz. 
Wenn auf den Pins nichts hängt?

Gibt es eine Möglichkeit zu testen ob der CPU interne Bootloader intakt 
ist?

von Steffen R. (steffen_rose)


Lesenswert?

Der interne Bootloader prüft auch weitere Anschlüsse (SPI, I2C, USB). 
Sobald er etwas findet, nutzt er diesen Anschluss.

Das Dokument beschreibt welche.

von Steffen R. (steffen_rose)


Lesenswert?

Julia Scheidinger schrieb:
> (außer D6 und D5, da dies
> Arduinoanschlüsse sind).

Kann es sein, dass er hier hängenbleibt?

von Julia S. (Firma: keine) (julia1010)


Lesenswert?

Wie kann ich überprüfen wo er hängen bleibt oder ihn zwingen das zu 
überspringen?

von newbies (Gast)


Lesenswert?

hat jemand schon geschafft, den bootloader auf Nucleo F072 board über 
UART zu flashen ? mir ist es leider immer noch nicht gelungen, den 
Nucleo zu flashen.
BOOT0 auf high
PA2 --> Tx
PA3--> Rx

von Uwe B. (Firma: TU Darmstadt) (uwebonnes)


Lesenswert?

newbies schrieb:
> hat jemand schon geschafft, den bootloader auf Nucleo F072 board
> über
> UART zu flashen ? mir ist es leider immer noch nicht gelungen, den
> Nucleo zu flashen.
> BOOT0 auf high
> PA2 --> Tx
> PA3--> Rx

AN2606, Kapitel 10:
USART2_RX pin Input  PA15 pin: USART2 in reception mode
USART2_TX pin Output PA14 pin: USART2 in transmission mode

=> PA2/PA3 werden vom Systembootloader nicht benutzt!

von newbies (Gast)


Lesenswert?

Danke für die schnelle Antwort. Es funzt leider auch nicht. Mein STM 
Flash Loader demonstrator sagt immer noch "no response from the 
target...."

von mrs.bootloader (Gast)


Lesenswert?

Hast du sichergestellt das der controller komplett stromlos/off ist 
(usb, u(s)art)?
Hast du die pins für BOOT0 und BOOT1 richtig gesetzt?
Hast du den controller mit strom versorgt während die boot pins gesetzt 
waren?
Hast du sichergestellt das die U(S)ART leitungen nicht vertauscht sind 
und an dem richtigen port anliegen?
Hast du sichergestellt das der chip nicht schon tot ist?


Bootloader hier ab S92
http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf

Bootloader activation S19

von Dieter Graef (Gast)


Lesenswert?

Mit der HAL Funktion FLASH_OB_BootAddressConfig(uint32_t BootOption, 
uint32_t Address)  lässt sich die Bootaddresse einstellen b.z.w. mit 
FLASH_OB_GetBootAddress(uint32_t BootOption) auslesen.Es ist 
möglicherweise erst einmal ein Hilfsprojekt nötig um die Addresse wie 
gewünscht  einzustellen.

m.f.G.
Dieter

von Dieter Gräf (Gast)


Lesenswert?

Les grad bootloader is activated by applying pattern ,dann ist mein 
Beitrag oben falsch.

sorry
Dieter

von newbies (Gast)


Lesenswert?

Hallo uC Freunde,

Es funzt jetzt. Habe vergessen,den Jumper von U5V --> E5V zu setzen. Am 
sonsten sind die PINS richtig gesetzt bzw. verbunden.

BOOT0--> 3V
UART2 --> PA14, PA15
UART2 Spanng --> 5V Nucleo
UART2 GND --> GND Nucleo

UND U5V --> E5V !!

Danke

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.