|
From: | Jose Torres |
Subject: | [avr-libc-dev] [bug #29964] Possible Incorrect Interrupt Vector Addresses for mega168 |
Date: | Wed, 26 May 2010 03:40:10 +0000 |
User-agent: | Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 |
URL: <http://savannah.nongnu.org/bugs/?29964> Summary: Possible Incorrect Interrupt Vector Addresses for mega168 Project: AVR C Runtime Library Submitted by: capek Submitted on: Wed 26 May 2010 03:40:05 AM GMT Category: Header Severity: 3 - Normal Priority: 5 - Normal Item Group: Header files Status: None Percent Complete: 0% Assigned to: None Open/Closed: Open Discussion Lock: Any Release: 1.6.7 Fixed Release: None _______________________________________________________ Details: I have been running into an issue using interrupts with avr-libc 1.6.7 and an atmega168. According to the mega168 datasheet the following are a sampling of the interrupt vector addresses: Address Labels Code Comments 0x0000 jmp RESET ; Reset Handler 0x0002 jmp EXT_INT0 ; IRQ0 Handler 0x0004 jmp EXT_INT1 ; IRQ1 Handler 0x0006 jmp PCINT0 ; PCINT0 Handler 0x0008 jmp PCINT1 ; PCINT1 Handler 0x000A jmp PCINT2 ; PCINT2 Handler 0x000C jmp WDT ; Watchdog Timer Handler 0x000E jmp TIM2_COMPA ; Timer2 Compare A Handler 0x0010 jmp TIM2_COMPB ; Timer2 Compare B Handler 0x0012 jmp TIM2_OVF ; Timer2 Overflow Handler 0x0014 jmp TIM1_CAPT ; Timer1 Capture Handler 0x0016 jmp TIM1_COMPA ; Timer1 Compare A Handler 0x0018 jmp TIM1_COMPB ; Timer1 Compare B Handler 0x001A jmp TIM1_OVF ; Timer1 Overflow Handler 0x001C jmp TIM0_COMPA ; Timer0 Compare A Handler 0x001E jmp TIM0_COMPB ; Timer0 Compare B Handler 0x0020 jmp TIM0_OVF ; Timer0 Overflow Handler iom168.h includes the vectors from iomx8.h. Which state the vectors as follows: /* External Interrupt Request 0 */ #define INT0_vect _VECTOR(1) #define SIG_INTERRUPT0 _VECTOR(1) /* External Interrupt Request 1 */ #define INT1_vect _VECTOR(2) #define SIG_INTERRUPT1 _VECTOR(2) /* Pin Change Interrupt Request 0 */ #define PCINT0_vect _VECTOR(3) #define SIG_PIN_CHANGE0 _VECTOR(3) /* Pin Change Interrupt Request 0 */ #define PCINT1_vect _VECTOR(4) #define SIG_PIN_CHANGE1 _VECTOR(4) /* Pin Change Interrupt Request 1 */ #define PCINT2_vect _VECTOR(5) #define SIG_PIN_CHANGE2 _VECTOR(5) /* Watchdog Time-out Interrupt */ #define WDT_vect _VECTOR(6) #define SIG_WATCHDOG_TIMEOUT _VECTOR(6) /* Timer/Counter2 Compare Match A */ #define TIMER2_COMPA_vect _VECTOR(7) #define SIG_OUTPUT_COMPARE2A _VECTOR(7) These vectors are correct for the 48 and 88 but different for the 168. Thanks! _______________________________________________________ Reply to this item at: <http://savannah.nongnu.org/bugs/?29964> _______________________________________________ Message sent via/by Savannah http://savannah.nongnu.org/
[Prev in Thread] | Current Thread | [Next in Thread] |