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 and HWI execution time

Normal 0 21 false false false MicrosoftInternetExplorer4

Are there any limitations in execution time for a BIOS dispatched HWI. Can  BIOS have any problems if one HWI needs about 100 micro seconds for execution?

 

I have a function which was executed in a SWI (posted in HWI). After mowing this function from SWI into HWI, system seams to be crashing after approximately one hour after starting.

 

Using BIOS 5.33.06 on a 28335 device. Lot of HWI’s configured (Dispatcher is handling all of them), a couple of SWI’s and TSK’s

  • Can you define what you mean by "crash"?  

    I would use Kernel/Object view (KOV) tool to look at stack usage and make sure you are within bounds for all stacks.

    There should not be any limit to time you spend in a HWI.

    One problem on the 28x is that other "siblings" in the same PIE groups are disabled by default if you use standard HWI dispatcher "disable self" option.  The HWI dispatcher manages interrupt priority at the IMR register and doesn't attempt to prioritize within a PIE group. So, if you specify "self", you are also disabling other interrupts in same PIE group for the length of the ISR.

    In many systems, it is not necessary to allow interrupt nesting (one interrupt to preempt another).   But, by moving that code from SWI to HWI, you might have interfered with response time for other ISRs in that group. 

    Keeping ISRs to minimum and deferring the slightly lower priority work to a SWI which can be more easily prioritized is a good model, but it does take a bit more CPU cycles because of SWI scheduler overhead.

    -Karl-

  • Normal 0 21 false false false MicrosoftInternetExplorer4

    with "crash" I mean the system ending in illegal_isr. We have just found the problem. It was a pointer going "out of control"; a simple bug.

    So, you say that BIOS will work properly, no matter how much time a single HWI is consuming  (handled by the dispatcher)?

     

    Toni