2009-03-07 10:07:12 +00:00
|
|
|
/*
|
|
|
|
ChibiOS/RT - Copyright (C) 2006-2007 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/>.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @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">ちび</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,
|
2009-03-08 09:16:19 +00:00
|
|
|
* event flags, messages, mailboxes, I/O queues.
|
2009-03-07 10:07:12 +00:00
|
|
|
* - No static setup at compile time, there is no need to configure a maximum
|
|
|
|
* number of all the above objects.
|
2009-12-30 13:28:10 +00:00
|
|
|
* - PC simulator target included, the development can be done on a PC
|
|
|
|
* under Linux or Windows.<br>
|
2010-01-07 15:23:38 +00:00
|
|
|
* 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.
|
2009-03-07 10:07:12 +00:00
|
|
|
* - 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.
|
2009-12-30 13:28:10 +00:00
|
|
|
* - Minimal system requirements: about 6KiB ROM with all options enabled and
|
2009-03-07 10:07:12 +00:00
|
|
|
* 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.
|
2009-12-30 13:28:10 +00:00
|
|
|
* - Optional Hardware Abstraction Layer (HAL) with support for many device
|
|
|
|
* driver models and device driver implementations.
|
2009-03-07 10:07:12 +00:00
|
|
|
* .
|
|
|
|
* <h2>Related pages</h2>
|
|
|
|
* - @subpage lic_faq
|
|
|
|
* - @subpage goals
|
|
|
|
* - @subpage concepts
|
|
|
|
* - @subpage articles
|
2009-05-07 20:36:26 +00:00
|
|
|
* - @subpage testsuite
|
2009-03-07 10:07:12 +00:00
|
|
|
* .
|
|
|
|
*/
|