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.

C6472 BIOS 6.31 - what timers are used for the clock module

Other Parts Discussed in Thread: SYSBIOS

Hi

When we instantiate the clock module for a C6472:

var ti_sysbios_knl_Clock = xdc.useModule('ti.sysbios.knl.Clock');

What physical timers are being used? (i.e. local timer 0 for core 0, local timer 1 for core 1, etc)

If I dynamically create a timer using

TimerHandle = Timer_create(Timer_ANY, gapFillTimerIsr, &timerParams, &eb);

How can I create it such that the timer only fires on core 0 and does not interfere with the timer used by the clock module used by the RTOS?

Or to put it another way, how can I let the RTOS decide which timer is best?

One other question, is there an API that the clock module has for me to determine what clocks are used?

Same question for the timer module?

(I've read the C:\Program Files\Texas Instruments\bios_6_31_04_27\docs\cdoc\index.html information with no luck in finding my answers)

And another question. If a person uses a mix of CSL and BIOS functions to configure timers, what CSL can one use to determine which timer the BIOS is already using?

Cheers

  • Hi Eddie,

    In the SYS/BIOS documentation, you can find timer mapping tables that show the timers that are being used for your device.  Please see the following thread for details on that, as it is very similar to the question you posted above:

    http://e2e.ti.com/support/embedded/f/355/p/139457/502429.aspx#502429

    Eddie3909 said:
    And another question. If a person uses a mix of CSL and BIOS functions to configure timers, what CSL can one use to determine which timer the BIOS is already using?

    I don't think it is a good idea to mix CSL and BIOS to configure the timers.  It is recommended to choose one or the other.

    Thanks,

    Steve

  • Hi Steve

    I went to the cdoc located here

    C:\Program Files\Texas Instruments\bios_6_31_04_27\docs\cdoc\index.html

    and then clicked on the "Timer Mapping Tables"in the text below for ti.sysbios.timers and got

    This package contains Timer modules that manage the timer peripherals available on various devices. See Timer Mapping Tables for the IDs, names, and base addresses of supported devices

    and got

    Internet Explorer cannot diaplay the webpage

    Is it located somewhere else?

    In the thread you mentioned above

    Alan Demars said:
    Using ROV you can identify which timer is being used as the system tick source for the Clock module by viewing the Timer instances in the Timer module view. Look for the Timer instance who's "tickFxn" is "ti_sysbios_knl_Clock_doTick".

    It would sure be nice to have an API that does this.

    Cheers

    Eddie

  • Eddie,

    yup, you can find them within the timer directories.

     

    e.g. the dmtimer one is here on my machine:

      C:\Program Files\Texas Instruments\bios_6_33_00_07_eng\packages\ti\sysbios\timers\dmtimer\doc-files\TimerTables.html

    Steve

  • Hi Steven

    Thanks, I found the timer logical mapping for the C6472 here

    C:\Program Files\Texas Instruments\bios_6_31_04_27\packages\ti\sysbios\timers\timer64\doc-files\TimerTables.html

    And from the ROV, we've determined that the clock module is using logical 0 for both the tick and any isrs we attach to the clock module.

    But we were surprised to see the RTOS also uses timer 0 for our timer module isr. Why it surprise is because our clock module has 1 msec granularity. Whereas the timer module granularity is 1usec. I had thought that the RTOS would pick a shared hw timer when we instantiated the timer module. So underneath the RTOS hood, the clock module is using a finer timer interval than 1000 if the same timer can also support the clock module timer.

    Thanks for your help

    Cheers

     

  • Eddie,

    The Clock module is used to generate the system tick for BIOS.  Its unit of frequency is in microseconds and is configurable and is driven by the Timer.  The Timer module corresponds to the actual hardware timers on the device you are using and also uses microseconds for its unit of time.

    Steve