From e23f46c3b99f9ade28d8dba2a30761edcefac9ff Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 30 Jan 2017 11:31:45 +0100 Subject: c-user: Update key concepts time --- c-user/configuring_a_system.rst | 2 +- c-user/key_concepts.rst | 23 +++++++++++++---------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/c-user/configuring_a_system.rst b/c-user/configuring_a_system.rst index a4caa29..c7bc8d3 100644 --- a/c-user/configuring_a_system.rst +++ b/c-user/configuring_a_system.rst @@ -1650,7 +1650,7 @@ NOTES: .. COMMENT: === CONFIGURE_MICROSECONDS_PER_TICK === -.. _Length of Each Clock Tick: +.. _CONFIGURE_MICROSECONDS_PER_TICK: Length of Each Clock Tick ------------------------- diff --git a/c-user/key_concepts.rst b/c-user/key_concepts.rst index e196aa4..767e93f 100644 --- a/c-user/key_concepts.rst +++ b/c-user/key_concepts.rst @@ -245,9 +245,16 @@ Time The development of responsive real-time applications requires an understanding of how RTEMS maintains and supports time-related operations. The basic unit of -time in RTEMS is known as a tick. The frequency of clock ticks is completely -application dependent and determines the granularity and accuracy of all -interval and calendar time operations. +time in RTEMS is known as a `clock tick` or simply `tick`. The tick interval +is defined by the application configuration option +:ref:`CONFIGURE_MICROSECONDS_PER_TICK `. The +tick interval defines the basic resolution of all interval and calendar time +operations. Obviously, the directives which use intervals or wall time cannot +operate without some external mechanism which provides a periodic clock tick. +This clock tick is provided by the clock driver. The tick precision and +stability depends on the clock driver and interrupt latency. Most clock +drivers provide a timecounter to measure the time with a higher resolution than +the tick. .. index:: rtems_interval @@ -257,13 +264,13 @@ execution of timer service routines, and the rate monotonic scheduling of tasks. An interval is defined as a number of ticks relative to the current time. For example, when a task delays for an interval of ten ticks, it is implied that the task will not execute until ten clock ticks have occurred. -All intervals are specified using data type ``rtems_interval``. +All intervals are specified using data type :c:type:`rtems_interval`. A characteristic of interval timing is that the actual interval period may be a fraction of a tick less than the interval requested. This occurs because the time at which the delay timer is set up occurs at some time between two clock ticks. Therefore, the first countdown tick occurs in less than the complete -time interval for a tick. This can be a problem if the clock granularity is +time interval for a tick. This can be a problem if the tick resolution is large. The rate monotonic scheduling algorithm is a hard real-time scheduling @@ -277,15 +284,11 @@ time be kept in wall time or true calendar form. Consequently, RTEMS maintains the current date and time. This allows selected time operations to be scheduled at an actual calendar date and time. For example, a task could request to delay until midnight on New Year's Eve before lowering the ball at -Times Square. The data type ``rtems_time_of_day`` is used to specify calendar +Times Square. The data type :c:type:`rtems_time_of_day` is used to specify calendar time in RTEMS services. See :ref:`Time and Date Data Structures`. .. index:: rtems_time_of_day -Obviously, the directives which use intervals or wall time cannot operate -without some external mechanism which provides a periodic clock tick. This -clock tick is typically provided by a real time clock or counter/timer device. - Memory Management ================= .. index:: memory management -- cgit v1.2.3