git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@723 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
b58126efa0
commit
9869b77a9a
19
docs/ch.txt
19
docs/ch.txt
|
@ -37,11 +37,11 @@
|
|||
* - Asynchronous, using event sources.
|
||||
* - Mix of the above models, multiple threads listening to multiple event
|
||||
* sources while serving message queues.
|
||||
* - PC simulator target included, the development can be done on the PC
|
||||
* using MinGW.<br>
|
||||
* Timers, I/O channels and other HW resources are simulated in a
|
||||
* Win32 process and the application code does not need to be aware of it.
|
||||
* MinGW demo available.
|
||||
* - PC simulator target included, the development can be done on the PC
|
||||
* using MinGW.<br>
|
||||
* Timers, I/O channels and other HW resources are simulated in a
|
||||
* Win32 process and the application code does not need to be aware of it.
|
||||
* MinGW demo available.
|
||||
* - Preemptive scheduling.
|
||||
* - 128 priority levels.
|
||||
* - Multiple threads at the same priority level allowed.
|
||||
|
@ -70,11 +70,12 @@
|
|||
* - Small memory footprint, unused subsystems can be excluded by the
|
||||
* memory image.
|
||||
* - Almost totally written in C with little ASM code required for ports.
|
||||
*
|
||||
* .
|
||||
* <h2>Related pages</h2>
|
||||
* - @subpage lic_faq
|
||||
* - @subpage concepts
|
||||
* - @subpage articles
|
||||
* .
|
||||
*/
|
||||
|
||||
/**
|
||||
|
@ -212,7 +213,7 @@
|
|||
* becomes negative the thread is queued in the semaphore and suspended.
|
||||
* - <b>Reset</b>: The semaphore counter is reset to a non-negative value
|
||||
* and all the threads in the queue are released.
|
||||
*
|
||||
* .
|
||||
* Semaphores can be used as guards for mutual exclusion code zones (note that
|
||||
* mutexes are recommended for this kind of use) but also have other uses,
|
||||
* queues guards and counters as example.<br>
|
||||
|
@ -237,7 +238,7 @@
|
|||
* - <b>Unlock</b>: The mutex is released by the owner and the highest
|
||||
* priority thread waiting in the queue, if any, is resumed and made owner
|
||||
* of the mutex.
|
||||
*
|
||||
* .
|
||||
* In order to use the Event APIs the @p CH_USE_MUTEXES option must be
|
||||
* specified in @p chconf.h.<br>
|
||||
*
|
||||
|
@ -334,7 +335,7 @@
|
|||
* - <b>Full duplex queue</b>, bidirectional queue where read and write
|
||||
* operations can happen at the same time. Full duplex queues
|
||||
* are implemented by pairing an input queue and an output queue together.
|
||||
*
|
||||
* .
|
||||
* In order to use the I/O queues the @p CH_USE_QUEUES option must
|
||||
* be specified in @p chconf.h.<br>
|
||||
* In order to use the half duplex queues the @p CH_USE_QUEUES_HALFDUPLEX
|
||||
|
|
|
@ -27,5 +27,6 @@
|
|||
* - @subpage article_interrupts
|
||||
* - @subpage article_jitter
|
||||
* - @subpage article_timing
|
||||
* .
|
||||
*/
|
||||
/** @} */
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
* <b>I-Locked</b> or <b>S-Locked</b> states. See @ref system_states.
|
||||
* - @anchor S-Class <b>"S"</b>, S-Class APIs are invokable only from the
|
||||
* <b>S-Locked</b> state. See @ref system_states.
|
||||
* .
|
||||
* Examples: @p chThdCreateStatic(), @p chSemSignalI(), @p chIQGetTimeout().
|
||||
*
|
||||
* @section interrupt_classes Interrupt Classes
|
||||
|
@ -57,7 +58,7 @@
|
|||
* - <b>Non Maskable Interrupts</b>. Non maskable interrupt sources are
|
||||
* totally out of the operating system control and have the lowest latency.
|
||||
* Such sources are not supported on all the architectures.
|
||||
*
|
||||
* .
|
||||
* The mapping of the above logical classes into physical interrupts priorities
|
||||
* is, of course, port dependent. See the documentation of the various ports
|
||||
* for details.
|
||||
|
@ -98,7 +99,7 @@
|
|||
* an infinite loop. This state can be reached if the debug mode is activated
|
||||
* <b>and</b> an error is detected <b>or</b> after explicitly invoking
|
||||
* @p chSysHalt().
|
||||
*
|
||||
* .
|
||||
* Note that the above state are just <b>Logical States</b> that may have no
|
||||
* real associated machine state on some architectures. The following diagram
|
||||
* shows the possible transitions between the states:
|
||||
|
@ -216,7 +217,7 @@
|
|||
* @p HIGHPRIO but the numerical values above @p HIGHPRIO up to @p ABSPRIO
|
||||
* (inclusive) are reserved. This is the highest numerical value of the
|
||||
* priorities space.
|
||||
*
|
||||
* .
|
||||
* @section warea Thread Working Area
|
||||
* Each thread has its own stack, a Thread structure and some preemption
|
||||
* areas. All the structures are allocated into a "Thread Working Area",
|
||||
|
@ -233,7 +234,7 @@
|
|||
* - External Context.
|
||||
* - Interrupt Stack.
|
||||
* - Internal Context.
|
||||
*
|
||||
* .
|
||||
* See the @ref Core documentation for details, the area may change on
|
||||
* the various ports and some structures may not be present (or be zero-sized).
|
||||
*/
|
||||
|
|
|
@ -48,6 +48,7 @@ CH_IRQ_HANDLER(myIRQ) {
|
|||
* <h2>Important Notes</h2>
|
||||
* - There is an important application note about ARM7 interrupt handlers,
|
||||
* please read about it in the ARM7 port section: @ref ARM7_IH
|
||||
* .
|
||||
*/
|
||||
/** @} */
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
* - OS overhead. Any operating system requires to run some extra code
|
||||
* in interrupt handlers in order to handle correct preemption and Context
|
||||
* Switching.
|
||||
*
|
||||
* .
|
||||
* <h2>Interrupt Response Time</h2>
|
||||
* The Interrupt Response Time is the time from an interrupt event and the
|
||||
* execution of the handler code. Unfortunately this time is not constant
|
||||
|
@ -67,7 +67,7 @@
|
|||
* can be preempted by higher priority sources.
|
||||
* - Longest time in a kernel lock zone that can delay interrupt servicing.
|
||||
* This value is zero for fast interrupt sources, see @ref system_states.
|
||||
*
|
||||
* .
|
||||
* <h2>Threads Flyback Time</h2>
|
||||
* This is the time between an event, as example an interrupt, and the
|
||||
* execution of the thread that will process it. Imagine the following
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
* - <b>I don't want to be bound by any of the above restriction, is this
|
||||
* possible?</b><br>
|
||||
* You may contact us about a commercial license.
|
||||
*
|
||||
* .
|
||||
* @section exception_text GPL Exception Text
|
||||
|
||||
<center><b>GPL Exception Text</b></center>
|
||||
|
|
Loading…
Reference in New Issue