/* 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 Application Range * @brief ChibiOS/RT Application Range. * - @ref applications * - @ref min_requirements * - @ref desirable_features * - @ref upper_limit * . * @section applications Application 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. * - 256/512bytes RAM permanently allocated to the kernel and its two mandatory * threads "idle" and "main", the exact amount 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 Recommended 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. * . */