Hallo zusammen, ich möchte mir einen Bootloader für einen ATMega16 programmieren. Was muss ich dem Controller aus dem Hex-File übermitteln?
Naja, das Hexfile enthaelt was wo zu stehen hat. Daher muss der Bootloader eigentlich alles wissen. Wenn du nun dem bootloader ein Hexfile schcken willst, muss der das entschluesseln koennen. Ist nicht so schwierig. Moeglicherweise ist es einfacher, das Hexfile umzucodieren.
Mach besser vorher ein .BIN draus. Dann Flash pageweise beschreiben. (pagegröße abhängig vom Typ) Mir fallen da spontan 2 Vorteile ein.: - weniger Daten zu übertragen - kleinerer Bootloader
>wie mache ich eine .bin daraus Dein Fragezeichen fehlt Mit dem Programm WinHex http://www.x-ways.net/winhex/index-d.html
>Mir fallen da spontan 2 Vorteile ein.: >- weniger Daten zu übertragen >- kleinerer Bootloader Mir fallen da spontan 2 Nachteile ein: -Ausgabedatei von AVR-Studio u.a. nicht direkt nutzbar (jedes Mal vor dem Flashen muß umkodiert werden) -keine Möglichkeit für den Bootloader, Übertragungsfehler zu finden
Also ist es besser das hex-file zu übergeben. Ich übergebe dann Zeile für Zeile ohne Doppelpunkt und überprüfe die Prüfsumme am Schluß. Ist die Prüfsumme korrekt schreibe ich die Daten ab der übergeben Adresse in den Flash. Ist das so richtig???
>schreibe ich die Daten ab der übergeben Adresse in den Flash.
Erst schreibst Du die Daten in einen Pufferspeicher, der so groß ist,
wie eine Flashseite (Page). Ist der Puffer voll, überträgst Du diesen in
den temporären Flash-Page-Puffer und gibst den Page-Write-Befehl. Ist im
Datenblatt anhand von Codesegmenten gut erklärt
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.