Deve programmi AVR iniziare sempre con un'istruzione di salto parente?
Domanda
Tutti i programmi di AVR esempio io abbia mai visto iniziano con codice come il seguente:
.org $0000
rjmp Reset
; ...
Reset:
; Start of program
Se io non sto facendo uso di interrupt posso fare a meno del rjmp
e avviare il programma a $0000
?
Soluzione
Alle locazioni di memoria programma subito dopo $ 0000 vettori di interrupt si trovano. Credo che se non si utilizza alcuna interruzione, si potrebbe avviare il programma senza il RJMP. Da ATmega 128 foglio di dati:
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.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow