diff options
Diffstat (limited to 'docs/src/target.dox')
-rw-r--r-- | docs/src/target.dox | 84 |
1 files changed, 84 insertions, 0 deletions
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.
+ * .
+ */
|