EmbDev.net

Forum: ARM programming with GCC/GNU tools Interrupt problem


von (unknown) (Guest)


Attached files:

Rate this post
useful
not useful
Hi, Can someone help me please. I'm new to both ARM's and WinARM. I have 
a board with an LPC2368 which I have been able to write simple interrupt 
routines for EINT0, and timers 0 and 1, using the Keil evaluation 
software. I'm now using WInARM with Eclipse (Galileo) and cannot get the 
interrupts to work. I have the makefile set to NO THUMB and include both 
startup.s and swi_handler.s.
I notice when I build the project I get the following message although 
it seems to create both the hex and bin files

Creating Extended Listing: main.lss
arm-elf-objdump -h -S -C main.elf > main.lss
/usr/bin/sh: /c/winarm/bin/arm-elf-objdump: Invalid argument
make: *** [main.lss] Error 126

If I complie again it compiles with no errors.

For brevity I've stripped out some of the comments, extint.c is

void _attribute_ ((interrupt("IRQ"))) EINT0_Handler (void);

volatile DWORD eint0_counter=0;

 void EINT0_Handler (void)
 {
   EXTINT = EINT0;    /* clear interrupt */

   IENABLE;        /* handles nested interrupt */
   eint0_counter++;
   if ( eint0_counter & 0x01 )  /* alternate the LED display */
   {
   FIO3SET = 0x04000000;  /* LED(P3[25]) = OFF */
   }
   else
   {
   FIO3CLR = 0x04000000;  /* LED(P3[25]) = ON */
   }
   IDISABLE;
   VICVectAddr = 0;    /* Acknowledge Interrupt */
 }

 /*****************************************************************/
 DWORD EINTInit( void )
 {
   PINSEL4 = 0x00100000;  /* set P2.10 as EINT0 and*/

   FIO3CLR = 0x02000000; // LED(P3[25]) = ON

   IO2_INT_EN_F = 0x200;  /* Port2.10 is falling edge. */
   EXTMODE = EINT0_EDGE;  /* INT0 edge trigger */
   EXTPOLAR = 0;      /* INT0 is falling edge by default */

   if ( install_irq(EINT0_INT,(void *)EINT0_Handler,HIGHEST_PRIORITY 
)==FALSE)
   {
   return (FALSE);
   }
   return( TRUE );
 }

 Many thanks

 Alastair

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.