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.

Questions about time and timers in TIRTOS and MSP432

Other Parts Discussed in Thread: SYSBIOS

G'Day all,

I have a couple of questions regarding how timers are generated in TI-RTOS.

I'm using the MSP-EXP432P401R Launchpad and TI-RTOS 2.14.3.28

1. In CCS when I configure the clock module I can pick Timer Id 0..7.  How does that map to timers in the MSP432?. 

2. What clock source (Timer? RTC?) does TI-RTOS use for the Seconds module when running on an MSP432? 

3. Does the Timestamp module continue counting in low power modes?

Cheers

Julian

  • Julian,

    Comments below...

    Julian Kolodko said:

    1. In CCS when I configure the clock module I can pick Timer Id 0..7.  How does that map to timers in the MSP432?. 

    There are only multiples of the Timer_A peripheral, and the mappings are:

    ID   Timer
    0    Timer_A0
    1    Timer_A1
    2    Timer_A2
    3    Timer_A3

    There are only 4 of the Timer_A type.  The Clock module presentation in the graphical tool is common, and doesn't reflect limitations of the underlying delegate.  So it shows options to select up to 8 timer IDs, but if you try anything above "3" (as shown in the above table) you'll get a build error.

    Julian Kolodko said:

    2. What clock source (Timer? RTC?) does TI-RTOS use for the Seconds module when running on an MSP432?

    In the 2.14.3.28 release, the Seconds module will use the Clock module underneath. So the timer peripheral used for Seconds will be the same as that used for Clock.  The default Timer delegates for the different timing modules are:

    Clock = Timer_A (ti.sysbios.family.arm.msp432.Timer)
    Timer = Timer_A (ti.sysbios.family.arm.msp432.Timer)
    Timestamp = SYSTICK (ti.sysbios.family.arm.m3.TimestampProvider)
    Seconds = Clock = Timer_A

    In future releases the Seconds module will use the RTC peripheral (rather than piggy-backing on the Clock module).

    Julian Kolodko said:

    3. Does the Timestamp module continue counting in low power modes?

    No.  For LPM3 or deeper, all of the above mentioned timer peripherals are disabled.  The RTC and watchdog timers can run in LPM3 and LPM3.5, but are disabled in LPM4 and LPM4.5.

  • Thanks Scott. 

    I appreciate the quick reponse!

    Cheers

    Julian

  • Just a quick follow up question.

    My understanding of your response is that, by default, the current version of SYS-BIOS uses only Timer_A (and I'm guessing that Timestamp comes from the CYCCNT register).

    It does not use the Timer32, RTC or System Timer (SysTick) peripherals of the MSP432.

    Is that correct?


    Cheers
    Julian

  • Julian,

    No, not correct.  

    By default the Timestamp module will use the SYSTICK timer from the NVIC (via this provider module: ti.sysbios.family.arm.m3.TimestampProvider).  The resolution of the timestamps is the CPU frequency.

    With configuration changes, it is possible to use a Timer_A for timestamping.  In that case, the timestamps will be at the resolution of the clock that is selected for the Timer_A.

    The CYCCNT register in the DWT is *not* used by kernel.

    Regards,
    Scott