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.

BIOS5, idle function runs before we exit main.

Dear BIOS Champs,

We're using CCSv5, DSP/BIOS 5.4, and a C5515 EVM. We've inserted an IDL function using the configuration tool. What we're seeing is theidle function is being called before we exit main and hence before BIOS_start() is called. Our understanding is the BIOS scheduler doesn't run until BIOS_start is called which means we should never get into the idle thread until BIOS_start. So my question is, is there a situation where the idle thread can run before we exit main?

I will say that we do enable some peripherals and associated interrupts in main so I'm thinking we may be taking an interrupt (using HWI dispatcher) before we exit main. Could this be the cause? Are we taking the HWI interrupt and when that completes, BIOS drops into the idle loop? The interesteing thing is we do seem to complete main so I can't explain how we get from idle back into main if that is indeed what's happening.

 

Thanks

 

  • Brad,

    That would be the the IDL calibration going on.  The CPU load heuristic uses the IDL loop cycle count, and the calibration of that loop occurs early.

    Regards,

    - Rob

     

  • I have a similar question, see my previous post:

    http://e2e.ti.com/support/embedded/tirtos/f/355/p/363811/1278923.aspx#1278923

    some follow up questions:

    1) I read in the BIOS manual, section 2.10, that the IDL loop cycle count happens, but my understanding was

        a count was just a count, rather than an actual execution.

    2) In the sequence listed in 2.10, it's not clear to me when optional (checked-marked) user-defined init called? Is it before than BIOS_init, or after?

    Chris