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.

TMS320C6671: What is the minimum value of tick period

Part Number: TMS320C6671
Other Parts Discussed in Thread: SYSBIOS

Tool/software: TI-RTOS

Hi,

 

The customer is now evaluating C6671 @1.0GHz DSP with TI-RTOS (SYS/BIOS).

 

Could you answer their questions below ? 

  • Which document should they refer for the above info. ?

 

Thanks and regards,

Hideaki

  • Hi,

    For the latest Processor SDK RTOS, the kernel version is bios_6_73_01_01, which documentation is located here:
    software-dl.ti.com/.../index.html

    Here is what this doc states for Clock_tickPeriod:
    config Clock_tickPeriod // module-wide
    index URL

    Tick period specified in microseconds
    C synopsis target-domain
    extern const UInt32 Clock_tickPeriod;

    DETAILS
    Default value is family dependent. For example, Linux systems often only support a minimum period of 10000 us and multiples of 10000 us. TI platforms have a default of 1000 us.
    Like most other module configuration parameters, the Clock.tickPeriod config parameter value is accessible in runtime C code as "Clock_tickPeriod".

    Best Regards,
    Yordan
  • Hi Yordan,

    Thank you for your reply. We've already checked this description. It describes about a minimum period of 1000us in the case of Linux, but there is no description about TI RTOS. What’s the minimum period in TI RTOS ? For example, can we set 100us, 10us or less ?

    Thanks and regards,
    Hideaki Matsumoto
  • Hi,

    In Keystone I device, there are several timers. The timer clock is CPU/6. So when CPU runs at 1000 MHz, the timer runs at 166MHz, the minimum resolution is 6 ns.

    When you use SYSBIOS with timer module, the tickPeriod is in unit of us. One timer is dedicated to SYSBIOS system timer and use default 1000 unit that is 1 ms to drive the system. If you change the timer period, theoretically you can set it to 1 unit that is 1us. But I think it is useless for a operating system to do task scheduling, switching, etc.

    For any other timers you used for general purpose, again theoretically you can set it to 1us. But usually you use a timer to generate some interrupt or some kinds of toggling, delay purpose, given the ISR can't finish in several us interval. I thought again 1 us timer is useless.

    If you want to timestamp something, you can use TSCL/TSCH which runs at CPU speed, so 1 ns resolution.

    Regards, Eric