hi freinds!!
can you me tell in which register do you store the ISR address.
Please let me know ......
i have the following code for Irq.c
#include "am35xx.h"
#include "types.h"
#include "irq.h"
UL32 install_irq( UL32 IntNumber, void *HandlerAddr, UL32 Priority )
{
UL32 *vect_addr;
UL32 *vect_prio;
if(IntNumber <= 0 && IntNumber >= 31)
{
INTCPS_MIRC0 = 1 << IntNumber ; /* Disable Interrupt */
}
else if(IntNumber <= 32 && IntNumber >= 63)
{
INTCPS_MIRC1 = 1 << (31 - IntNumber); /* Disable Interrupt */
}
else if(IntNumber <= 64 && IntNumber >= 95) /* Disable Interrupt */
{
INTCPS_MIRC2 = 1 << (63 - IntNumber); /* Disacble Interrupt */
}
if ( IntNumber >= MAX_NUM_INT )
{
return (FALSE);
}
else
{
vect_addr = (UL32* )(which register + (what index addr * 4)); <---- i need help at this statement.
vect_prio = (UL32 *)(ILRM_BASE_ADDR + (IntNumber * 4));
*vect_prio = Priority;
*vect_addr = (void)Timer0Handler;
// code to enable interrupt
return(TRUE);
}
return (0);
}
http://e2e.ti.com/support/dsp/sitara_arm174_microprocessors/f/416/p/106085/373798.aspx#373798
Link for .h file