2 * This document is automatically processed by Doxygen (http://www.doxygen.org/).
3 * Don't remove special formatting tags.
9 \section overview Overview
11 DevLib is a collection of small reusable components designed by Develer
12 for internal use in many embedded and portable applications.
14 These source files are intended to be shared between very different
15 environments, from 8bit processors to Linux and Win32 hosted
16 applications, using a wide range of compilers.
18 DevLib is not strictly a library or a portability layer. It's also
19 definitely not an OS, altough some of its components can be combined
20 together to form a multitasking kernel with some IPC functionality.
23 \section scope Scope (or lack thereof)
25 There is no consistent scope or design guide-line for the components
26 of DevLib, altough there is a common coding and documentation style.
27 Every piece of code that looks useful for more than one application
28 may end up here, regardless of compatibility and fitness with other
31 Most of DevLib is written in C, but some services intended for higher
32 level, OS-hosted applications are written in C++. Some modules are
33 dependant on others to avoid code duplication, but most of the times
34 you can configure out features you don't need.
37 \section structure Directory Structure
39 The modules are sorted in subdirectories by their category:
41 - cfg/ - Configuration and portability headers;
42 - kern/ - Simple multitasking kernel implementation;
43 - drv/ - Hardware drivers;
44 - dt/ - Object oriented framework for simple GUIs.
45 - gfx/ - Simple bitmap graphics functions;
46 - mware/ - Algorithms, containers and other standalone code;
47 - io/ - Infrastructure of I/O-related modules for hosted applications;
48 - os/ - OS-abstraction layers for hosted environments;
49 - qtext/ - Qt extension classes;
51 The cfg directory contains a few support headers that are meant
52 to be usable by any C or C++, embedded or hosted application.
53 The top-level directory contains a few example templates for files
54 that are meant to be customized on a per-application basis. These
55 files are hw.h, appconfig.h, verstag.h and arch_config.h.
57 To achieve the highest possible reusability, most DevLib components
58 are designed for fine-grained modularity and minimal external
59 dependencies. Most non-essential features can be configured out for
60 applications with small memory footprint requirements.
63 \section redist Redistribution
65 DevLib is a collection of independent works originally written by
66 several different contributors. Unless otherwise noted, all material
67 is provided under the terms of the GPL (see LICENSE.GPL).
69 Alternatively, when parts of DevLib are included in projects developed
70 by Develer, said parts are subject to the same licensing terms covering
71 the specific project, with the exception of clauses granting exclusive