Difference between revisions of "MansOS new platform"

From DiLab
Jump to: navigation, search
(New page: {{TocRight}} Suppose you want to add a new hardware platform for MansOS. Here is a list of tasks and files you need to create or edit. First, choose a unike but short name for your platfo...)
 
Line 2: Line 2:
Suppose you want to add a new hardware platform for MansOS. Here is a list of tasks and files you need to create or edit.
Suppose you want to add a new hardware platform for MansOS. Here is a list of tasks and files you need to create or edit.


First, choose a unike but short name for your platform, such as XYZ, which is used in this document.
First, choose a unique but short name for your platform, such as XYZ, which is used in this document.


Then you will have to create and adapt makefiles for the build process and source code for HPL and HAL layers.
Then you will have to create and adapt makefiles for the build process and source code for HPL and HAL layers.

Revision as of 21:19, 4 November 2011

Suppose you want to add a new hardware platform for MansOS. Here is a list of tasks and files you need to create or edit.

First, choose a unique but short name for your platform, such as XYZ, which is used in this document.

Then you will have to create and adapt makefiles for the build process and source code for HPL and HAL layers.

Make system

Make system is located in /mos/make.

  1. Add XYZ in Makefile.options to the list of platforms:
PLATFORMS ?= pc telosb ...
  1. Create a new Makefile.XYZ under the platforms directory. This makefile will be included by the main make system.

This file must refer to the platform specific code that needs included for the header file locations and compilation of the application. It also defines how to upload the compiled code to the target platform.

HPL

Add code for all the chips your platform will use. Hopefully some are already implemented. For the new chips create a directory under /mos/hpl/chips/ and place all the source files specific to this chip there.

HAL

Add a directory under /mos/hal/platforms/ named XYZ and place all the platform code there.

HIL

There should be no changes in /mos/hil/ code. However, you may look up this code because it is calling the code that you will be adding. This is where you may spot the proper names for the include files to use in yout HAL section, such as usart_hal.h.

Compilers

If you are using a compiler that is related to gcc, such as msp430-gcc, you may not need to add special handling for the compiler flags. Compiler specific make details are defined in Makefile.gcc Another compiler that MansOS is using for certain platforms such as nrf is SDCC.

If you are using another type of compiler, you may specify the options in the platforms/makefile.XYZ file, or include a separate file if the compiler is widely used for other platforms or will be in the near future.

Test

Test the build process on a simple application first, such as Blink.

cd apps/demo/Blink
make XYZ

Once the compilation seems to work, you may want to test the upload process to tyhe actual platform:

make XYZ upload