X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=doc%2Fgeneral-introduction;h=93f3a597514cd41ec8719f5eea919a881e1b7c6e;hb=57dfb183e24175bc782647d4e6aebe31063f3881;hp=b11a3290078cfe2e810969d0157e2e1ecab518ac;hpb=cd7538b224bbe4fb287b96903678df6ae435522c;p=bertos.git diff --git a/doc/general-introduction b/doc/general-introduction index b11a3290..93f3a597 100644 --- a/doc/general-introduction +++ b/doc/general-introduction @@ -12,7 +12,8 @@ BeRTOS uses object oriented programming concepts for the base interfaces. If used in the right way, OOP elegantly solves a broad range of problems linked with the creation of common and reusable interfaces that allow you to save development time and precious memory space. -Have a look at KFile tutorial on BeRTOS web site for +Have a look at +KFile tutorial on BeRTOS web site for a more complete introduction to object oriented programming.

OOP in C

@@ -63,6 +64,72 @@ int main() */ + +/** +\page short_introduction A 5 minute introduction to BeRTOS + +\section installation Installing BeRTOS on your system + +What do you need when developing an embedded project with BeRTOS? +\li a toolchain for your CPU +\li BeRTOS source code :) +\li supporting binaries for BeRTOS build system +\li supporting tools for BeRTOS Wizard + +See the +installation instructions page online for help on installing BeRTOS on your system. + +Strictly speaking, BeRTOS doesn't need to be 'installed', you can just +take .c files and compile them in your project. + +However, BeRTOS is a complex system with many dependencies between modules. +It's not easy to track the dependencies for each module, so we have developed +a set of tools to make dependency tracking automatic. + +Contact the support forum and look at +the section \ref coding if you want +help on using BeRTOS without the supporting tools. Be warned, though, that +this method is not supported and we can only point you in the right direction. + +\section organization Project's organization + +Each project has its own full BeRTOS sources, configuration and HAL files. +Why? Because we think that each project has its own life and it must not +interfere with any other project. +Let's say you use a shared BeRTOS version for all of your projects. Each +time you update, you need to check that each and every project still works +correctly. We don't want to do this (and I bet you don't want either). +However, it's still easy to update a single project if you want to. + +A project named Foo is organized as follows: +\li bertos/ - BeRTOS source directory +\li Makefile - BeRTOS build system Makefile +\li project.bertos - Wizard's configuration file +\li foo/ - your project's main directory +\li foo/hw/ - low level HAL files +\li foo/cfg/ - configuration directory +\li foo/foo_user.mk - makefile fragment that you can edit +\li foo/foo.mk - makefile fragment changed by the Wizard, don't edit + +See BeRTOS HAL system +for more information on HAL files. + +\section coding Coding guidelines + +BeRTOS assumes that the BeRTOS source directory and the project's root directory +(as indicated above) are in the include path. +This means that you should include configuration files using "..." rather than +<...> style, otherwise you will use default configuration values instead of +your project's values. + +Also, you should change configuration settings using the Wizard. This is because +sometimes there are more actions to be done than simply changing a define +value. + + +*/ + + /*! * \defgroup drivers BeRTOS peripherals drivers * @@ -84,3 +151,24 @@ int main() * This section describes the kernel facilities and the synchronization * primitives available in BeRTOS. */ + +/*! + * \defgroup mware Middleware facilities + * + * This section describes various algorithms and standalone code + * useful in day to day programming. + */ + +/*! + * \defgroup graphics General purpose graphical routines + * + */ + +/*! + * \defgroup gui BeRTOS GUI toolkit + * + */ + +/*! + * \defgroup struct Embedded optimized general purpose data types + */