aboutsummaryrefslogtreecommitdiffstats
path: root/docs/src
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2010-03-03 13:11:51 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2010-03-03 13:11:51 +0000
commitf1ffe4b7fafdca0e074a2076b194390c2c77d25a (patch)
treedffda1cb0d504f2c87cec94a4876a9fb7331e33a /docs/src
parent943389a5584d3df71d176e508fbcdef3ba201c74 (diff)
downloadChibiOS-f1ffe4b7fafdca0e074a2076b194390c2c77d25a.tar.gz
ChibiOS-f1ffe4b7fafdca0e074a2076b194390c2c77d25a.tar.bz2
ChibiOS-f1ffe4b7fafdca0e074a2076b194390c2c77d25a.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1703 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'docs/src')
-rw-r--r--docs/src/main.dox1
-rw-r--r--docs/src/target.dox84
2 files changed, 85 insertions, 0 deletions
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 @@
* <h2>Related pages</h2>
* - @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 <http://www.gnu.org/licenses/>.
+*/
+
+/**
+ * @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.
+ * .
+ */