Hi zusammen,
ich versuche, den Flash eines STM32F107 mit dem integrierten Bootloader zu programmieren. Anbei die UART Übertragung. Der Write verläuft wie in AN3155 beschrieben. Folgendes ist im Verlauf zu sehen:
- 0x7F wegen Auto-Baud
- get (0x00 0xFF)
- write (0x31 0xCE) an 0x08000000 und 4 Bytes (0x00, 0x00, 0x00, 0x20)
- read (0x11 0xEE) an 0x08000000 ergibt 4 Bytes (0x00, 0x00, 0x01, 0x20)
- go (0x21 0xDE) an 0x08000000
Das Problem: Alle Commands werden mit einem ACK (0x79) von dem Bootloader beantwortet, dennoch stimmen die ausgelesenen Daten nicht mit den geschriebenen überein. Ein Check mit dem CubeProgrammer liest ebenfalls die alten Daten aus. Meine Frage ist also: Warum werden alle Commands mit einem ACK beantwortet, dennoch aber nichts geschrieben?
Die Notes aus der AN3155 mit der Write-Protection (wo nicht geschrieben wird, wenn write-protected, aber dennoch ein ACK geantwortet) habe ich bereits berücksichtigt, indem ich vorher den Befehl write_unprotect() ausgeführt habe. Dieser wurde auch mit zwei ACKs beantwortet und anschließend automatisch ein MCU Reset durchgeführt. Hat aber am Ergebnis nichts geändert.
Vielen Dank im Voraus schonmal

