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.

TMS570LS1115: Multiplication in main() breaked by FIQ on TMS570LS1115

Part Number: TMS570LS1115

Hi,

Recently my customer reported an issue of FIQ that while they are developing on TMS570LS1115.

There's large operation of multiplication in main(), when they use FIQ, they found that sometime the multiplication will be break, it means that the result will be uncertain. But if change to IRQ, everything goes well.

It seems that the priority of FIQ is too high that may require response in a very short time, but the multiplication could not be finished during that period, then it is break.

Is it a common  sense for this happen?

Vivian 

  • Hi Vivian,

    I can't think of a reason for this that is directly related to FIQ versus IRQ.

    There would need to be some secondary bug I think like:

    - the multiplication routine has some critical section in it (unusual) where it disables interrupts;
    because actually FIQ is non-maskable on the TMS570 so cannot be disabled.

    - the FIQ stack overflows into the user stack or somehow otherwise interferes with RAM used by the multiplication

    They need to start by understanding how the multiplication routine 'breaks' then track this backwards to understand why FIQ causes it to break. I don't think the connection will be obvious & direct though as mentioned above it's probably indirect.

    -Anthony