AnsweredAssumed Answered

interrupt initialisation and servicing in assembly

Question asked by khal on Aug 4, 2011
Latest reply on Aug 22, 2011 by DeepV


I am working in a SHARC 21479 evaluation kit. I have an interrupt service routine running in C. Even though I use interrupts() function, I still find that there is a huge overhead from the interrupt call happening to me entering my interrupt service routine. I guess this is because the C interrupts() function pushes many things onto the stack before entering and pops everything back from the stack once it finishes. Despite is doing so more efficienlt (i.e. less time resulting from less pushes and pops), it still takes too long. For me delay is paramount and I need to keep it to minimum.

I had a read through engineering note EE-134 and while it gives a sense of what the minimum that needs to be done, I failed to see how do I go about writing the whole lot in assembly (i.e. including the initialisation, service (which includes the push and pops) and the way it integrates to the overlall module). Do you have any example code and documentation for achieving the above on the SHARC 21479 (preferably an example which is sample based which loops back audio samples).