96 lines
4.3 KiB
Plaintext
96 lines
4.3 KiB
Plaintext
/*
|
|
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 <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
/**
|
|
* @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.<br>
|
|
* 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.
|
|
*
|
|
* <h2>What this guide does not cover</h2>
|
|
* 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.
|
|
* .
|
|
*
|
|
* <h2>Article Index</h2>
|
|
* - @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 <tt>./os/kernel/src</tt>, 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
|
|
* <tt>./os/ports/<i>@<compiler@></i>/<i>@<architecture@></i></tt>.
|
|
* 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 <tt>./os/kernel/include</tt>.
|
|
* - The port layer headers
|
|
* <tt>./os/ports/<i>@<compiler@></i>/<i>@<architecture@></i></tt>.
|
|
* .
|
|
* @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 <tt>./os/hal/src</tt>, 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
|
|
* <tt>./os/hal/platforms/<i>@<platform@></i></tt>.
|
|
* - All the source files contained under
|
|
* <tt>./boards/<i>@<board_model@></i></tt>.
|
|
* .
|
|
* You also need to add to the compiler options the following paths for
|
|
* searching header files:
|
|
* - The portable HAL headers <tt>./os/hal/include</tt>.
|
|
* - The platform layer headers
|
|
* <tt>./os/hal/platforms/<i>@<platform@></i></tt>.
|
|
* - The board description headers
|
|
* <tt>./boards/<i>@<board_model@></i></tt>.
|
|
* .
|
|
*/
|