git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@173 35acf78f-673a-0410-8e92-d51de3d6d3f4

master
gdisirio 2008-01-10 13:52:44 +00:00
parent 82054b1941
commit c7b67cff0e
5 changed files with 15 additions and 18 deletions

View File

@ -4,7 +4,7 @@
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = ChibiOS/RT
PROJECT_NUMBER = "0.5.1 beta"
PROJECT_NUMBER = "0.5.2 beta"
OUTPUT_DIRECTORY = .
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English

View File

@ -13,7 +13,7 @@ Homepage</h2>
</tr>
<tr>
<td style="text-align: center; vertical-align: top; width: 150px;">Current
Version 0.5.1<br>
Version 0.5.2<br>
-<br>
<a href="http://sourceforge.net/projects/chibios/" rel="me" target="_top">Project on SourceForge</a><br>
<a href="html/index.html" target="_top" rel="me">Documentation</a><br>

View File

@ -39,6 +39,10 @@ AVR-AT90CANx-GCC - Port on AVR AT90CAN128, not complete yet.
*** Releases ***
*****************************************************************************
*** 0.5.2 ***
- Small reordering in the fields of the Thread structure in order to optimize
the space when messages are not used.
*** 0.5.1 ***
- NEW: Priority enqueing for messages can be optionally enabled by specifying
the P_MSGBYPRIO option when creating a message server thread.

View File

@ -62,13 +62,11 @@ void chSchReadyI(Thread *tp, t_msg msg) {
tp->p_state = PRREADY;
tp->p_rdymsg = msg;
// prio_insert(tp, &rlist.r_queue);
while (cp->p_prio >= tp->p_prio)
cp = cp->p_next;
/* Insertion on p_prev.*/
tp->p_prev = (tp->p_next = cp)->p_prev;
tp->p_prev->p_next = cp->p_prev = tp;
}
/**

View File

@ -53,10 +53,10 @@ struct Thread {
* thread in the system.
*/
union {
#ifdef CH_USE_TRACE
/** Kernel object where the thread is waiting on.*/
void *p_wtobjp;
#endif
/** Thread wakeup code (only valid when exiting the \p PRREADY state).*/
t_msg p_rdymsg;
/** The thread exit code (only while in \p PREXIT state).*/
t_msg p_exitcode;
#ifdef CH_USE_SEMAPHORES
/** Semaphore where the thread is waiting on (only in \p PRWTSEM state).*/
Semaphore *p_wtsemp;
@ -69,20 +69,14 @@ struct Thread {
/** Destination thread for message send (only in \p PRSNDMSG state).*/
Thread *p_wtthdp;
#endif
};
union {
/** Thread wakeup code, normally set to \p RDY_OK by the \p chSchReadyI()
* (only while in \p PRREADY state).*/
t_msg p_rdymsg;
/** The thread exit code (only while in \p PREXIT state).*/
t_msg p_exitcode;
#ifdef CH_USE_EVENTS
/** Enabled events mask (only while in \p PRWTEVENT state).*/
t_eventmask p_ewmask;
#endif
#ifdef CH_USE_MESSAGES
/** Message (only while in \p PRSNDMSG state).*/
t_msg p_msg;
#ifdef CH_USE_TRACE
/** Kernel object where the thread is waiting on. It is only valid when
the thread is some sleeping states.*/
void *p_wtobjp;
#endif
};
/** Machine dependent processor context.*/
@ -100,6 +94,7 @@ struct Thread {
#endif
#ifdef CH_USE_MESSAGES
ThreadsQueue p_msgqueue;
t_msg p_msg;
#endif
#ifdef CH_USE_EVENTS
/** Pending events mask.*/