STM32 Bootloader Protokoll

OP #2840026
Lesenswert?

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
Gast #2840452
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren