AnsweredAssumed Answered

Problem changing VDK default timer interrupt.

Question asked by Peter847 on Nov 24, 2011
Latest reply on Nov 30, 2011 by Peter847

Hi,

 

I am using the ADSP-BF534 400MHz device on my own board design which otherwise works OK.

 

I am trying to get VDK to work using an alternative to the default Timer Interrupt EVT_IVTMR using the core timer and instead use one of the other general-purpose timers and use (say) EVT_IVG12 as the Timer Interrupt. I have created a simple test program which just toggles a port pin in the main loop of the boot thread's Run method. I changed the VDK Timer Interrupt to EVT_IVG12 and initialised Timer2 at the start of the Run method.

 

The program works until the first interrupt occurs and then stops. Using an ICE-100B emulator I can see that the interrupt has passed control to the function _tmk_TimerISR which keeps getting called repeatedly without any time spent running code the main loop which is now effectively stalled.

 

I now realise the reason for this is that the Timer2 interupt flag is not being cleared by the _tmk_TimerISR as it would be if I was servicing the EVT_IVG12 interrupt with my own ISR. I can get Timer2 to work correctly calling my own ISR which does clear this flag with the 'C' code *pTIMER_STATUS = 0x04;

 

Is there any way I can get _tmk_TimerISR to clear this flag for me?

 

Thanks,

 

Peter.

Outcomes