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.
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?
>Ich habe mir schon das halbe Forum durchgelesen Respekt, das sind einige Gigabyte an Text! >Das kann doch nicht Sinn des >Bootloaders sein, oder? Könnte am fehlenden Pullup liegen, falls es eine selbstgebastelte Platine ist. Hatte ich bei meiner ersten Platine auch vergesssen, siehe dazu auch Beitrag "Re: AVR90USB647 - Wie programmiere ich diesen über USB?"
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.