tinySA/docs/src/target.dox

83 lines
3.6 KiB
Plaintext

/*
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 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.
* .
*/