This page is intended as a HOWTO for paparazzi developer. Instead of presenting the build system in a formal way, we will walk you through the creation of a sample application in Paparazzi. This application is targeted to run on a Lisa/L board. It will consist in receiving data from an IMU connected to the STM32, pass it to the overo which will downlink them to the ground segment for displaying. This will allow us to cover the build system, the use of peripheral drivers and the communications with the ground segment.
Airframe file and brief presentation of the build system
Paparazzi build system is pretty flexible, but can seem complex at a first glance.
- It is able to build software for different vehicles. For a given vehicle, everything starts with a xml file, stored in conf/airframes/my_vehicle.xml. This file is processed by the build system to generate one header and one makefile ( var/my_vehicle/airframe.h and var/my_vehicle/Makefile.ac ).
The file conf/conf.xml holds the list of available vehicles. The name of the vehicle is used
- It is able to cross compile code for different architectures ( avr, lpc21, stm32, geode, omap3 for the moment ). The makefile responsible for a particular architecture is conf/Makefile.[avr|arm7|stm32|...]
- For each vehicle, it is able to build a number of "targets" ( aka programs), like for example an autopilot and a number of test programs, or in the case of our multiprocessor board Lisa/L, a program for the STM32 and a program for the Overo.