From f1ffe4b7fafdca0e074a2076b194390c2c77d25a Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 3 Mar 2010 13:11:51 +0000 Subject: [PATCH] git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1703 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/src/main.dox | 1 + docs/src/target.dox | 84 +++++++++++++++++++++++++++++++++++++++++++++ readme.txt | 1 + 3 files changed, 86 insertions(+) create mode 100644 docs/src/target.dox diff --git a/docs/src/main.dox b/docs/src/main.dox index 39601e563..f639682ab 100644 --- a/docs/src/main.dox +++ b/docs/src/main.dox @@ -60,6 +60,7 @@ *

Related pages

* - @subpage lic_faq * - @subpage goals + * - @subpage target * - @subpage architecture * - @subpage concepts * - @subpage articles diff --git a/docs/src/target.dox b/docs/src/target.dox new file mode 100644 index 000000000..8b6fd6493 --- /dev/null +++ b/docs/src/target.dox @@ -0,0 +1,84 @@ +/* + 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 . +*/ + +/** + * @page target Applicative Range + * @brief ChibiOS/RT Applicative Range + * ChibiOS/RT has a well defined Applicative Range: deeply embedded systems + * that range from low/mid-range 8bits MCUs up to complex 32bits SOCs. + * - @ref applications + * - @ref min_requirements + * - @ref desirable_features + * - @ref upper_limit + * . + * @section applications Applicative Scenarios + * ChibiOS/RT is usable in many applicative areas, as example and not limited + * to: + * - Automotive. + * - Robotic Applications. + * - Consumer Electronics. + * - Energy Management. + * - Teaching and Learning. + * - Hobby. + * . + * @section min_requirements Absolute Minimum Requirements + * A certain set of minimum system requirements must be satisfied in order to + * use ChibiOS/RT on a new architecture: + * - 8bits architecture minimum. + * - A "real" stack pointer that can be positioned anywhere in the data address + * space. The OS could be ported to architectures with an hardware stack but + * I wouldn't recommend it because the context switch would become + * ridiculously inefficient. + * - Support for maskable interrupt sources and at least an OS-dedicated timer. + * - Support for standard C89 (C99 supported) language with no + * architecture-related non-standard restrictions. Non standard mandatory + * language extensions or restrictions may result in reduced functionality + * or impossibility of use. + * - 384/512bytes RAM permanently allocated to the kernel and its two mandatory + * threads "idle" and "main", the exact value depends on the architecture. + * This figure is not inclusive of the HAL and device drivers (non mandatory + * components). + * - 8KiB of program space for a full featured kernel scalable down to about + * 1.2KiB for reduced configurations. This figure is not inclusive of the + * HAL and device drivers (non mandatory components). + * . + * @section desirable_features Desirable Features + * - Efficient instruction set for linked lists traversal. The kernel makes + * extensive use of simple and bidirectional linked lists so the performance + * is directly affected by the suported addressing modes, number of registers + * etc. + * - Uniformly sized C pointers. + * - 2KiB RAM. + * - 16KiB ROM/Flash. + * . + * @section upper_limit Upper Applicative Limit + * The application range of ChibiOS/RT ends when one or more of the following + * features are required: + * - Separation between user code space and kernel space, both just logical or + * using a Memory Management/Protection Unit. Applications in ChibiOS/RT are + * supposed to be monolithic and trusted. The kernel and the application + * share the same address space. + * - Multiple applications. ChibiOS/RT supports the single multithreaded + * application model. + * - Multicore SMP architectures. Currently ChibiOS/RT only supports a single + * core unless running multiple distinct and separate OS instances. + * A true multicore kernel is planned for when multicore MCUs will become + * commonly available. + * . + */ diff --git a/readme.txt b/readme.txt index 44fbcb81a..037215972 100644 --- a/readme.txt +++ b/readme.txt @@ -57,6 +57,7 @@ - FIX: Fixed missing reschedulation in chEvtSignal() (bug 2961208)(backported in 1.4.2). - NEW: Enhanced the kernel size report to cover more cases. +- NEW: Improvements to the documentation. - OPT: Minor optimizations in the "compact" code path. *** 1.5.2 ***