Update preset.
[bertos.git] / doc / general-introduction
index 8d01d4accc8c9da07f2c4da45b350b0b378cc249..93f3a597514cd41ec8719f5eea919a881e1b7c6e 100644 (file)
@@ -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.
 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 <a href="">KFile tutorial</a> on BeRTOS web site for
+Have a look at <a href="http://www.bertos.org/use/tutorial-front-page/drivers-kfile-interface/">
+KFile tutorial</a> on BeRTOS web site for
 a more complete introduction to object oriented programming.
 
 <h2>OOP in C</h2>
 a more complete introduction to object oriented programming.
 
 <h2>OOP in C</h2>
@@ -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 <a href="http://www.bertos.org/use/tutorial-front-page/installation-instructions/">
+installation instructions page</a> 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 <a href="http://forum.bertos.org">support forum</a> 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 <a href="http://www.bertos.org/use/tutorial-front-page/basic-hal/">BeRTOS HAL system</a>
+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
  *
 /*!
  * \defgroup drivers BeRTOS peripherals drivers
  *
@@ -101,3 +168,7 @@ int main()
  * \defgroup gui BeRTOS GUI toolkit
  *
  */
  * \defgroup gui BeRTOS GUI toolkit
  *
  */
+
+/*!
+ * \defgroup struct Embedded optimized general purpose data types
+ */