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
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
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.