Deve programas AVR sempre começar com uma instrução de salto?
Pergunta
Todos os programas de exemplo AVR que eu já vi início com código tal como o seguinte:
.org $0000
rjmp Reset
; ...
Reset:
; Start of program
Se eu não estou fazendo uso de quaisquer interrupções que posso fazer sem a rjmp
e iniciar o programa em $0000
?
Solução
Nos locais de memória programa imediatamente após $ 0000 vetores de interrupção estão localizados. Eu acho que se você não estiver usando qualquer interrupção, você pode começar seu programa sem a rjmp. De ATmega 128 datasheet:
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.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow