www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bootloader mit Ponyprog flashen ...


Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich hab mich endlich auch mal an das Thema Bootloader rangewagt. Ich 
meine auch das Pribzip verstanden zu haben. Allerdings ist mir eins noch 
unklar:
Der Bootloaderbereich befindet sich am oberen Ende des Flashs. Wenn ich 
ganz normal mit Ponyprog flashe wird das Programm ja ab Adresse 0x0000 
im Kontroller abgelegt. Eigentlich dachte ich es reicht vor den Flashen 
die BOOTRST fuse umzulegen. Laut Datenblatt ist das aber nur für den 
Resetvektor zuständig. Wie muß ich also vorgehen ??

Ach ja ...
Ich arbeite mit WinAVR unter AVR Studio 4.12 Built 498

Danke im Vorraus ...
Gerhard

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welchen Bootloader benutzt du?
Ich nehme den aus der Codesammlung von PeDa für einen Mega16

Zunächst mal musst du wissen, wie gross der Bootlaoder
ist. Es gibt da ja mehrere Einsprungspunkte die per Fuse
eingestellt werden.

> Wenn ich ganz normal mit Ponyprog flashe wird das Programm ja
> ab Adresse 0x0000 im Kontroller abgelegt.

Da macht aber nichts. Das Hex-File von zumindest dem PeDa
Bootloader ist schon so hergerichtet, dass man es einfach
in den Controller flasht und alles kommt an die richtige
Stelle.

Ich machs so:
Bootloader flashen. Dann die Fuse-Bits umstellen
(Länge und damit auch den Einsprungspunkt)
fertig. Ab an die Serielle damit und schauen obs funktioniert.

Wenn du dich mit dem Einsprungspunkt verhaust und nichts
geht mehr: kein Problem. Kommt der Prozessor halt wieder
ans Pony und nachschauen wo das Problem liegt. Aussperren
kannst du dich auf die Art nicht.

Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Welchen Bootloader benutzt du?
>Ich nehme den aus der Codesammlung von PeDa für einen Mega16

Ich mach einen eigenen ... schleißlich will ich auch was dazu lernen :-)

>Zunächst mal musst du wissen, wie gross der Bootlaoder
>ist. Es gibt da ja mehrere Einsprungspunkte die per Fuse
>eingestellt werden.

Du meinst sicher die Größe des Bootbereichs (BOOTSZ0 und BOOTSZ1)? Ja, 
die Fuses habe ich im Moment auf größt möglichen Booloader eingestellt.

Vielleicht sollte ich noch dazu schreiben, dass ich mit einem ATMega8535 
arbeite.

>fertig. Ab an die Serielle damit und schauen obs funktioniert.

Nix seriell ... das soll per USB laufen.

Habe ich das jetzt richtig verstanden? Ich muß dem Linker die 
Zieladresse für den Bootbereich mitteilen? Wenn ja, wie mach ich das in 
der Entwicklungsumgebung in AVR4 und GCC? In den Einstellungen hab ich 
nix gefunden woi man die Linkadresse angeben könnte ???



Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Wenn ja, wie mach ich das in
> der Entwicklungsumgebung in AVR4 und GCC?

Ich denke nicht, dass dir da AVR4 weiterhelfen wird.
Das ist schon ein sehr spezielles Thema. -> Externes
Makefile.

Aber: Warum holst du dir nicht aus der Codesammlung
den PeDa Bootloader und studierst dort mal das Makefile.
Da steht alles drin, was du wissen und einstellen
mußt.

Autor: Gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, das Projekt von Peter Danneger hilft mir nicht wirklich weiter 
...

Irgendwie muß man dem AVR Studio doch sagen können an welche Adresse 
gelinkt werden soll ???

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.