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

This commit is contained in:
gdisirio 2010-03-12 11:25:52 +00:00
parent 56d43eba18
commit f1bb1a01ca
4 changed files with 58 additions and 6 deletions

View File

@ -25,6 +25,7 @@
* - @subpage article_wakeup * - @subpage article_wakeup
* - @subpage article_manage_memory * - @subpage article_manage_memory
* - @subpage article_stacks * - @subpage article_stacks
* - @subpage article_roundrobin
* - @subpage article_lifecycle * - @subpage article_lifecycle
* - @subpage article_mutual_exclusion * - @subpage article_mutual_exclusion
* - @subpage article_atomic * - @subpage article_atomic

50
docs/src/roundrobin.dox Normal file
View File

@ -0,0 +1,50 @@
/*
ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio.
This file is part of ChibiOS/RT.
ChibiOS/RT is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
ChibiOS/RT is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* @page article_roundrobin Round Robin scheduling explained
* Unlike many other RTOSes, ChibiOS/RT supports multiple threads at the
* same priority level and schedules them using an <i>aggressive</i>
* round-robin strategy.<br>
* The strategy is defined as aggressive because any scheduling event
* can cause the round-robin threads to rotate.<br>
* A round-robin rotation can happen because of the following events:
* - The currently executed thread voluntarily invokes the @p chThdYield()
* API in order to allow the execution of another thread at the same
* priority level, if any.
* - The currently executed thread voluntarily goes into a sleep state
* (see @ref thread_states), when the thread is waken it goes behind
* all the other threads at the same priority level.
* - The currently executed thread is preempted by an higher priority
* thread, the thread is reinserted in the ready list (see @ref scheduling)
* behind all the other threads at the same priority level.
* - If the @p CH_TIME_QUANTUM configuration constant is set to a value
* greater than zero and if the specified time quantum expired and if
* a thread with equal priority is ready then the currently executing
* thread is automatically reinserted in the ready list behind all the
* other threads at the same priority level.
* .
* As you can see the @p CH_TIME_QUANTUM setting is really useful only if
* there are threads at the same priority level that can run not preempted
* for long periods of time and that do not explicitly yield using
* @p chThdYield(). Because of this you should consider to set
* @p CH_TIME_QUANTUM to zero in your configuration file, this makes the
* kernel much faster and smaller and <b>does not</b> forbid the use of
* multiple threads at the same priority level.
*/

View File

@ -77,11 +77,11 @@
*/ */
/** /**
* @defgroup MSP430_CORE Core Port Implementation * @defgroup STM8_CORE Core Port Implementation
* @brief MSP430 specific port code, structures and macros. * @brief STM8 specific port code, structures and macros.
* *
* @ingroup MSP430 * @ingroup STM8
* @file MSP430/chtypes.h Port types. * @file STM8/chtypes.h Port types.
* @file MSP430/chcore.h Port related structures and macros. * @file STM8/chcore.h Port related structures and macros.
* @file MSP430/chcore.c Port related code. * @file STM8/chcore.c Port related code.
*/ */

View File

@ -64,6 +64,7 @@
- NEW: Added RIDE7 project files to the STM32 demo under a ./ride7 - NEW: Added RIDE7 project files to the STM32 demo under a ./ride7
subdirectory, this should make things easier for RIDE7 users. The normal subdirectory, this should make things easier for RIDE7 users. The normal
makefile is still available of course. makefile is still available of course.
- NEW: New article in the documentation. Fixed an orphaned page (STM8 port).
*** 1.5.3 *** *** 1.5.3 ***
- FIX: Removed C99-style variables declarations (bug 2964418)(backported - FIX: Removed C99-style variables declarations (bug 2964418)(backported