Page 1 of 1

Cortex SysTick timer als RT/NIL systick

Posted: Tue Aug 11, 2015 1:16 am
by ulikoehler
Hi,
In RT/NIL 3.0 the systick is generated from a configurable timer.

Code: Select all

/*
 * ST driver system settings.
 */
#define STM32_ST_IRQ_PRIORITY               2
#define STM32_ST_USE_TIMER                  3

with definitions like

Code: Select all

/**
 * @brief   System time counter resolution.
 * @note    Allowed values are 16 or 32 bits.
 */
#define NIL_CFG_ST_RESOLUTION               16

setting the timer resolution.

Is there a specific reason why it is not possible to use the 24-bit Cortex-M SysTick timer (see http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0552a/Babieigh.html) as in ChibiOS 2.x (i think)? The F030, F042 and L151 devices I'm currently using do not have any 32-bit timers. This means that I either have to set the systick frequency very low (which limits achievable delay resolution) or the maximum allowable delay is limited (disregarding tricks like splitting it into multiple delays etc).

Please note that I currently do not have any particular application for using the SysTick timer, but I'd like to know if there are any conceptual issues so I can implement & contribute it when I need it.

Best regards, Uli

Re: Cortex SysTick timer als RT/NIL systick

Posted: Tue Aug 11, 2015 7:03 am
by Giovanni
Hi,

If you disable the tickless mode then systick is used, just like in 2.6.x.

The SysTick timer does not have the features required for supporting tickless mode (up counter, 16 or 32 bits, comparator).

Giovanni