Rainbow Electronics ATmega64M1 User Manual

Page 56

Advertising
background image

56

8209A–AVR–08/09

ATmega16M1/32M1/64M1

0x01C

jmp

TIM1_OVF

; Timer1 Overflow Handler

0x01E

jmp

TIM0_COMPA

; Timer0 Compare A Handler

0x020

jmp

TIM0_COMPB

; Timer0 Compare B Handler

0x022

jmp

TIM0_OVF

; Timer0 Overflow Handler

0x024

jmp

CAN_INT

; CAN MOB,Burst,General Errors Handler

0x026

jmp

CAN_TOVF

; CAN Timer Overflow Handler

0x028

jmp

LIN_TC

; LIN Transfer Complete Handler

0x02A

jmp

LIN_ERR

; LIN Error Handler

0x02C

jmp

PCINT0

; Pin Change Int Request 0 Handler

0x02E

jmp

PCINT1

; Pin Change Int Request 1 Handler

0x030

jmp

PCINT2

; Pin Change Int Request 2 Handler

0x032

jmp

PCINT3

; Pin Change Int Request 3 Handler

0x034

jmp

SPI_STC

; SPI Transfer Complete Handler

0x036

jmp

ADC

; ADC Conversion Complete Handler

0x038

jmp

WDT

; Watchdog Timer Handler

0x03A

jmp

EE_RDY

; EEPROM Ready Handler

0x03C

jmp

SPM_RDY

; Store Program Memory Ready Handler

;

0x03ERESET:

ldi

r16, high(RAMEND); Main program start

0x03F

out

SPH,r16

; Set Stack Pointer to top of RAM

0x040

ldi r16,

low(RAMEND)

0x041

out SPL,r16

0x042

sei

; Enable interrupts

0x043

<instr> xxx

...

... ... ...

When the BOOTRST Fuse is unprogrammed, the Boot section size set to 2K bytes and the
IVSEL bit in the MCUCR Register is set before any interrupts are enabled, the most typical and
g e n e r a l p r o g r a m s e t u p f o r t h e R e s e t a n d I n t e r r u p t V e c t o r A d d r e s s e s i n
ATmega16M1/32M1/64M1 is:

Address

Labels Code

Comments

0x000

RESET: ldi

r16,high(RAMEND); Main program start

0x001

out

SPH,r16

; Set Stack Pointer to top of RAM

0x002

ldi

r16,low(RAMEND)

0x003

out

SPL,r16

0x004

sei

; Enable interrupts

0x005

<instr> xxx

;

.org 0xC02

0xC02

jmp

ANA_COMP_0

; Analog Comparator 0 Handler

0xC04

jmp

ANA_COMP_1

; Analog Comparator 1 Handler

...

...

...

;

0xC3C

jmp

SPM_RDY

; Store Program Memory Ready Handler

When the BOOTRST Fuse is programmed and the Boot section size set to 2K bytes, the most
typical and general program setup for the Reset and Interrupt Vector Addresses in
ATmega16M1/32M1/64M1 is:

Advertising