www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik bekomme beim AT90USB162 den bootloader nicht zusammen mit meiner software zum laufen


Autor: CRuS (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: CRuS (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Stefan Salewski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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?"

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.