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.

Reply via email to