Datasheet

73
ATmega640/1280/1281/2560/2561
2549K–AVR–01/07
When the BOOTRST Fuse is unprogrammed, the Boot section size set to 8K bytes and
the IVSEL bit in the MCUCR Register is set before any interrupts are enabled, the most
typical and general program setup for the Reset and Interrupt Vector Addresses is:
Address Labels Code Comments
0x00000 RESET: ldi r16,high(RAMEND) ; Main program start
0x00001 out SPH,r16 ; Set Stack Pointer to top of RAM
0x00002 ldi r16,low(RAMEND)
0x00003 out SPL,r16
0x00004 sei ; Enable interrupts
0x00005 <instr> xxx
;
.org 0x1F002
0x1F002 jmp EXT_INT0 ; IRQ0 Handler
0x1F004 jmp EXT_INT1 ; IRQ1 Handler
... ... ... ;
0x1FO70 jmp USART3_TXC ; USART3 TX Complete Handler
When the BOOTRST Fuse is programmed and the Boot section size set to 8K bytes, the
most typical and general program setup for the Reset and Interrupt Vector Addresses is:
Address Labels Code Comments
.org 0x0002
0x00002 jmp EXT_INT0 ; IRQ0 Handler
0x00004 jmp EXT_INT1 ; IRQ1 Handler
... ... ... ;
0x00070 jmp USART3_TXC ; USART3 TX Complete Handler
;
.org 0x1F000
0x1F000 RESET: ldi r16,high(RAMEND) ; Main program start
0x1F001 out SPH,r16 ; Set Stack Pointer to top of RAM
0x1F002 ldi r16,low(RAMEND)
0x1F003 out SPL,r16
0x1F004 sei ; Enable interrupts
0x1F005 <instr> xxx