mikrocontroller.net

Forum: Compiler & IDEs MegaLoad mit WinAVR compilieren


Autor: Georg Schmidt (Gast)
Datum:

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

Autor: Berndt Brandes (Gast)
Datum:
Angehängte Dateien:

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

Autor: Georg Schmidt (Gast)
Datum:

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

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.