MegaLoad mit WinAVR compilieren

Gast #74940
Hallo,

ich möchte auf einem ATMega128 den Bootloader MegaLoad von microsyl
(http://www.microsyl.com) einsetzen, jedoch möchte ich ihn auch ggf.
modifizieren können. MegaLoad ist in der Originalfassung jedoch mit
ICCAVR von ImageCraft (http://www.imagecraft.com/software/) compiliert,
ich arbeite mit WinAVR und möchte auch dabei bleiben.

Ich habe mir nun mal die Testversion von ICCAVR heruntergeladen und
die Includes daraus in WinAVR eingebunden. Als makefile habe ich das
Beispiel-makefile aus WinAVR genommen, auf die Quelldateien abgestimmt
und in den Linker-Options die Option -Ttext=0x01F000 hinzugefügt, damit
das Programm im Boot-Bereich landet.

Einziges Problem scheint nun die Assembler-Datei zu sein. Leider habe
ich von Assembler nicht allzuiel Ahnung. Wenn ich die in der
Original-Version copiliere, bekomme ich nur Fehlermeldungen. Wenn ich
die Datei ein wenig umschreibe (XCALL -> RCALL, Funktionsdeklaration
mit .global, nur einen Doppelpunkt hinter Funktionsname, habe ich aus
einer anderen Assembler-Datei abgeschaut...), wird der Bootloader zwar
ohne Probleme von WinAVR compiliert, jedoch funktioniert er nur bis zu
dem Punkt, an dem die erste Assembler-Funktion aufgerufen wird.

Hat da vielleicht schon jemand Erfahrungen mit gemacht, wie man eine
solche Assembler-Datei von einem Compiler auf den anderen umschreiben
kann?

Bin für jede Hilfe dankbar!

Gruß, Georg
Gast #74941
Arthur de Beun hat das Problem mal gelöst (entweder hier oder bei
http://www.avrfreaks.com/ suchen, weiß nicht mehr wo), siehe Anhang. Es
liegt an der unterschiedlichen Registernutzung der Compiler, die muß
daher auch angepasst werden.

Achtung: Makefile muß auf die jeweilige Umgebung, Prozessortype...
angepasst werden

/Berndt
Angehängte Dateien:
Gast #74942
Hallo Berndt.
Die angepasste assembly.S funktioniert super.
Ich hatte mir schon fast gedacht, dass es an den Registern liegt, hatte
nur leider keine Ahnung, wie man das anpasst.
Besten Dank!

Gruß, Georg

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.