Muss AVR Programme immer mit einem relativen Sprungbefehl starten?
Frage
Alle Beispiele AVR Programme, die ich je mit Code wie die folgenden beginnen gesehen haben:
.org $0000
rjmp Reset
; ...
Reset:
; Start of program
Wenn ich nicht Verwendung von Interrupts machen kann ich ohne die rjmp
tun und das Programm bei $0000
starten?
Lösung
Bei den Programmspeicherplätzen unmittelbar nach $ 0000 Interrupt-Vektoren befinden. Ich denke, dass, wenn Sie keine Interrupt verwenden, können Sie Ihr Programm ohne rjmp beginnen konnte. Von ATmega 128 Datenblatt:
If the program never enables an interrupt source, the interrupt vectors are
not used, and regular program code can be placed at these locations. This is
also the case if the Reset Vector is in the Application section while the
interrupt vectors are in the Boot section or vice versa.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow