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();
|
chSysUnlock();
|
||||||
* @endcode
|
* @endcode
|
||||||
* In general multiple I-Class and (non rescheduling) S-Class APIs can be
|
* In general multiple @ref I-Class and (non rescheduling) @ref S-Class APIs
|
||||||
* included and the block is terminated by a rescheduling S-Class API.
|
* can be included and the block is terminated by a rescheduling @ref S-Class
|
||||||
* An extra @p chSchRescheduleS() can be present at the very end of the block,
|
* API. An extra @p chSchRescheduleS() can be present at the very end of the
|
||||||
* it only reschedules if a reschedulation is still required.
|
* 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
|
* - <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
|
* code in the <b>Normal</b> state unless differently specified. See
|
||||||
* @ref system_states.
|
* @ref system_states.
|
||||||
* - <b>"I"</b>, I-Class APIs are invokable only from the <b>I-Locked</b> or
|
* - @anchor I-Class <b>"I"</b>, I-Class APIs are invokable only from the
|
||||||
* <b>S-Locked</b> states. See @ref system_states.
|
* <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>
|
* - @anchor S-Class <b>"S"</b>, S-Class APIs are invokable only from the
|
||||||
* state. See @ref system_states.
|
* <b>S-Locked</b> state. See @ref system_states.
|
||||||
* Examples: @p chThdCreateStatic(), @p chSemSignalI(), @p chIQGetTimeout().
|
* Examples: @p chThdCreateStatic(), @p chSemSignalI(), @p chIQGetTimeout().
|
||||||
*
|
*
|
||||||
* @section interrupt_classes Interrupt Classes
|
* @section interrupt_classes Interrupt Classes
|
||||||
|
@ -83,14 +83,14 @@
|
||||||
* goes in this state and waits for interrupts, after servicing the interrupt
|
* 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.
|
* the Normal state is restored and the scheduler has a chance to reschedule.
|
||||||
* - <b>S-Locked</b>. Kernel locked and regular interrupt sources disabled.
|
* - <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.
|
* invokable in this state.
|
||||||
* - <b>I-Locked</b>. Kernel locked and regular interrupt sources disabled.
|
* - <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
|
* - <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
|
* 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
|
* then invoke any @ref I-Class API. Interrupt handlers can be preemptable on
|
||||||
* architectures thus is important to switch to I-Locked state before
|
* some architectures thus is important to switch to I-Locked state before
|
||||||
* invoking system APIs.
|
* invoking system APIs.
|
||||||
* - <b>Serving Fast Interrupt</b>. System APIs are not accessible.
|
* - <b>Serving Fast Interrupt</b>. System APIs are not accessible.
|
||||||
* - <b>Serving Non-Maskable 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();
|
CH_IRQ_EPILOGUE();
|
||||||
}
|
}
|
||||||
* @endcode
|
* @endcode
|
||||||
* Note that only interrupt handlers that have to invoke system I-Class APIs
|
* Note that only interrupt handlers that have to invoke system @ref I-Class
|
||||||
* must be written in this form, handlers unrelated to the OS activity can
|
* APIs must be written in this form, handlers unrelated to the OS activity can
|
||||||
* omit the macros.
|
* omit the macros.
|
||||||
* Another note about the handler name "myIRQ", in some ports it must be a
|
* 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
|
* 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
|
* application without have to release your source code under certains
|
||||||
* conditions. See the exception text under "Approved Interfaces" for
|
* conditions. See the exception text under "Approved Interfaces" for
|
||||||
* details.
|
* 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
|
* - <b>I don't want to be bound by any of the above restriction, is this
|
||||||
* possible?</b><br>
|
* possible?</b><br>
|
||||||
* You may contact us about a commercial license.
|
* 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
|
* well below the system tick period and that @p my_thread() is not preempted
|
||||||
* by other threads inserting long intervals.<br>
|
* by other threads inserting long intervals.<br>
|
||||||
* If the above conditions are not satisfied you may have @p do_something()
|
* 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>
|
* 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
|
* Also note that the error increases over time and this kind of behavior can
|
||||||
* lead anomalies really hard to debug.
|
* lead anomalies really hard to debug.
|
||||||
|
|
Loading…
Reference in New Issue