X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcpu%2Farm%2Fdrv%2Ftimer_at91.h;h=0628d3940330d3cbdd4f22bd735d1750d4815035;hb=d0a30c18583cc3fd2e4be8d4aa83af0d917a2351;hp=54ba6e37f37f6d693e981b5693aba5954b161eb5;hpb=2c5f3d04467211d59b9387abe73c1f286ea74806;p=bertos.git diff --git a/bertos/cpu/arm/drv/timer_at91.h b/bertos/cpu/arm/drv/timer_at91.h index 54ba6e37..0628d394 100644 --- a/bertos/cpu/arm/drv/timer_at91.h +++ b/bertos/cpu/arm/drv/timer_at91.h @@ -30,8 +30,6 @@ * * --> * - * \version $Id$ - * * \author Francesco Sacchi * * \brief Low-level timer module for Atmel AT91 (interface). @@ -64,9 +62,13 @@ */ #if (CONFIG_TIMER == TIMER_ON_PIT) - void timer_handler(void); + /* + * On ARM all system IRQs are handled by the sysirq_dispatcher, so the actual + * timer handler can be treated like any other normal routine. + */ + #define DEFINE_TIMER_ISR void timer_handler(void); \ + void timer_handler(void) - #define DEFINE_TIMER_ISR void timer_handler(void) #define TIMER_TICKS_PER_SEC 1000 #define TIMER_HW_CNT (CPU_FREQ / (16 * TIMER_TICKS_PER_SEC) - 1) @@ -75,6 +77,7 @@ /** Type of time expressed in ticks of the hardware high-precision timer */ typedef uint32_t hptime_t; + #define SIZEOF_HPTIME_T 4 INLINE void timer_hw_irq(void) {