/*
ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 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 .
*/
/**
* @page article_integrationguide Integration Guide
* All the delivered ChibiOS/RT demos are stand alone applications so if
* you just start your application from an existing demo there isn't any
* integration effort, you are simply using the existing makefiles, the
* default startup files etc, minimal effort.
* The matter is very different if you are going to integrate the OS into
* a different runtime framework or if you want to use a different build
* system, in that case you have the problem to integrate the OS source
* code into your application.
*
*
What this guide does not cover
* This guide has a limited scope, the following topics are handled elsewhere:
* - Porting the OS to different architectures or different compilers is
* not covered in this guide, see @ref article_portguide instead.
* - This guide does not describe any specific environment or development
* tool, it is assumed you already know in detail the environment you
* want to work with.
* .
*
* Article Index
* - @ref integrationguide_kernel
* - @ref integrationguide_hal
* .
* @section integrationguide_kernel Integrating the Kernel
* This section covers the scenario where you want to use the ChibiOS/RT
* kernel into an existing application. In order to accomplish this you need
* to import in your project two components:
* - The portable kernel.
* - The port layer for your microcontroller.
* .
* See the @ref architecture for more details.
* You need to add the following files to your build process:
* - All the source files contained under ./os/kernel/src, note that
* you should add all of them even if you don't plan to use some of the
* subsystems. Unused subsystems can be excluded from the kernel
* configuration file @p chconf.h.
* - All the source files contained under
* ./os/ports/@/@.
* Note that those could be both C source files and assembler source files
* and that some architectures have an extra directories layer containing
* files required for a specific platform.
* .
* You also need to add to the compiler options the following paths for
* searching header files:
* - The portable kernel headers ./os/kernel/include.
* - The port layer headers
* ./os/ports/@/@.
* .
* @section integrationguide_hal Integrating the HAL
* If, in addition to the kernel as described in the previous section, you also
* need to integrate the HAL into your application you also need to import
* the following components:
* - HAL portable files.
* - Platform specific files.
* .
* See the @ref architecture for more details.
* You need to add the following files to your build process:
* - All the source files contained under ./os/hal/src, note that
* you should add all of them even if you don't plan to use some of the
* subsystems. Unused drivers can be excluded from the HAL configuration
* file @p halconf.h.
* - All the source files contained under
* ./os/hal/platforms/@.
* - All the source files contained under
* ./boards/@.
* .
* You also need to add to the compiler options the following paths for
* searching header files:
* - The portable HAL headers ./os/hal/include.
* - The platform layer headers
* ./os/hal/platforms/@.
* - The board description headers
* ./boards/@.
* .
*/