Gast
#875746
Moin, ich versuche gerade einen Bootloader für meinen AVR in C zu programmieren. Meine ersten Versuche in ASM haben wunderbar funktioniert. Jetzt habe ich allerdings folgende Probleme welche sich in ASM einfach lösen ließen: 1) Wie springe ich in C an eine bestimmte Adresse ? D.h. wenn der Bootloader sich beenden soll habe ich in ASM einfach einen Sprung an 0x0000 gemacht. Wie macht man sowas in C ? 2) Um herauszufinden ob ein Update der eigentlichen Firmware notwendig ist liest mein ASM-Bootloader die Firmwareversion an einer bestimmnten Adresse im Flash. Wie geht das in C ? In ASM war das einfach per LPM möglich. Die Version wurde im Hauptprogramm einfach per .ORG-Anweisung an eine bestimmte Adresse gelegt. Danke.