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

83 Commits

Author SHA1 Message Date
Stacey Sheldon
4fafbb13ed makefile: Add EF (Entire Flash) targets for all boards
These new build targets will construct a flash image that
includes both a bootloader as well as a firmware image all
in one.  Examples:
  make ef_coptercontrol
  make ef_revolution

This also adds support for a new target for writing this EF
image to boards that support a DFU interface (only F4-based
boards).  This can be done by running:
  make dfuutil_install
  # Boot board with SBL asserted to activate STM32 DFU ROM
  # Attach USB cable
  make ef_revolution_dfu

Bootloader images are also now padded out to occupy the full
BL flash region.
2012-02-03 00:59:36 -05:00
Stacey Sheldon
99f5f20cb2 openocd: add support for stlink on stm32f4 targets 2012-02-03 00:51:31 -05:00
Stacey Sheldon
3318979714 dfu-util: Add dfu-util install target to Makefile
This tool can be used to read/write the interal device flash
in an STMF4 MCU via the built-in bootloader.

dfu-util can be downloaded and installed using this command:
  make dfuutil_install

The homepage for this tool is at:
  http://dfu-util.gnumonks.org/
2012-01-28 09:28:57 -05:00
James Cotton
7f38d113eb Delete more old target stuff 2012-01-26 11:21:34 -06:00
James Cotton
bb0bfe0ae4 Merge branch 'next' into revolution3
Conflicts:
	flight/Bootloaders/CopterControl/Makefile
	flight/Bootloaders/PipXtreme/Makefile
	flight/Bootloaders/Revolution/inc/pios_config.h
	flight/CopterControl/Makefile
	flight/INS/inc/pios_config.h
	flight/Libraries/taskmonitor.c
	flight/Modules/Altitude/altitude.c
	flight/Modules/Attitude/attitude.c
	flight/OpenPilot/Makefile
	flight/OpenPilot/Makefile.posix
	flight/OpenPilot/System/inc/pios_usb_board_data.h
	flight/OpenPilot/System/inc/taskmonitor.h
	flight/OpenPilot/System/pios_board.c
	flight/OpenPilot/System/taskmonitor.c
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/PiOS/STM32F4xx/pios_bmp085.c
	flight/PiOS/STM32F4xx/pios_iap.c
	flight/PiOS/pios.h
	flight/Revolution/System/inc/pios_config.h
	flight/Revolution/System/inc/taskmonitor.h
	flight/Revolution/System/taskmonitor.c
	ground/openpilotgcs/src/plugins/serialconnection/serialplugin.cpp
	shared/uavobjectdefinition/systemalarms.xml
	shared/uavobjectdefinition/taskinfo.xml
2012-01-21 11:27:03 -06:00
Stacey Sheldon
0ce95839ca stm32flash: Upgrade to revision 61 to support STM32F4 CPU 2012-01-07 17:28:00 -05:00
James Cotton
d5eb38a065 Remove references to deprecated targets 2012-01-04 19:42:45 -06:00
James Cotton
fffb6449ac Delete the old INS target 2011-11-13 17:31:34 -06:00
James Cotton
9bdd021b2e Make new Revolution target 2011-11-01 01:17:59 -05:00
James Cotton
acf2aa218b Merge remote-tracking branch 'origin/stac/upgrade-to-openocd-0.5.0' into next 2011-09-14 11:49:01 -05:00
James Cotton
ae74706b20 Update URL to ARM SDK 2011-09-11 17:19:31 -05:00
Stacey Sheldon
8198cc881f openocd: upgrade to 0.5.0
Upgrade is needed to support STM32F2 chip on the new boards.

Use 'openocd_install' to download/build the new version
on Linux.
2011-08-27 10:41:53 -04:00
Stacey Sheldon
22110c4c60 build: Switch to GCC 4.5.2 2011-07-20 00:42:51 -04:00
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