This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ISR not getting invoked

Hi,

I have an application which uses EDMA to read from and write to McBSP using DSP BIOS. I could run the program successfully for some time and after that my ISR is not getting invoked. Since I am using DSP BIOS (Version 6.0) for interrupt handling I am not sure whether  the values from Interrupt registers are correct or not. Can somebody tell me what could be going wrong? I would also like to know if there is a way to check whether the interrupt is occurring or not?

I am using interrupt line 8 and 9 for my program. But I could see that bit 15 of IER is enabled. Is DSP BIOS enables this interrupt?

regards,

Arun Sankar

  • Did your EDMA interrupt ever get invoked? It is not clear if it is getting invoked for a while and then stops, or whether other things run for a while but the EDMA interrupt is never invokde.

    Older versions of DSP/BIOS did not enable the IER bits directly, but I am not sure what DSP/BIOS 6 does.

  • Dear Randy,

     

    Thanks for your reply.

    EDMA interrupts are getting invoked initially and only after some time I am running into this problem.

     

    regards,

    Arun

  • Arun,

    You may not have said which DSP you are using, and you have not referenced EDMA3 but only EDMA so you may be using an older DSP. But since you are using BIOS 6, it makes me think you are using a newer part that would have EDMA3.

    In the Training section of TI.com, there is a training video set for the C6474. Even though this is probably not the DSP you are using, it has the C64x+ core, and a lot of the information in the videos for it might apply to your case. It may be helpful for you to review all of the modules . But in particular, the C64x+ Megamodule Features (interrupts and Event Combiner) and the EDMA3/QDMA/IDMA Module will apply to your current questions. You can find the complete video set at http://focus.ti.com/docs/training/catalog/events/event.jhtml?sku=OLT110002 .

    Since the interrupts worked for a while and stopped, the problem is not in the initial setup. Something is going wrong later which causes the process to stop.

    Regards,
    RandyP

  • Dear Randy,

     

    We are working with C6424 and uses EDMA3

     

    Could you please tell me is it possible to see whether the interrupts are getting generated or not? Is there any tools in CCS for this?

    What are all the chances of hardware not generating interrupts due to a software failure?

     

    regards,

    Arun

  • Arun,

    The training videos I referenced above are a good start for you to learn the paths that lead to interrupts. Also, you can go to the TI Wiki Pages and search for "DSP System Integration Workshop". That training material provided on the Wiki pages has diagrams and descriptions of these paths. And of course you can go to the datasheet, C64x+ Megamodule Guide, and EDMA3 User's Guide. If you have questions about any of the material, please post your questions here.

    With CCS, you can see all of the core and memory-mapped registers, so yes you will be able to follow those logic paths by viewing the registers.

    Regards,
    RandyP