Format des Intel-Hex-File aus AVR-Studio variiert

Gast #1957105
Lesenswert?

Hallo,

ich habe folgendes Problem: Ich schreibe gerade für den ATxmega einen 
Bootloader, der ein komplettes hex-File über den UART empfängt und die 
Daten neu ins Flash schreibt. Nun habe ich bei einigen Test-Programmen 
das Problem, dass zwischen vielen hex-Zeilen mit ":10" auch welche mit 
nur zwei Bytes sind (":02"). Kann man das bei AVR-Studio oder WinAvR 
irgendwo einstellen, dass nur Zeilen mit ":10" generiert werden?

Natürlich könnte ich meinen Bootloader entsprechend verändern, damit er 
damit umgehen kann, nur überlege ich momentan, später noch eine 
AES-Verschlüsselung einzubauen, und da kämen mir die normalerweise 16 
Bytes pro Zeile sehr recht, da ich so bei einem Paket gleich Checksumme 
berechnen kann und die Daten danach dekodiere.

Danke schonmal.

Dave
Gast #1957135
Lesenswert?

Es ist völlig normal, dass im Intel Hex Record auch Datenlängen < 16 
Bytes auftauchen. Es gibt z.B. Vectoreinträge in Sprungleisten zu 
schreiben wo 2 Bytes ausreichen. Bei den Systemen die ich kenne, kann 
man die Recordlänge aus besagten Gründen eben nicht konfigurieren. Dein 
Boot Loader sollte deshalb in jedem Fall die Länge auswerten und NICHT 
auf 16 Bytes interpolieren.

Gruss
Gast #1957180
Lesenswert?

Meine erste Überlegung war, jeweils nur die 16 Datenbytes pro Zeile zu 
verschlüsseln - das passt halt einfach ganz gut zu den 128bit breiten 
Datenblöcken von AES128.

Die andere Überlegung ist halt, das gesamte Hex-File zu verschlüsseln 
und dann zu übertragen. Der Controller müsste dann alle empfangenen 
Daten erstmal entschlüsseln und kann sie dann erst weiterverarbeiten.

Mir erschien halt die erste Idee deutlich einfacher in der 
Implementation, daher meine Nachfrage nach den Zeilenlängen.

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