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.

DSP/BIOS HWI Object Properties - Interrupt Mask



All:

I strongly urge the BIOS team to set the default Interrupt Mask properties for HWI dispatcher to be "all" rather than "self."

Most cases, interrupt nesting is discouraged. By having a default of "self," BIOS essentially allows interrupt nesting by default.

The result is having to go into each interrupt properties, and when using dispatcher, making sure that the setting for Interrupt Mask is set to "all," even on interrupts used and set up by DSP/BIOS.

  • Todd,

    Thank you for your suggestion.

    Can you explain why “Most cases, interrupt nesting is discouraged.”  Are you referring to a particular device family that it should be discouraged, or in general?  

    Scott

  • Nesting of interrupts, especially when unexpected, can cause problems. And it could be that the particular interrupt service routine is very high priority, and when it can be interrupted by a lower priority timer interrupt or RTOS interrupt, could cause some problems, especially if you are counting on that interrupt.

    I was told that SWI's were created to take care of  the hierarchical interrupt problem, so I have tried to stay away from nesting of hardware interrupts as much as possible.

     

  • Early on, most of my DSP/BIOS experience was with the C2000 family. If an interrupt happened, it pretty much blocked other interrupts until finished - unless specific things were done to re-enable another interrupt from within the interrupt service routine. When you move to a dispatcher, it means that the programmer needs to know that unless he makes changes, any other interrupt can interrupt the one in progress - not necessarily the best idea out of the "chute."

    If the dispatcher were in a default mode of no interrupts being able to interrupt an ISR in progress, it would allow the programmer a little more latitude to determine which interrupts should be allowed to interrupt the one in progress.

    Hopefully, that gives a little more insight into my original request.