Hallo, ich bin gerade dabei ein Programm ähnlich dem Flash Loader Demonstrator von ST zu schreiben. Ich möchte über den integrierten USART Bootloader von STM32F103RB ein neues Programm flashen können. http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/APPLICATION_NOTE/CD00264342.pdf Die grundlegenden Funktionen habe ich bereits realisiert. Jedoch verstehe ich nicht wie man den Speicher beschreiben kann. Laut Handbuch auf Seite 18 und den folgenden Seiten soll man wie folgt vorgehen: - die Anzahl der zu schreibenden Datenbytes an den STM senden - Datenbytes (N+1 Bytes) und die Checksumme senden - ... Das Problem ist, dass ich nicht verstehe was das N+1 sein soll. Die zweite Zeile im HEX-File enthält die ersten Daten: :10 0000 00 00C00020817F0008F918000805190008 C9 Demnach müsste ich zuerst eine 0x10 für 16 Datenbytes, dann die Nutzdaten und dann die Checksumme senden. Wenn ich das jedoch mit HTerm ausprobiere, muss ich noch ein zusätzlichen Byte nach der Checksumme senden bis der Bootloader mir mit einem NACK antwortet, also im Prinzip 17 Datenbytes. Hat das vielleicht schon mal jemand gemacht und kann helfen. Gruß Frank
In der Beschreibung steht, dass maximal 256 Bytes Nutzdaten gesendet werden können. In das Längenbyte passt aber maximal nur der Wert 255. Daher vermute ich, dass der Bootloader intern das Längenbyte inkrementiert. Ralf
Hallo Ralf, vielen Dank. Hab ich gerade ausprobiert und funktioniert. Bei der Anzahl der zu senden Bytes muss man einen abziehen. Sehr merkwürdig die Dokumentation Danke und Gruß
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.