1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-02 10:24:11 +01:00
Commit Graph

3 Commits

Author SHA1 Message Date
corvus
c2ba1f517b Fix to make stacs auto-loading of UAVObjects downwards compatible, since its not working on all architectures
On architectures supporting automatic initializing, flight/UAVObjects/uavobjectsinit_linker.c is used
On architectures NOT supporting automatic initializing, an uavobjectgenerated file build/uavobject-synthetics/flight/init/uavobjectsinit.c is used
build/uavobjects-synthetics/flight/uavobjectsinit.c went away, so that a wildcard include in the Makefile will not include the (wrong) initialisation code in either version



git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2640 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-31 20:37:11 +00:00
stac
083e2b01a9 uavobject: Use linker to produce uavobj initcalls
The UAVObject initcall list is now automatically
generated at link time based on the exact set of
UAVObjects linked into the firmware image.

This will allow any subset of UAVObjects to be
used in any firmware image.

The uavobj_initcall() macro automatically adds the
marked function's address into the .initcalluavobj.init
ELF section.

The UAVObjectsInitializeAll() function now simply
iterates over the functions listed in the
.initcalluavobj.init section and calls them.

You can see the contents of this section in the ELF file
like this:
  ./tools/arm-2009q3/bin/arm-none-eabi-objdump \
      --syms -j .initcalluavobj.init \
      ./build/openpilot/OpenPilot.elf

This is fundamentally the same mechanism that the Linux
kernel uses to initialize the specific set of components
that the user has selected in their kernel configuration.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2630 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-30 22:46:48 +00:00
peabody124
fc54159369 OP-265 Flight reorganization of UAVObjects and Modules up a directory
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2415 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:38:19 +00:00