mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR-Studio Bootloader erstellen


Autor: mister_maxyf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Ich hoffe hier kann mir jemand weiterhelfen, weil ich im Internet und 
hier im Forum nicht das passende gefunden habe für mein Problem!

Ich möchte gern einen Bootloader schreiben. Ich benutze AVR-Studio und 
WinAVR.
So...wenn ich das richtig verstanden habe, dann erstelle ich ein neues 
Projekt, welches mein Bootloader werden soll. Dort initialisiere ich die 
Sachen die ich brauche (UART usw). Nun ist das Projekt also fertig! Wie 
sage ich dem AVR-Studio jetzt, dass er das doch bitte nicht in den 
Programmbereich sondern in den Bootbereich flashen soll?
Um dann zu testen ob alles funktioniert würde ich dann gerne ein neues 
Projekt erstellen welches meine App werden soll und dass dann ebenfalls 
in den Controller flashen (auf gleichem Wege wie den Bootloader also per 
JTAG)
Dies soll dan nur mal zum testen sein, ob der Bootloader an richtiger 
Stelle vorhanden ist und dann danach an die Adresse 0 springt und das 
eigentlich Programm ausführt!
Meine Fragen sind also:
1. Wie sage ich dem AVR Studio mach bitte das eine Projekt in den 
Bootbereich und das andere in den Programmbereich vom gleichen 
Controller
2. Lieg ich jetzt damit komplett falsch oder stell ich mich grad 
irgendwie blöd an?

Vielen Dank schon mal für die Antworten!

Autor: Thomas W. (thomasw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin!

Guck mal ins Manual von WinAVR. Die Frage ist da auch in den FAQ:

http://www.nongnu.org/avr-libc/user-manual/FAQ.htm...

MfG,
Thomas

Autor: mister_maxyf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmmm....
Leider Funktioniert das Ganze nicht so richtig! Wenn ich hinter den 
Prototy meiner Funktion das schreibe, dann sagt mir zwar mein MAP-File, 
dass die Funktion jetzt im .bootloader-Bereich liegt aber wenn ich dann 
eine Applikation reinflashe ist der Bereich auch gelöscht!
Und die Applikation reinflashen ohne das Device zu löschen geht auch 
ned! Das geht nur, wenn beim Projekt Bootloader den .text Bereich nach 
hinten verschiebe und dabei das Device lösche und dann anschließend die 
Applikation (bei der .text am Anfang des Flsh liegt) rinflashe ohne das 
Device zu löschen!
Dann scheinen beide (also Bootloader-Projekt und Applikation-Projekt) im 
Flash vorhanden zu sein!
Aber das Bootloader-Projekt ist dann halt in einem .text bereich und 
nicht in einem .bootloader Bereich! Ist das egal?
Was mach ich falsch?

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Tip von Thomas W. war nicht so ganz passend, denn du willst ja nicht 
Teile des Codes verschieben, sondern alles. Dazu brauchst du keine neue 
Section anlegen, sondern verschiebst einfach das text-Segment.
-Wl,--section-start=.text=0xXXXX

Autor: mister_maxyf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okey...alles klar!
Danke für die schnelle Hilfe!

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.