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.

How can I disable only a specific SWI thread in DSP BIOS



I have two SWI threads in my application. I know the APIs SWI_enable/disable will disable all the SWI threads.  But I need to disable only one of them whenever I required to. 

Actually the SWI thread is a PRD. I believe I cannot use PRD_start and PRD_stop to disable PRD Swi thread while protecting critical section. Please let me know any good way to disable specific swi threads in an application.

 I am using Ti DSP C6747, BIOS 5_33_06, CCS 3.3.

Appreciate your response.

Thank You.

  • HI Ashok

    as you described, SWI_enable/disable will disable all SWIs. There is no API to disable an individual SWI.

    Instead of trying to disable the Swi itself from executing, you would want to prevent whatever source it may be, from posting the Swi. PRD_start and PRD_stop would only work if the PRD object is one-shot, not in continuous mode.

    I'm not sure what you want to do, but perhaps you would want to use a high priority task with a semaphore instead of a PRD object?