git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@570 35acf78f-673a-0410-8e92-d51de3d6d3f4
parent
30745dff77
commit
a5a2fb4c53
14
docs/ch.txt
14
docs/ch.txt
|
@ -98,16 +98,16 @@
|
||||||
* area.<br><br>
|
* area.<br><br>
|
||||||
* @image html workspace.png
|
* @image html workspace.png
|
||||||
* <br>
|
* <br>
|
||||||
* Note that the preemption areas only present when the Thread is not
|
* Note that the preemption area is only present when the thread is not
|
||||||
* running (switched out), the context switching is done by pushing the
|
* running (switched out), the context switching is done by pushing the
|
||||||
* registers on the stack of the switched-out thread and popping the registers
|
* registers on the stack of the switched-out thread and popping the registers
|
||||||
* of the switched-in thread from its stack.
|
* of the switched-in thread from its stack.
|
||||||
* The preemption areas can be divided in up to three structures:
|
* The preemption area can be divided in up to three structures:
|
||||||
* - External Context.
|
* - External context.
|
||||||
* - Interrupt Stack.
|
* - Interrupt stack.
|
||||||
* - Internal Context.
|
* - Internal context.
|
||||||
*
|
*
|
||||||
* See the @ref Core documentation for details, the areas may change on
|
* 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).
|
* the various ports and some structures may not be present (or be zero-sized).
|
||||||
*
|
*
|
||||||
* @section sysmutex System Mutex Zone
|
* @section sysmutex System Mutex Zone
|
||||||
|
@ -264,7 +264,9 @@
|
||||||
* The AT91SAM7X support includes:
|
* The AT91SAM7X support includes:
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>Buffered, interrupt driven, serial driver.</li>
|
* <li>Buffered, interrupt driven, serial driver.</li>
|
||||||
|
* <li>EMAC driver with MII support.</li>
|
||||||
* <li>A demo supporting the kernel test suite.</li>
|
* <li>A demo supporting the kernel test suite.</li>
|
||||||
|
* <li>A Web server demo using the uIP TCP/IP stack.</li>
|
||||||
* </ul>
|
* </ul>
|
||||||
* </p>
|
* </p>
|
||||||
* @ingroup ARM7
|
* @ingroup ARM7
|
||||||
|
|
12
src/chcond.c
12
src/chcond.c
|
@ -68,7 +68,7 @@ void chCondSignalI(CondVar *cp) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Signal all threads that are waiting on the condition variable.
|
* Signals all threads that are waiting on the condition variable.
|
||||||
*
|
*
|
||||||
* @param cp pointer to the \p CondVar structure
|
* @param cp pointer to the \p CondVar structure
|
||||||
*/
|
*/
|
||||||
|
@ -83,7 +83,7 @@ void chCondBroadcast(CondVar *cp) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Signal all threads that are waiting on the condition variable.
|
* Signals all threads that are waiting on the condition variable.
|
||||||
*
|
*
|
||||||
* @param cp pointer to the \p CondVar structure
|
* @param cp pointer to the \p CondVar structure
|
||||||
* @note This function must be called within a \p chSysLock() / \p chSysUnlock()
|
* @note This function must be called within a \p chSysLock() / \p chSysUnlock()
|
||||||
|
@ -98,7 +98,7 @@ void chCondBroadcastI(CondVar *cp) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Wait on the condition variable releasing the mutex lock.
|
* Waits on the condition variable releasing the mutex lock.
|
||||||
*
|
*
|
||||||
* Releases the mutex, waits on the condition variable, and finally acquires
|
* Releases the mutex, waits on the condition variable, and finally acquires
|
||||||
* the mutex again. This is done atomically.
|
* the mutex again. This is done atomically.
|
||||||
|
@ -122,7 +122,7 @@ msg_t chCondWait(CondVar *cp) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Wait on the condition variable releasing the mutex lock.
|
* Waits on the condition variable releasing the mutex lock.
|
||||||
*
|
*
|
||||||
* Releases the mutex, waits on the condition variable, and finally acquires
|
* Releases the mutex, waits on the condition variable, and finally acquires
|
||||||
* the mutex again. This is done atomically.
|
* the mutex again. This is done atomically.
|
||||||
|
@ -152,7 +152,7 @@ msg_t chCondWaitS(CondVar *cp) {
|
||||||
|
|
||||||
#ifdef CH_USE_CONDVARS_TIMEOUT
|
#ifdef CH_USE_CONDVARS_TIMEOUT
|
||||||
/**
|
/**
|
||||||
* Wait on the condition variable releasing the mutex lock.
|
* Waits on the condition variable releasing the mutex lock.
|
||||||
*
|
*
|
||||||
* Releases the mutex, waits on the condition variable, and finally acquires
|
* Releases the mutex, waits on the condition variable, and finally acquires
|
||||||
* the mutex again. This is done atomically.
|
* the mutex again. This is done atomically.
|
||||||
|
@ -179,7 +179,7 @@ msg_t chCondWaitTimeout(CondVar *cp, systime_t time) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Wait on the condition variable releasing the mutex lock.
|
* Waits on the condition variable releasing the mutex lock.
|
||||||
*
|
*
|
||||||
* Releases the mutex, waits on the condition variable, and finally acquires
|
* Releases the mutex, waits on the condition variable, and finally acquires
|
||||||
* the mutex again. This is done atomically.
|
* the mutex again. This is done atomically.
|
||||||
|
|
|
@ -64,7 +64,7 @@ msg_t chMsgSend(Thread *tp, msg_t msg) {
|
||||||
* @return The return message from \p chMsgRelease().
|
* @return The return message from \p chMsgRelease().
|
||||||
* @note This function assumes that the receiving thread is not sleeping into
|
* @note This function assumes that the receiving thread is not sleeping into
|
||||||
* a \p chMsgWait(). The use case is that the server thread is waiting
|
* a \p chMsgWait(). The use case is that the server thread is waiting
|
||||||
* for both messages AND events while waiting into \p chEvtWait().
|
* for both messages AND events while waiting into \p chEvtWaitXXX().
|
||||||
*/
|
*/
|
||||||
msg_t chMsgSendWithEvent(Thread *tp, msg_t msg, EventSource *esp) {
|
msg_t chMsgSendWithEvent(Thread *tp, msg_t msg, EventSource *esp) {
|
||||||
|
|
||||||
|
@ -139,8 +139,8 @@ msg_t chMsgGet(void) {
|
||||||
* queue else the result will be unpredictable (a crash most likely).
|
* queue else the result will be unpredictable (a crash most likely).
|
||||||
* Exiting from the \p chMsgWait() ensures you have at least one
|
* Exiting from the \p chMsgWait() ensures you have at least one
|
||||||
* message in the queue so it is not a big deal.<br>
|
* message in the queue so it is not a big deal.<br>
|
||||||
* The condition is not checked in order to make this code as fast as
|
* The condition is only tested in debug mode in order to make this code
|
||||||
* possible.
|
* as fast as possible.
|
||||||
*/
|
*/
|
||||||
void chMsgRelease(msg_t msg) {
|
void chMsgRelease(msg_t msg) {
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue