summaryrefslogtreecommitdiff
path: root/nuttx/Documentation/NuttxPortingGuide.html
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/Documentation/NuttxPortingGuide.html')
-rw-r--r--nuttx/Documentation/NuttxPortingGuide.html16
1 files changed, 8 insertions, 8 deletions
diff --git a/nuttx/Documentation/NuttxPortingGuide.html b/nuttx/Documentation/NuttxPortingGuide.html
index 0f54a3e87..8eb13e297 100644
--- a/nuttx/Documentation/NuttxPortingGuide.html
+++ b/nuttx/Documentation/NuttxPortingGuide.html
@@ -2220,23 +2220,23 @@ The system can be re-made subsequently by just typing <code>make</code>.
<p><b>System Timer</b>
In most implementations, system time is provided by a timer interrupt.
- That timer interrupt runs at rate determined by <code>CONFIG_MSEC_PER_TICKS</code> (default 10 or 100Hz).
- The timer generates an interrupt each <code>CONFIG_MSEC_PER_TICKS</code> milliseconds and increments a counter called <code>g_system_timer</code>.
- <code>g_system_timer</code> then provides a time-base for calculating <i>up-time</i> and elapsed time intervals in units of <code>CONFIG_MSEC_PER_TICKS</code>.
+ That timer interrupt runs at rate determined by <code>CONFIG_USEC_PER_TICKS</code> (default 10000 microseconds or 100Hz. If <code>CONFIG_SCHED_TICKLESS</code> is selected, the default is 100 microseconds).
+ The timer generates an interrupt each <code>CONFIG_USEC_PER_TICKS</code> microseconds and increments a counter called <code>g_system_timer</code>.
+ <code>g_system_timer</code> then provides a time-base for calculating <i>up-time</i> and elapsed time intervals in units of <code>CONFIG_USEC_PER_TICKS</code>.
The range of <code>g_system_timer</code> is, by default, 32-bits.
However, if the MCU supports type <code>long long</code> and <code>CONFIG_SYSTEM_TIME16</code> is selected,
a 64-bit system timer will be supported instead.
</p>
<p><b>System Timer Accuracy</b>
- On many system, the exact timer interval specified by <code>CONFIG_MSEC_PER_TICKS</code> cannot be achieved due to limitations in frequencies or in dividers.
- As a result, the time interval specified by <code>CONFIG_MSEC_PER_TICKS</code> may only be approximate and there may be small errors in the apparent <i>up-time</i> time.
+ On many system, the exact timer interval specified by <code>CONFIG_USEC_PER_TICKS</code> cannot be achieved due to limitations in frequencies or in dividers.
+ As a result, the time interval specified by <code>CONFIG_USEC_PER_TICKS</code> may only be approximate and there may be small errors in the apparent <i>up-time</i> time.
These small errors, however, will accumulate over time and after a long period of time may have an unacceptably large error in the apparent <i>up-time</i> of the MCU.
</p>
- If the timer tick period generated by the hardware is not exactly <code>CONFIG_MSEC_PER_TICKS</code> <i>and</i> if there you require accurate up-time for the MCU, then there are measures that you can take:
+ If the timer tick period generated by the hardware is not exactly <code>CONFIG_USEC_PER_TICKS</code> <i>and</i> if there you require accurate up-time for the MCU, then there are measures that you can take:
</p>
<ul>
<li>
- Perhaps you can adjust <code>CONFIG_MSEC_PER_TICKS</code> to a different value so that an exactly <code>CONFIG_MSEC_PER_TICKS</code> can be accomplished.
+ Perhaps you can adjust <code>CONFIG_USEC_PER_TICKS</code> to a different value so that an exactly <code>CONFIG_USEC_PER_TICKS</code> can be realized.
</li>
<li>
Or you can use a technique known as <i>Delta-Sigma Modulation</i>. (Suggested by Uros Platise). Consider the example below.
@@ -2247,7 +2247,7 @@ The system can be re-made subsequently by just typing <code>make</code>.
Consider this case: The system timer is a count-up timer driven at 32.768KHz.
There are dividers that can be used, but a divider of one yields the highest accuracy.
This counter counts up until the count equals a match value, then a timer interrupt is generated.
- The desire frequency is 100Hz (<code>CONFIG_MSEC_PER_TICKS</code> is 10).
+ The desire frequency is 100Hz (<code>CONFIG_USEC_PER_TICKS</code> is 10000).
</p>
<p>
This exact frequency of 100Hz cannot be obtained in this case.