diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2007-10-06 09:53:07 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2007-10-06 09:53:07 +0000 |
commit | 00c6f5ea40f97385dce7ab7b9d20bc0cb909ad23 (patch) | |
tree | 4f6800f72e8ef9efbf6c2c57214738eda773a1ae /src/chinit.c | |
parent | d6d799ed48f8193bee286187132221f831726a07 (diff) | |
download | ChibiOS-00c6f5ea40f97385dce7ab7b9d20bc0cb909ad23.tar.gz ChibiOS-00c6f5ea40f97385dce7ab7b9d20bc0cb909ad23.tar.bz2 ChibiOS-00c6f5ea40f97385dce7ab7b9d20bc0cb909ad23.zip |
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@40 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'src/chinit.c')
-rw-r--r-- | src/chinit.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/chinit.c b/src/chinit.c index b86626fa6..55a69b1fc 100644 --- a/src/chinit.c +++ b/src/chinit.c @@ -37,8 +37,12 @@ static Thread idlethread; * chThdCreate(...); // Starts one or more user threads.
* chSysPause();
* @endcode
- * @note Interrupts should be still disabled when \p chSysInit() is invoked and
- * are internally enabled.
+ * @note Interrupts should be still disabled when \p chSysInit() is invoked
+ * and are internally enabled.
+ * @note The idle thread has absolute priority when exiting from the
+ * \p chSysInit(), this is done to make sure that all the initializations
+ * performed in the \p main() procedure are completed before any thread
+ * starts. The priority is set to \p IDLEPRIO into the \p chSysPause().
*/
void chSysInit(void) {
@@ -49,7 +53,7 @@ void chSysInit(void) { /*
* Now this instructions flow becomes the idle thread.
*/
- _InitThread(IDLEPRIO, 0, &idlethread);
+ _InitThread(ABSPRIO, 0, &idlethread);
idlethread.p_state = PRCURR;
currp = &idlethread;
|