From cd679c092078f7ef88c2b62f161eba41ee413702 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 14 Mar 2008 16:08:11 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@233 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/ch.txt | 9 +- docs/img/states.svg | 474 ++++++++++++++++++++++++++++++++++++++++++++++++++++ readme.txt | 12 +- 3 files changed, 486 insertions(+), 9 deletions(-) create mode 100644 docs/img/states.svg diff --git a/docs/ch.txt b/docs/ch.txt index 257d3d89e..bc6bdc98e 100644 --- a/docs/ch.txt +++ b/docs/ch.txt @@ -59,8 +59,8 @@ * @section naming Naming Conventions * ChibiOS/RT APIs are all named following this convention: * \a ch\\\(). - * The possible groups are: \a Sys, \a Sch, \a VT, \a Thd, \a Sem, \a Evt, - * \a Msg, \a IQ, \a OQ, \a HQ,\a FDD, \a HDD. + * The possible groups are: \a Sys, \a Sch, \a VT, \a Thd, \a Sem, \a Mtx, + * \a Evt, \a Msg, \a IQ, \a OQ, \a HQ,\a FDD, \a HDD, \a Dbg. * The suffix is not present for normal APIs but can be one of * the following: "I" for APIs meant to be invoked from an interrupt handler * or within the system mutex zone but not from user code, "S" for APIs only @@ -79,6 +79,10 @@ * Note that the currently running thread is not in the ready list, the list * only contains the threads ready to be executed but still actually waiting. * + * @section states Threads States Diagram + * The image shows how threads can change their state in ChibiOS/RT.
+ * @image html states.png + * * @section warea Thread Working Area * Each thread has its own stack, a Thread structure and a registers dump * structure. All the structures are allocated into a "Thread working area", @@ -87,7 +91,6 @@ * have as many threads you want as long you have enough available RAM * memory. The threads do not use any memory outside the allocated working * area.
- * @image html workspace.png *
* Note that the registers dump is only present when the Thread is not diff --git a/docs/img/states.svg b/docs/img/states.svg new file mode 100644 index 000000000..a7a0b0bd2 --- /dev/null +++ b/docs/img/states.svg @@ -0,0 +1,474 @@ + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + Workspace top Thread Structure + chThdCreate() + + Running + + + Ready + + + SuspendedSus + + + Suspended + + + + + + + + + Sleeping + chSchGoSleepS() + + + chSchWakeupS() + + chSchWakeupS()chSchReadyI() + chSchRescheduleS()chSchDoRescheduleI() + + chSchWakeupS()chSchReadyI() + + chSchGoSleepS() + chSchWakeupS() + + Ready + Exited + + chSchGoSleepS()chThdExit() + + diff --git a/readme.txt b/readme.txt index 760a0dd5e..0fede6af8 100644 --- a/readme.txt +++ b/readme.txt @@ -26,8 +26,6 @@ ***************************************************************************** Current ports under ./demos: -Win32-MinGW - ChibiOS/RT simulator and demo into a WIN32 process, - MinGW version. ARM7-LPC214x-GCC - ChibiOS/RT port for ARM7 LPC2148, the demo targets the Olimex LPC-P2148 board. This port can be easily modified for any processor into the LPC2000 family or @@ -39,11 +37,12 @@ ARM7-AT91SAM7X-GCC - Port for Atmel AT91SAM7X256. The demo program targets ARMCM3-ST32F103-GCC - ARM Cortex-M3 port, work in progress, not complete yet. The demo will target the Olimex STM32-P103 board. -AVR-AVRmega128-GCC - Port on AVRmega128, experimental. A special thanks to - Vladimir for the work done on the AVR port. The demo - program targets the Olimex AVR-MT-128 mini terminal - board. +AVR-AVRmega128-GCC - Port on AVRmega128. A special thanks to Vladimir for + the work done on the AVR port. The demo program + targets the Olimex AVR-MT-128 mini terminal board. AVR-AT90CANx-GCC - Port on AVR AT90CAN128, not tested on hardware yet. +Win32-MinGW - ChibiOS/RT simulator and demo into a WIN32 process, + MinGW version. ***************************************************************************** *** Plans *** @@ -75,6 +74,7 @@ AVR-AT90CANx-GCC - Port on AVR AT90CAN128, not tested on hardware yet. LPC21xx demos. This saves significant program space. - Started work on ARM Cortex-M3 architecture. The target chip is the ST32F103 on a Olimex STM32-P103 board. +- Added a threads state diagram to the documentation. - Various fixes to the doxigen documentation. *** 0.6.0 *** -- cgit v1.2.3