AnsweredAssumed Answered

IRQ handler evolution with aduc702x and keil

Question asked by chrisfilm on Jan 26, 2012
Latest reply on Jan 31, 2012 by chrisfilm

Hi,

 

I have an old PC running Keil v3.23 and I can write projects on there which use interrupts, but on any newer versions of Keil, I can't get an interrupt handler to be called.

 

In the old version, you had to make a function called like this:

 

void IRQ_Handler() __irq

{

// IRQ handling code...

}

 

In any newer version which I've tried (up to 4.23) you can't compile code without adding to the project the file "irq_arm.c". When I add that, the method seems to have changed so that now I assign a function to IRQ like this:

 

IRQ = My_IRQ_Handler;

 

...

 

void My_IRQ_Handler(void)

{

// IRQ handling code...

}

 

But, try as I might, this function is never called. Now, I can open "irq_arm.c" and comment out the declaration of "IRQ_Handler" so that I can use the above definition which worked in v3.23 but that also doesn't get called. I imagine this is related to the startup code that is generated and how that is now different...

 

Please can you provide some hints as to how IRQs should be handled with newer versions of Keil, as I've lost the installer for 3.23 and would like to be at liberty to install the latest version (4.23) and have it work.

 

Many thanks,

- Chris

Outcomes