Mark Charlebois
9f391b1867
NuttX: fixes for NuttX build
...
In the upstream tree ringbuffer.h includes the method implementations
in the header file which causes multiple definitions in the link for
other targets. Changed so ringbuffer.cpp is build separately for other
platforms and is included by ringbuffer.h on NuttX.
uORB changes do not link without uORBTest_UnitTest.cpp enabled for
the NuttX build.
px4_getopt was not exported and wasn't visible in NuttX build.
The makefiles were restored to be as close as possible to upstream
so the NuttX build builtin's work again. The code will have to be
refactored after the merge.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-05-15 12:56:18 -07:00
Mark Charlebois
f3b5076d70
Linux to posix conversion
...
Changed "linux" target to "posix". Most of the changes are shared with
QuRT and with OSX. The Linux specific parts are in for i2c which uses
<linux/i2c.h> and <linux/i2c-dev.h>.
There is also a check for __PX4_LINUX in mavlink for a tty ioctl that is
not supported.
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-21 09:53:09 -07:00
Mark Charlebois
e9c2e08770
Added initial QuRT support
...
Added the basic files to start building for QuRT
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 11:37:51 -07:00
Mark Charlebois
838e9fc769
Refactoring for multiplatform support
...
Moved the NuttX specific board files to makefiles/nuttx and added
a makfiles/linux directory with sample config and board files.
Created a makefiles/toolchain_native.mk file for building for Linux
with the native system compiler. GCC or clang can be used by setting
a flag in the file.
The Linux build creates an archive file and will build the tasks as
threads. Other code changes are required to support both task based
and thread based builds.
The NuttX source should not be required for the Linux build. The
target OS (NuttX or Linux) is selected by commenting out the desired
line in setup.mk
Signed-off-by: Mark Charlebois <charlebm@gmail.com>
2015-04-20 10:46:43 -07:00
Lorenz Meier
f8cf495494
Revert "Added ability for board specific meta data generation"
...
This reverts commit 9ac350a7d1
.
2015-04-18 11:38:23 +02:00
Don Gagne
9ac350a7d1
Added ability for board specific meta data generation
...
Use new @board meta data attribute for board specific ifdef support
2015-04-18 11:14:12 +02:00
Daniel Agar
207b57869d
only define GIT_VERSION where it's used
...
-when the git revision is passed to every file as a define it causes
unnecessary ccache cache misses
2015-04-18 01:25:54 -04:00
Don Gagne
f3f7f08e0d
Parameter xml metadata in .px4
2014-11-18 17:20:50 -08:00
Thomas Gubler
3424a65e32
update comment in makefile
2014-05-02 14:28:47 +02:00
Thomas Gubler
de87d6df69
do not copy hidden files to ROMFS
2014-05-02 14:26:30 +02:00
Julian Oes
a61a89f339
ROMFS: ignore comments and newlines in startup files, text in mixer files
2014-02-17 00:25:30 +01:00
tstellanova
23a355644b
grab the git hash and inject it into every log file header
2013-09-06 10:18:08 -07:00
px4dev
f70a4b3b70
Add support for adding extra files to the ROMFS from the config.
...
If there is an IO firmware image already built when we build the corresponding FMU ROMFS, copy it into the ROMFS. Note - due to there being no fixed build ordering, to be certain that you have the most current IO firmware, you must build the IO firmware explicitly first.
2013-08-22 23:47:55 -07:00
px4dev
33863165b2
Merge commit 'de749a3602423f5ee6ca56f3cf2dfff04e31ec6d' (kconfig-cleanup) into fmuv2_bringup
2013-08-14 21:23:00 -07:00
px4dev
56d355414c
Fix handling of board config files. Treat CONFIG_BOARD like CONFIG_ARCH in the toolchain configuration.
2013-08-13 00:34:11 -07:00
px4dev
5e2d676173
Remove our depdenency on CONFIG_ARCH_BOARD_* coming from <nuttx/config.h>
2013-08-12 21:57:11 -07:00
px4dev
ce2fa29fe3
Add a missing module -> module makefile dependency
2013-08-03 10:06:34 -07:00
px4dev
9d6ec6b365
Restructure things so that the PX4 configs move out of the NuttX tree, and most of the PX4-specific board configuration data moves out of the config and into the board driver.
...
Rename some directories that got left behind in the great board renaming.
2013-08-02 22:34:55 -07:00
px4dev
95f59f521d
Add builtin command dependency on module makefiles, since they can also create / remove commands
2013-07-11 23:23:58 -07:00
px4dev
4302f76402
Hotfix: fix building firmware parallel
2013-06-06 22:49:49 -07:00
px4dev
3a1c9f14f6
Teach the PX4 build system how to handle pre-built libraries.
2013-05-20 00:26:41 +02:00
px4dev
0c43315c1e
Hotfix: better error messages for missing modules
2013-05-13 22:20:08 -07:00
px4dev
edb0e01dfd
HOTFIX: simplify symbol names going into the ROMFS object, hopefully this avoids inconsistent symbol naming on Windows.
2013-05-12 14:04:57 -07:00
px4dev
0ee738e9c9
Fix ROMFS dependency scan, add a warning if ROMFS_ROOT appears to be empty.
2013-05-12 10:51:25 -07:00
px4dev
196ee8b16f
Change the way modules are built so that object paths are relative and use vpath for locating sources (so source paths are also shorter).
...
Add some basic documentation for the build system files while we're at it.
2013-05-11 11:32:05 -07:00
px4dev
1caffca358
whitespace
2013-05-08 22:50:18 -07:00
px4dev
01e427b17c
Merge working changes into export-build branch.
2013-04-26 16:14:32 -07:00
px4dev
a457a45239
Pass the module name in to the module makefile.
...
Refer to the module command name with MODULE_COMMAND to avoid confusion with the module's actual name.
2013-03-20 23:55:30 -07:00
px4dev
08bed2c31f
Add extra cleaning power.
2013-03-20 23:22:48 -07:00
px4dev
db91dffb23
Merge branch 'master' into export-build
2013-03-20 23:05:19 -07:00
px4dev
b6218794c6
Stick copyrights on the major moving parts of the build system
2013-02-23 22:01:00 -08:00
px4dev
ddc405935e
Cosmetic tweaks to variable output.
...
Comment on the need to retain the double-slash at the WORK_DIR boundary.
More toolchain documentation.
2013-02-23 22:01:00 -08:00
px4dev
cde70da262
We don't have to get fancy with builtin_commands.c now, since we put all of the object files into the link loop (ordering is less important now)
2013-02-23 22:01:00 -08:00
px4dev
6b215be739
Use indirect calls for all commands (echo, make, etc.)
...
Replace our dependency on xxd with a toolchain call, and implement the backend using objcopy evil for the default toolchain.
2013-02-23 22:01:00 -08:00
px4dev
d24599931a
APP -> MODULE
...
remove as many duplicate slashes, etc. as seems practical
2013-02-23 22:01:00 -08:00
px4dev
8d7621079a
Checkpoint: application framework makefile done
2013-02-23 22:00:59 -08:00
px4dev
3494039d90
Get a bit fancier with the builtin app specifications, so that we can generate them from apps as well as the config.
2013-02-23 22:00:59 -08:00
px4dev
50739c1843
platform -> board
2013-02-23 22:00:59 -08:00
px4dev
abe48bd714
Auto-generate builtin command prototypes.
...
Tidy up path configuration, etc.
2013-02-23 22:00:59 -08:00
px4dev
a7a1cc4625
Add support for per-config ROMFS generation.
2013-02-23 22:00:59 -08:00
px4dev
963621c1f3
Rename makefiles to help categorise them.
2013-02-23 22:00:59 -08:00
px4dev
8440e4f709
Simplify the PLATFORM/CONFIG handling a little.
2013-02-23 22:00:59 -08:00
px4dev
e9f2197bfa
Move upload functionality out into a separate makefile.
2013-02-23 22:00:59 -08:00
px4dev
e692ccc44e
Move more functionality into firmware.mk. Now we build the px4 bundles in a way that will let external builders generate them too.
...
Pass the platform define into the firmware builder.
2013-02-23 22:00:59 -08:00
px4dev
d2d9800c2e
Recover commits lost in the previous merge. Syllableise PX4_BASE like its peers.
2013-02-23 22:00:58 -08:00
px4dev
b80575fcff
Break up the firmware build into a 'make export' phase for NuttX on a per-board basis, and then a separate per-config phase that allows us to avoid re-building NuttX all the time, and ship more than one firmware config for a given board.
...
This is a first cut; it builds one firmware for each of FMU and IO.
2013-02-23 22:00:58 -08:00