Add a new option CONFIG_SCHED_TICKLESS to enable the tickless OS. This is a work in progress but should be relatively safe since the new features are only enabled by this option (Safer but not 100% safe since it does not protect from typos and other dumb errors).

This commit is contained in:
Gregory Nutt 2014-08-06 18:25:42 -06:00
parent e1f9786db8
commit f0eb4235d1

View File

@ -53,14 +53,37 @@ endif # DISABLE_OS_API
menu "Clocks and Timers"
config SCHED_TICKLESS
bool "Support tick-less OS"
default n
depends on EXPERIMENTAL
---help---
Be default, system time is driven by a periodic timer interrupt. An
alternative configurations is a tick-less configuration in which
there is no periodic timer interrupt. Instead and interval timer is
used to schedule the next OS time event. This option selects that
tick-less OS option. If the tick-less OS is selected, then there are
additional plaform specific interfaces that must be provided as
defined include/nuttx/arch.h
config MSEC_PER_TICK
int "Milliseconds per system timer tick"
default 10
default 10 if !SCHED_TICKLESS
default 1 if SCHED_TICKLESS
---help---
The default system timer is 100Hz or MSEC_PER_TICK=10. This setting
may be defined to inform NuttX that the processor hardware is providing
system timer interrupts at some interrupt interval other than 10 msec.
If SCHED_TICKLESS is selected, then there are no system timer
interrupts. In this case, MSEC_PER_TICK does not control any timer
rates. Rather, it only determines the resolution of time reported
by clock_systimer() and the resolution of times that can be set for
certain delays including watchdog timers and delayed work. In these
cases it is better to have the MSEC_PER_TICK as low as possible.
if !SCHED_TICKLESS
config SYSTEMTICK_EXTCLK
bool "Use external clock"
default n
@ -72,6 +95,8 @@ config SYSTEMTICK_EXTCLK
to move the scheduling off the processor clock to allow entering low
power states that would disable that clock.
endif # !SCHED_TICKLESS
config SYSTEM_TIME64
bool "64-bit system clock"
default n