Bootloader und AVRGCC

Gast #40051
Hi

Ich will einen Bootloader für den Mega16 schreiben. Da dieser dann im 
oberen Adressbreich (ab 0x1C00) läuft und ich eigentlich mit dem AVRGCC 
das ganze schreiben will muß dieser also Code ab 0x1C00 erzeugen und 
nicht ab 0x0000.
Jetzt zur Frage: (Jörg?)
Kann man das dem Compiler/Linker/avr-objcopy oder sonstwem mitgeben oder 
reicht es das Hexfile entsprechend anzupassen? Muß man sonstwas beachten 
zwecks Sprung und Call-Befehlen? Wird trotz der avr5 Architektur bei 
kurzen Sprüngen RJMP/RCALL anstatt JMP/CALL verwendet so das ein 
einfaches verschieben des Adressbreichs kein Problem ist?

Matthias
Gast #40052
Ja, man kann.  RTFDoc. ;-)  Es steht beides in der Doku drin,
was man dem Linker mitgeben muß für eine Verschiebung des
regulären Text-Segments, als auch wie man einen Bootloader mit
einer normalen Applikation zusammen unterbekommt (mit einer
separaten section).

Nö, meiner Meinung nach generiert der Compiler bei avr5 immer
lange Sprünge. Aber wart' mal, da habe ich doch mal was
geschrieben...  Ja, warum liest Du eigentlich die Doku nicht,
die wir so schreiben? ;-)  Unter ``Using the GNU Tools'' findest
Du -mshort-calls, das ist wohl, was Du willst.
Gast #40053
Hi

ich hab nicht in der avrlibc-Doku gesucht da ich sowas da drin 
eigentlich nicht erwartet hab. Aber ich weiß ja selber wie das ist: Da 
schreibt man eine schöne, umfangreiche Doku und niemand ließt sie :-)

Matthias
Gast #40054
Naja, die avr-libc Doku gibt sich Mühe, alles zu dokumentieren,
was die opensource toolchain für AVR angeht.  Sie will dabei
nicht die originale GNU Doku ersetzen, aber hinsichtlich AVR
die wesentlichen Akzente einfach noch mit herausarbeiten, die
in der umfänglichen Doku zum GCC eben einfach untergehen.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.