Merged from external project:
[bertos.git] / README.bertos
index 68e18a86dc975e7d6eef4b46c78a3275b7e2dde4..7c7cfb122126f275737767c7cadcfa92ac188b79 100644 (file)
@@ -1,6 +1,12 @@
-BeRTOS                                                         -*- outline -*-
+/*
+ * This document is automatically processed by Doxygen (http://www.doxygen.org/).
+ * Don't remove special formatting tags.
+ */
+/*!
 
-* Overview
+\mainpage
+
+\section overview Overview
 
 BeRTOS is a real-time operating system designed for building applications
 for embedded systems, like reference boards, test boards, or custom boards.
@@ -9,7 +15,7 @@ It has a modular structure: its components can be used in very different
 environments, from 8-bit processor to Linux and Win32 hosted application
 (for debug purpose), using a wide range of compilers.
 
-* History and Motivation
+\section history History and Motivation
 
 BeRTOS was born as a collection of useful, highly optimized and fine-tuned
 libraries for embedded systems.  Each library had its own scope and could be
@@ -26,11 +32,11 @@ designed for fine-grained modularity and minimal external dependencies.
 Most non-essential features can be configured out for application with small
 memory footprint requirements.
 
-* Features
+\section features Features
 
   - multitasking kernel with IPC, semaphores, priority levels;
-  - a comprehensive set of generic drivers for a wide range of devices, 
-    which can be easily customized to the actual hardware: timer, serial, 
+  - a comprehensive set of generic drivers for a wide range of devices,
+    which can be easily customized to the actual hardware: timer, serial,
     adc, ntc, pwm, stepper motors, dc motors, lcd, keyboards, buzzer, eeprom;
   - full graphic subsystem for simple displays, with font support, bitmaps,
     clipping, text formatting, interactive menus;
@@ -43,28 +49,47 @@ memory footprint requirements.
   - XMODEM protocol implementation;
   - RLE compression algorithm;
 
-* Directory Structure
+\section structure Directory Structure
 
 The modules are sorted in subdirectories by their category:
 
-  - algos/   : algorithms;
-  - app/     : demo application;
-  - cfg/     : configuration stuff;
-  - cxxutil/ : c++ libraries;
-  - doc/     : documentation;
-  - drv/     : hardware drivers;
-  - dt/             : ?
-  - emul/    : Qt-based emulator framework for embedded applications;
-  - fonts/   : fonts
-  - gfx/     : general purpose graphics routines;
-  - gui/     : widgets for simple displays;
-  - hw/             : hardware-specific declarations;
-  - icons/   : conversion tool from image TXT format to LCD bitmap;
-  - io/             : infrastructure of I/O-related modules for hosted applications;
-  - kern/    : multitasking kernel;
-  - mware/   : algorithms, containers and other standalone code;
-  - os/             : OS-abstraction layers for hosted environments;
-  - qtext    : ?
+  - app/            : demo applications;
+  - bertos/algo/    : algorithms;
+  - bertos/cfg/     : configuration stuff;
+  - bertos/drv/     : hardware drivers;
+  - bertos/dt/     : experimental object oriented gui toolkit;
+  - bertos/emul/    : Qt-based emulator framework for embedded applications;
+  - bertos/fonts/   : fonts;
+  - bertos/fs/      : file system related stuff;
+  - bertos/gfx/     : general purpose graphics routines;
+  - bertos/gui/     : widgets for simple displays;
+  - bertos/hw/     : hardware-specific declarations;
+  - bertos/icons/   : conversion tool from image TXT format to LCD bitmap;
+  - bertos/kern/    : multitasking kernel;
+  - bertos/mware/   : algorithms, other standalone code;
+  - bertos/struct/  : containers and other data structures;
+  - bertos/os/     : OS-abstraction layers for hosted environments;
+  - doc/            : documentation;
 
 The top-level directory contains a few support headers that are meant to be
 usable by any C/C++ embedded or hosted application.
+
+\section license License
+
+BeRTOS is provided under the term of the GNU General Public License
+(see LICENSE.GPL) with following exception:
+
+\verbatim
+
+As a special exception, you may use this file as part of a free software
+library without restriction.  Specifically, if other files instantiate
+templates or use macros or inline functions from this file, or you compile
+this file and link it with other files to produce an executable, this
+file does not by itself cause the resulting executable to be covered by
+the GNU General Public License.  This exception does not however
+invalidate any other reasons why the executable file might be covered by
+the GNU General Public License.
+
+\endverbatim
+
+*/