bekomme beim AT90USB162 den bootloader nicht zusammen mit meiner software zum laufen

Gast #974851
Lesenswert?

Hallo.

Ich habe mir schon das halbe Forum durchgelesen weil ich mir denke: Das 
kann doch nicht so schwer sein?!

Ich habe eine Software für den AT90USB162 geschrieben. Wenn ich sie 
einzeln mit AVR Studio 4.13 draufflashe dann läuft sie wie sie soll.

In der Software lese ich einen bestimmten (sonst leeren) Speicherbereich 
aus.
Um diesen Speicherbereich unabhängig von der Firmware zu beschreiben 
(ist notwendig) habe ich mir folgende Hex-File gemacht:

:10200000FFFFFFFFFFFFFFFFFFFFFFFFFF01234574
:00000001FF

Wenn ich einen Chip Erase, die Software draufschreibe und dann die 
Nutzdaten mache, dann läuft die Software nicht mehr ?!

Noch viel schlimmer ist, dass da eigentlich auch noch der Bootloader 
(v1.0.5) von Atmel drauf soll.

Ich habe auch schon probiert einfach die drei Hexfiles (Firmware, 
Nutzdaten und Bootloader) hintereinander in eine Hexfile zu schreiben 
(durch weglassen der :00000001FF zeilen dazwischen). Das lief 
seltsamerweise genau einmal, doch kann ich es nicht reproduzieren indem 
ich genau die gleiche (zusammengeschusterte) Hexfile drauflade.

Was mir aufgefallen ist: Die Bootloader-Hexfile fängt folgenden Zeilen 
an:
:020000020000FC
:043000000C94101EFE
:04302C000C94931D50

Und meine Firmware fängt mit folgender Zeile an:
:020000020000FC

Laut http://de.wikipedia.org/wiki/Intel_HEX werden damit Datensatztypen 
definiert. Nur weiß ich nicht welche auswirkungen das auf meinen 
Speicherinhalt hat.
Gast #975120
Lesenswert?

Hallo nochmal.

Vielleicht hilft folgendes weiter:

Ich habe jedes Hex-File einzeln draufgeladen und wieder runterkopiert. 
Dadurch verschwinden die nicht 00-DataRecords aus der Datei (sind dann 
also alle als Typ 00 umgerechnet drin).

Jedenfalls habe ich das mit allen drei gemacht und sie lassen sich auch 
noch nach der Umwandlung verifizieren (also hat das nichts verändert).

Jetzt habe ich mit diesem "nur-noch-typ-00-records" ein Hex-File 
gebastelt wo alles so drin ist wie es sollte.

Wenn ich dieses widerrum draufspiele, dann wird mein Programm wieder 
nicht ausgeführt. Aber ich kann den Prozessor per FLIP ansprechen und 
wenn ich dann da "Start Applikation" auswähle, dann läuft auch meine 
Software mit den richtigen Nutzdaten!

Mir scheint es so als ob der den Bootloader nicht verlässt bis "Start 
Application" ausgewählt worden ist. Das kann doch nicht Sinn des 
Bootloaders sein, oder?

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