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

70 Commits

Author SHA1 Message Date
Stacey Sheldon
8c4c73496b build: add unbrick targets
Added new unbrick_<board> targets for each board.
These targets use the stm32flash utility to install
a bootloader on to the board.  This is a tool of
last resort and should not be used for normal firmware
upgrades.

Usage:
  make unbrick_<board> UNBRICK_TTY=/dev/ttyUSB0
Where:
  <board> is one of coptercontrol, pipxtreme,
          openpilot, ins, ahrs
  UNBRICK_TTY is set to the serial device connected
              to the board.
2011-06-15 21:37:10 -04:00
Stacey Sheldon
81dbd3f4c0 build: add install rule for stm32flash utility
This tool can be used as a last resort for
installing a bootloader to a completely bricked
board that is unresponsive to even the rescue
functionality in the GCS uploader gadget.
2011-06-15 21:37:10 -04:00
Stacey Sheldon
6313a78dc9 build: make lists of boards with fw, bl and bu
Provide unique lists of boards for each type of
build (fw, bl, bu) so we can refer to them in
the help text.
2011-06-15 21:37:09 -04:00
Stacey Sheldon
0801495ce1 build: fix spacing on label for clean targets
Whitespace only, no functional changes.
2011-06-15 21:37:09 -04:00
Oleg Semyonov
3dec910954 package: now it is called 'make package' instead of 'make release' 2011-05-28 03:14:51 +03:00
Stacey Sheldon
4da671fc82 build: change firmware files from .opf to .opfw extensions 2011-05-25 00:20:02 -04:00
Stacey Sheldon
076e5660fa build: Add all_<board> and all_<board>_clean targets
Building all_<board> will build all available embedded
images for <board>.  New targets:
  - all_ahrs
  - all_openpilot
  - all_coptercontrol
  - all_pipxtreme
  - all_ins
and their associated _clean targets to remove the build output.
2011-05-24 00:58:10 -04:00
Stacey Sheldon
0a67730d0f build: refactor fw, bl and bu rules
- New macros for fw, bl and bu rules in top-level make
- Per-board info factored into make/board/*/board-info.mk
- Per-board info now shared btw. fw, bl and blupd for each board
   - BOARD_TYPE, BOARD_REVISION, BOOTLOADER_VERSION, HW_TYPE
   - MCU, CHIP, BOARD, MODEL, MODEL_SUFFIX
   - START_OF_BL_CODE, START_OF_FW_CODE
- blupd_* goals renamed to bu_*
- all_blupd goal renamed to all_bu
- firmware goals renamed to fw_*, board name goals are preserved
- bu_*_program now writes updater to correct address for all boards
- BL updater firmware builds now produce .opf format including
  version info blob.
- BL updater firmware name now includes board name.
- INS makefile brought up to date w.r.t. linker scripts
2011-05-23 18:21:42 -04:00
Stacey Sheldon
6ec6425f5e build: build opf images including firmware + version blob 2011-05-22 10:55:13 -04:00
Oleg Semyonov
a0fadf739b OP-483: add 'release' target to the top level Makefile
Now 'make release' on the top level will build release package.

For Windows it will build OpenPilot GCS Installer and all firmware
binaries which are now included into the GCS distribution and will
be installed into the <path>/OpenPilot/share/firmware-<version>
directory.

For other systems it will build all firmware files and the GCS, but
latter is not packaged yet.
2011-05-19 01:57:35 +03:00
Oleg Semyonov
5b1e45a8df OP-483: move Windows installer out of ground/gcs tree
In preparation for release build the Windows installer source is moved
out of ground/gcs source tree into release directory. It is also disabled
in the qmake source file and removed from top level Makefile.
2011-05-18 22:22:40 +03:00
Oleg Semyonov
50f2d0ea76 OP-483: cleanup: replace ';' by '&&' in top Makefile (shouldn't continue on error)
On Windows cd doesn't mean that current directory is as expected since
there is also current drive. So in some rare cases mkdir followed by cd
doesn't change the directory which can result in Makefile overwrites by
qmake, etc. So it is safer to replace ';' by '&&' but need to check if
it still works on Windows under cmd or from Qt-Creator.
2011-05-13 11:25:29 +03:00
Stacey Sheldon
7b52945151 build: clean up typos in help text 2011-05-08 20:03:22 -04:00
Stacey Sheldon
933dcff238 build: note that top-level makefile works on windows 2011-05-08 19:14:50 -04:00
Stacey Sheldon
2301f4bfed build: remove USE_BOOTLOADER var from blupd targets 2011-05-08 14:07:05 -04:00
Stacey Sheldon
851e78cce5 build: Fill out the help text for all new targets 2011-05-08 12:41:02 -04:00
Stacey Sheldon
4028c0b2ee build: sanitize user environment variables
Certain environment variables or command-line overrides
can result in difficult-to-diagnose build issues.  These
variables are now filtered from the calling environment
prior to invoking the lower level makefiles.

These variables which may affect gcc are removed from the
environment and from the command-line overrides:
  TMPDIR GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH
  CFLAGS CPATH C_INCLUDE_PATH CPLUS_INCLUDE_PATH
  OBJC_INCLUDE_PATH DEPENDENCIES_OUTPUT

These variables which are now deprecated are removed from
the environment and from the command-line overrides:
  USE_BOOTLOADER
2011-05-08 12:40:29 -04:00
Stacey Sheldon
29ec2f198b build: convert all app loads to require bootloaders
This change is made up of a number of tightly coupled
changes:
 - Deprecate the use of the USE_BOOTLOADER command-line
   option.  It is now hard-coded in each Makefile.
   Overriding it on the command line is not allowed.
 - Split apart the memory declaration and the section
   declaration in all linker files (*_memory.ld and
   *_sections.ld).
 - Describe the split between bootloader and app sections
   of flash in each board's _memory.ld file.
 - Change program target to selectively erase flash so
   that the installed bootloader is preserved across even
   JTAG programming operations.
 - All elf files are built with debug symbols and are not
   stripped.  This should help debugging with gdb.  The
   images programmed on the boards are all .bin files now
   which do not include symbols.
2011-05-08 12:40:29 -04:00
Stacey Sheldon
268522c91b build: add gcs_clean and fix uavobjects_clean targets 2011-05-08 12:40:28 -04:00
Stacey Sheldon
5f3f52e0f9 makefile: whitespace changes only 2011-05-08 12:40:28 -04:00
Stacey Sheldon
3c03db9126 build: convert BL updaters to use cd rather than -C 2011-05-08 12:40:28 -04:00
Stacey Sheldon
18ea93119f build: Add support for BL_Updaters to top-level makefile
New targets:
 - make blupd_all_clean
 - make blupd_all
 - make blupd_openpilot
 - make blupd_ahrs
 - make blupd_coptercontrol
 - make blupd_pipxtreme

These targets are also included in the 'all_flight' target.
2011-05-08 12:40:28 -04:00
Oleg Semyonov
ba88bcaab9 OP-438: add gcs_installer target to the top Makefile (Windows only) 2011-05-03 16:15:55 -05:00
Oleg Semyonov
86fe9edfed OP-305: replace '-C dir' by 'cd dir &&' (Windows MSYS compatibility fix)
For unknown reason under Windows MSYS the make.exe doesn't like the
-C option in some configurations. So this change is made to provide
a cross-platform compatibility and take advantage of unix-like build
environment on Windows system.
2011-05-02 20:15:26 +03:00
chebuzz
06443b4281 OP-378 - OP/INS - Add initial support for INS. HMC5883, BMP085, BMA180, IMU300 all added. Throrough verification has not been done on any of them. main() simply calls self-test functions on all of the hardware.
AHRS_comms still needs to be implemented.  INS/GPS functionality still needs to be implemented.  Double-check of the new drivers still needs to be done.


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3162 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-04-14 12:46:39 +00:00
richard
7ab0789f85 - did text subst s/^\t#/ #/ to change shell commands containing comments
into makefile comments
- added "<target>:| $(DL_DIR) $(TOOLS_DIR)" _order-only_ prerequisites
to ensure directory creation, but prevent not-up-to-date when
directory is touched


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3120 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-04-03 01:40:22 +00:00
cwabbott
f657dba49f Modified sitl win32 to output to /build/sitl_win32
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3006 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-08 02:36:33 +00:00
osnwt
d6e2a72e60 OP-305: Top Makefile: added GCS build configuration option GCS_BUILD_CONF=(debug|release).
Use 'make gcs GCS_BUILD_CONF=release' to build release binaries.
Default is to build debug version (was hard-coded).


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2990 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-06 13:41:46 +00:00
osnwt
51396d5272 makefile: Build .bin files for firmware (required for bootloaders), keep .elf for bootloaders
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2926 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-01 10:50:44 +00:00
stac
e04e86916a makefile: Build .bin files for bootloaders
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2922 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-01 03:56:07 +00:00
osnwt
0210334aa8 OP-305 Preparing the top level Makefile for unix-style Windows build.
- fixed: dep directory problem (sometimes it cannot be created by make, so do it with mkdir);
- fixed: added -f option to all_clean target (or rm stops on Windows for hidden .svn and r/o files);
- fixed: overridden USE_BOOTLOADER var for bootloaders (should always be set to NO regardless of command line);
- verified: short compilation output works as expected.

Some TODOs still exist, see OP-305 comments for details.


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2918 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-28 10:25:56 +00:00
stac
26e0721043 makefile: Add dedicated clean targets
This prevents invoking the uavobject generation
when we're just trying to do a clean.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2857 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 04:19:02 +00:00
stac
ee3d890bfc makefile: convert to unix line-endings
These files were a mix of line endings.  Now
they're all consistent as LF terminators.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2855 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 04:18:56 +00:00
stac
2e87d705a2 makefile: no built-in rules and no-print-directory
- Remove built-in rules from sub-makes since it just adds
  cruft to the make database when trying to debug.
- Tell make not to print the directories as it decends
  into them.  Part of a series of output cleanups.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2853 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 04:18:50 +00:00
stac
6892d933fd makefile: CC should only depend on uavobjects_flight
Was depending on uavobjects (ie. all of them).

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2852 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 04:18:48 +00:00
stac
251f227b31 makefile: reduce default verbosity level
Add V=1 to your invocation of make to re-enable
printing of all command lines.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2851 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 04:18:46 +00:00
stac
617eec4d65 makefile: split out fw and bl targets and add cleans
New targets:
 - all_fw       : builds all embedded application firmware
 - all_fw_clean : cleans all embedded firmware
 - all_bl       : builds all bootloaders
 - all_bl_clean : cleans all bootloaders

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2850 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 04:18:43 +00:00
stac
46bde2def9 build: Add all bootloader targets to top-level makefile
The new targets are:
  bl_openpilot
  bl_ahrs
  bl_coptercontrol
  bl_pipxtreme

Build output is placed in <top>/build/bl_*/

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2785 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-14 01:17:28 +00:00
stac
a67c9ddb98 makefile: misc cleanup
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2739 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-06 01:02:59 +00:00
corvus
00be4070bb TopLevel Makefile: Introduced new target uavobjects_clean, to clean up autogenerated uavobject code.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2669 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 11:13:02 +00:00
corvus
d7f074a765 a path change had been forgotten in the top level makefile - fixed (big mess v2)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2641 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-31 21:18:31 +00:00
corvus
04d3a9649d CopterControl: reverting previous commit - doesn't work on windows due to command line length limitations
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2624 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-29 16:15:16 +00:00
corvus
000a45f1bf CopterControl - Build CopterControl with a Makefile specified subset of UAVObjects - code generation by uavobjgenerator
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2622 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-29 12:36:41 +00:00
cwabbott
eeac20d4ae The Big Mess part 4: win32 and posix sitl.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2555 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-23 20:30:25 +00:00
stac
a0cbe21eb3 build: move openpilotgcs output under <top>/build/ground
This will allow us to create a simpler project file
for those that use the qt-creator gui.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2529 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-22 17:41:48 +00:00
stac
7195862d77 build: Move openpilotgcs into its own subdirectory
This will allow us to build a parent project for
qt-creator that sits above both openpilotgcs and
uavobjgenerator so that we can build both projects
at the same time.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2528 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-22 17:40:26 +00:00
stac
b736b2a956 UAVObjects-java: move java output files into synthetic dir
Move generated Java UAVObject output into the common synthetic
tree for all UAVObject output.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2527 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-22 17:38:48 +00:00
stac
5e6d87b2db UAVObjects-xml: Move UAVObject definitions outside of gcs dir
The UAVObject definition (.xml) files are used by both the
GCS build as well as the flight software builds.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2526 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-22 17:38:43 +00:00
stac
205e09a8d1 uavobjgenerator: Move generator out of the gcs subdir
The UAVObject generator is intended to be a standalone tool.
As such, it doesn't belong under the openpilotgcs directory.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2525 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-22 17:38:37 +00:00
stac
51b1b2cfc2 AHRS: Make ahrs build depend on flight uavobjects
The OP<->AHRS comms code depends on the content
of a few of the uavobjects.  The AHRS build should
depend on the autogenerated uavobjects for flight.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2524 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-22 17:38:32 +00:00