Datasheet
49
ATtiny828 [DATASHEET]
8371A–AVR–08/12
Note: 1. When the IVSEL bit in MCUCR is set, interrupt vectors are moved to the start of the Flash boot section. In
this case, the address of each interrupt vector will be the address in this table added to the start address of
the Flash boot section.
2. When the BOOTRST fuse is programmed, the device will jump to the boot loader address at reset. See
“Entering the Boot Loader Program” on page 216.
In case the program never enables an interrupt source, the interrupt vectors will not be used and, consequently, 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.
A typical and general setup for interrupt vector addresses in ATtiny828 is shown in the program example below.
Note: See “Code Examples” on page 7.
Table 17 shows reset and interrupt vector placement for combinations of BOOTRST and IVSEL settings.
Assembly Code Example
.org 0x0000 ; Set address of next
statement
rjmp RESET ; Address 0x0000
rjmp INT0_ISR ; Address 0x0001
rjmp INT1_ISR ; Address 0x0002
rjmp PCINT0_ISR ; Address 0x0003
rjmp PCINT1_ISR ; Address 0x0004
rjmp PCINT2_ISR ; Address 0x0005
rjmp PCINT3_ISR ; Address 0x0006
rjmp WDT_ISR ; Address 0x0007
rjmp TIM1_CAPT_ISR ; Address 0x0008
rjmp TIM1_COMPA_ISR ; Address 0x0009
rjmp TIM1_COMPB_ISR ; Address 0x000A
rjmp TIM1_OVF_ISR ; Address 0x000B
rjmp TIM0_COMPA_ISR ; Address 0x000C
rjmp TIM0_COMPB_ISR ; Address 0x000D
rjmp TIM0_OVF_ISR ; Address 0x000E
rjmp SPI_ISR ; Address 0x000F
rjmp USART0_RXS_ISR ; Address 0x0010
rjmp USART0_RXC_ISR ; Address 0x0011
rjmp USART0_DRE_ISR ; Address 0x0012
rjmp USART0_TXC_ISR ; Address 0x0013
rjmp ADC_ISR ; Address 0x0014
rjmp EE_RDY_ISR ; Address 0x0015
rjmp ANA_COMP_ISR ; Address 0x0016
rjmp TWI_ISR ; Address 0x0017
rjmp SPM_RDY_ISR ; Address 0x0018
rjmp RESERVED ; Address 0x0019
RESET: ; Main program start
<instr> ; Address 0x001A
...