git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@713 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
ec4178dd0f
commit
528e9fea35
|
@ -51,9 +51,9 @@
|
|||
|
||||
chSysUnlock();
|
||||
* @endcode
|
||||
* In general multiple I-Class and (non rescheduling) S-Class APIs can be
|
||||
* included and the block is terminated by a rescheduling S-Class API.
|
||||
* An extra @p chSchRescheduleS() can be present at the very end of the block,
|
||||
* it only reschedules if a reschedulation is still required.
|
||||
* In general multiple @ref I-Class and (non rescheduling) @ref S-Class APIs
|
||||
* can be included and the block is terminated by a rescheduling @ref S-Class
|
||||
* API. An extra @p chSchRescheduleS() can be present at the very end of the
|
||||
* block, it only reschedules if a reschedulation is still required.
|
||||
*/
|
||||
/** @} */
|
||||
|
|
|
@ -33,10 +33,10 @@
|
|||
* - <b>None</b>, APIs without any suffix can be invoked only from the user
|
||||
* code in the <b>Normal</b> state unless differently specified. See
|
||||
* @ref system_states.
|
||||
* - <b>"I"</b>, I-Class APIs are invokable only from the <b>I-Locked</b> or
|
||||
* <b>S-Locked</b> states. See @ref system_states.
|
||||
* - <b>"S"</b>, S-Class APIs are invokable only from the <b>S-Locked</b>
|
||||
* state. See @ref system_states.
|
||||
* - @anchor I-Class <b>"I"</b>, I-Class APIs are invokable only from the
|
||||
* <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
|
||||
|
@ -83,14 +83,14 @@
|
|||
* goes in this state and waits for interrupts, after servicing the interrupt
|
||||
* the Normal state is restored and the scheduler has a chance to reschedule.
|
||||
* - <b>S-Locked</b>. Kernel locked and regular interrupt sources disabled.
|
||||
* Fast interrupt sources are enabled. S-Class and I-Class APIs are
|
||||
* Fast interrupt sources are enabled. @ref S-Class and @ref I-Class APIs are
|
||||
* invokable in this state.
|
||||
* - <b>I-Locked</b>. Kernel locked and regular interrupt sources disabled.
|
||||
* I-Class APIs are invokable from this state.
|
||||
* @ref I-Class APIs are invokable from this state.
|
||||
* - <b>Serving Regular Interrupt</b>. No system APIs are accessible but it is
|
||||
* possible to switch to the I-Locked state using @p chSysLockFromIsr() and
|
||||
* then invoke any I-Class API. Interrupt handlers can be preemptable on some
|
||||
* architectures thus is important to switch to I-Locked state before
|
||||
* then invoke any @ref I-Class API. Interrupt handlers can be preemptable on
|
||||
* some architectures thus is important to switch to I-Locked state before
|
||||
* invoking system APIs.
|
||||
* - <b>Serving Fast Interrupt</b>. System APIs are not accessible.
|
||||
* - <b>Serving Non-Maskable Interrupt</b>. System APIs are not accessible.
|
||||
|
|
|
@ -39,8 +39,8 @@ CH_IRQ_HANDLER(myIRQ) {
|
|||
CH_IRQ_EPILOGUE();
|
||||
}
|
||||
* @endcode
|
||||
* Note that only interrupt handlers that have to invoke system I-Class APIs
|
||||
* must be written in this form, handlers unrelated to the OS activity can
|
||||
* Note that only interrupt handlers that have to invoke system @ref I-Class
|
||||
* APIs must be written in this form, handlers unrelated to the OS activity can
|
||||
* omit the macros.
|
||||
* Another note about the handler name "myIRQ", in some ports it must be a
|
||||
* vector number rather than a function name, it could also be a name from
|
||||
|
|
|
@ -36,6 +36,10 @@
|
|||
* application without have to release your source code under certains
|
||||
* conditions. See the exception text under "Approved Interfaces" for
|
||||
* details.
|
||||
* - <b>Is the exception applicable to any ChibiOS/RT version ?</b><br>
|
||||
* The exception is valid only for ChibiOS/RT releases marked as @e stable.
|
||||
* Beta or unstable versions are covered by the GPL3 alone because are meant
|
||||
* for testing only.
|
||||
* - <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.
|
||||
|
|
|
@ -36,7 +36,7 @@ msg_t my_thread(void *param) {
|
|||
* well below the system tick period and that @p my_thread() is not preempted
|
||||
* by other threads inserting long intervals.<br>
|
||||
* If the above conditions are not satisfied you may have @p do_something()
|
||||
* executed at irregular intevals, as example:<br><br>
|
||||
* executed at irregular intervals, as example:<br><br>
|
||||
* T0...T0+1000...T0+2002...T0+3002...T0+4005...etc.<br><br>
|
||||
* Also note that the error increases over time and this kind of behavior can
|
||||
* lead anomalies really hard to debug.
|
||||
|
|
Loading…
Reference in New Issue