beautypg.com

Rainbow Electronics ATmega3290P_V User Manual

Page 50

background image

50

ATmega329/339/649/659

2552H–AVR–11/06

Table 23 shows reset and Interrupt Vectors placement for the various combinations of
BOOTRST and IVSEL settings. If the program never enables an interrupt source, the
Interrupt Vectors are not used, and regular program code can be placed at these loca-
tions. 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.

Note:

1. The Boot Reset Address is shown in Table 120 on page 280. For the BOOTRST

Fuse “1” means unprogrammed while “0” means programmed.

The most typical and general program setup for the Reset and Interrupt Vector
Addresses in ATmega329/3290/649/6490 is:

Table 23. Reset and Interrupt Vectors Placement

(1)

BOOTRST

IVSEL

Reset Address

Interrupt Vectors Start Address

1

0

0x0000

0x0002

1

1

0x0000

Boot Reset Address + 0x0002

0

0

Boot Reset Address

0x0002

0

1

Boot Reset Address

Boot Reset Address + 0x0002

Address

Labels

Code

Comments

0x0000

jmp

RESET

; Reset Handler

0x0002

jmp

EXT_INT0

; IRQ0 Handler

0x0004

jmp

PCINT0

; PCINT0 Handler

0x0006

jmp

PCINT1

; PCINT1 Handler

0x0008

jmp

TIM2_COMP

; Timer2 Compare Handler

0x000A

jmp

TIM2_OVF

; Timer2 Overflow Handler

0x000C

jmp

TIM1_CAPT

; Timer1 Capture Handler

0x000E

jmp

TIM1_COMPA

; Timer1 CompareA Handler

0x0010

jmp

TIM1_COMPB

; Timer1 CompareB Handler

0x0012

jmp

TIM1_OVF

; Timer1 Overflow Handler

0x0014

jmp

TIM0_COMP

; Timer0 Compare Handler

0x0016

jmp

TIM0_OVF

; Timer0 Overflow Handler

0X0018

jmp

SPI_STC

; SPI Transfer Complete Handler

0x001A

jmp

USART_RXC

; USART0 RX Complete Handler

0x001C

jmp

USART_UDRE

; USART0,UDR0 Empty Handler

0x001E

jmp

USART_TXC

; USART0 TX Complete Handler

0x0020

jmp

USI_STRT

; USI Start Condition Handler

0x0022

jmp

USI_OVF

; USI Overflow Handler

0x0024

jmp

ANA_COMP

; Analog Comparator Handler

0x0026

jmp

ADC

; ADC Conversion Complete Handler

0x0028

jmp

EE_RDY

; EEPROM Ready Handler

0x002A

jmp

SPM_RDY

; SPM Ready Handler

0x002C

jmp

LCD_SOF

; LCD Start of Frame Handler

0x002E

jmp

PCINT2

; PCINT2 Handler

0x0030

jmp

PCINT3

; PCINT3 Handler

;

0x0032

RESET:

ldi

r16, high(RAMEND)

; Main program start

0x0033

out

SPH,r16

; Set Stack Pointer to top of RAM

0x0034

ldi

r16, low(RAMEND)

0x0035

out

SPL,r16

0x0036

sei

; Enable interrupts

0x0037

xxx

...

...

...