diff --git a/Documentation/NuttxPortingGuide.html b/Documentation/NuttxPortingGuide.html index f1ac98246d2..386f1d56687 100644 --- a/Documentation/NuttxPortingGuide.html +++ b/Documentation/NuttxPortingGuide.html @@ -12,7 +12,7 @@
Last Updated: August 8, 2014
+Last Updated: August 10, 2014
@@ -2438,7 +2438,7 @@ else In order to use the Tickless OS, one must provide special support from the platform-specific code. Just as with the default system timer, the platform-specific code must provide the timer resources to support the OS behavior. -Currently these timer resources are only provided by the NuttX simulation. An example implementaion is for the simulation is atnuttx/arch/sim/src/up_tickless.c. These paragraphs will explain how to provide the Tickless OS support to any platform.
+Currently these timer resources are only provided on a few platforms. An example implementation is for the simulation is at nuttx/arch/sim/src/up_tickless.c. There is another example for the Atmel SAMA5 at nuttx/arch/arm/src/sama5/sam_tickless.c. These paragraphs will explain how to provide the Tickless OS support to any platform.
Note that a platform-specific implementation would probably require two hardware timers: (1) A interval timer to satisfy the requirements of up_timer_start() and up_timer_cancel(), and a (2) a counter to handle the requirement of up_timer_gettime(). Ideally, both timers would run at the rate determined by CONFIG_USEC_PER_TICK (and certainly never slower than that rate).
+ Since timers are a limited resource, the use of two timers could be an issue on some systems. + The job could be done with a single timer if, for example, the single timer were kept in a free-running at all times. Some timer/counters (such as the Atmel SAMA5's timer), for example, have the capability to generate a compare interrupt when the timer matches a comparison value but also to continue counting without stopping. if your hardware supports such counters, one might be able to simply set the comparison count at the value of the free running timer PLUS the desired delay. Then you could have both with a single timer: An interval timer and a free-running counter with the same timer! +
In addition to these imported interfaces, the RTOS will export the following interfaces for use by the platform-specific interval timer implementation: