Hello! I am using Ecos v3.0 on AT91SAM7SE architecture in one of my project and recently I've stumbled on the problem of catching interrupts from IRQ0 external line. After some datasheets exploration I've realized that AT91SAM7SE for some reason uses not the same vectors for the IRQ0 and IRQ1 than AT91SAM7S, but it is not reflected in Ecos.
So, I suggest a little patch to resolve the problem: diff -Nudr packages.orig/hal/arm/at91/at91sam7s/v3_0/include/hal_platform_ints.h packages/hal/arm/at91/at91sam7s/v3_0/include/hal_platform_ints.h --- packages.orig/hal/arm/at91/at91sam7s/v3_0/include/hal_platform_ints.h 2009-01-29 20:48:56.000000000 +0300 +++ packages/hal/arm/at91/at91sam7s/v3_0/include/hal_platform_ints.h 2010-03-12 13:19:33.000000000 +0300 @@ -97,8 +97,13 @@ #define CYGNUM_HAL_INTERRUPT_ADC 17 #endif +#ifdef CYGHWR_HAL_ARM_AT91SAM7SE +#define CYGNUM_HAL_INTERRUPT_IRQ0 29 +#define CYGNUM_HAL_INTERRUPT_IRQ1 30 +#else #define CYGNUM_HAL_INTERRUPT_IRQ0 30 #define CYGNUM_HAL_INTERRUPT_IRQ1 31 +#endif // Interrupts which are multiplexed on to the System Interrupt #define CYGNUM_HAL_INTERRUPT_PITC 32 Best regards, Igor.