mayhem-firmware/firmware/chibios/docs/src/main.dox

73 lines
3.3 KiB
Plaintext
Executable File

/*
ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
2011,2012,2013 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/>.
---
A special exception to the GPL can be applied should you wish to distribute
a combined work that includes ChibiOS/RT, without being obliged to provide
the source code for any proprietary components. See the file exception.txt
for full details of how and when the exception can be applied.
*/
/**
* @mainpage ChibiOS/RT
* @author Giovanni Di Sirio (gdisirio@users.sourceforge.net).
*
* <h2>Chibi ?</h2>
* I didn't want a serious name for this project. It is the Japanese word for
* small as in small child. So ChibiOS/RT
* @htmlonly (<span class="t_nihongo_kanji" xml:lang="ja" lang="ja">&#12385;&#12403;</span>OS/RT) @endhtmlonly
* means small Real Time Operating System.
* Source <a href="http://en.wikipedia.org/wiki/Chibi" target="_blank">Wikipedia</a>.
*
* <h2>Features</h2>
* - Free software, GPL3 licensed. Stable releases include a exception clause
* to the GPL.
* - Designed for realtime applications.
* - Easily portable.
* - Preemptive scheduling.
* - 128 priority levels. Multiple threads at the same priority level allowed.
* - Round robin scheduling for threads at the same priority level.
* - Offers threads, virtual timers, semaphores, mutexes, condvars,
* event flags, messages, mailboxes, I/O queues.
* - No static setup at compile time, there is no need to configure a maximum
* number of all the above objects.
* - PC simulator target included, the development can be done on a PC
* under Linux or Windows.<br>
* Timers, I/O channels and other HW resources are simulated in a guest OS
* process and the application code does not need to be aware of it.
* - No *need* for a memory allocator, all the kernel structures are static
* and declaratively allocated.
* - Optional, thread safe, Heap Allocator subsystem.
* - Optional, thread safe, Memory Pools Allocator subsystem.
* - Blocking and non blocking I/O channels with timeout and events generation
* capability.
* - Minimal system requirements: about 6KiB ROM with all options enabled and
* speed optimizations on. The size can shrink under 2KiB by disabling the
* the unused subsystems and optimizing for size.
* - Almost totally written in C with little ASM code required for ports.
* - Optional Hardware Abstraction Layer (HAL) with support for many device
* driver models and device driver implementations.
* .
* <h2>Related pages</h2>
* - @subpage concepts
* - @subpage testsuite
* .
*/