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

181 Commits

Author SHA1 Message Date
Stacey Sheldon
c240a927ab build: fixup ins board-info.mk file to match new format 2011-05-24 23:47:03 -04:00
Stacey Sheldon
0eb92fad91 build: refactor jtag program and add jtag wipe target
Macros for JTAG program and wipe for each target are now
provided in firmware-defs.mk.

The _wipe target for each firmware and bootloader image will
erase either the bootloader (bl_*_wipe) or firmware (fw_*_wipe)
bank.
2011-05-24 01:10:31 -04:00
Stacey Sheldon
9973fda23b build: define bootloader and firmware bank spans
The board-info.mk files now define the start and size
of the bootloader and the firmware banks.
2011-05-24 01:03:01 -04:00
Stacey Sheldon
9854c18c5d version-info: allow unannotated tags
Unannotated (ie. movable) tags will now influence the
tag/hash reported in the version info blob attached to
the firmware image (.opf).
2011-05-23 18:21:42 -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
5c085550cb OP-483: include dirty state of repository into the version string 2011-05-22 12:00:49 +03:00
Oleg Semyonov
6f5f334818 OP-483: fallback to optparse to improve python script portability 2011-05-21 21:00:12 +03:00
Oleg Semyonov
caab3ce01a OP-305: fix default CodeSourcery location on Windows 2011-05-21 13:14:15 +03:00
Oleg Semyonov
285c429589 OP-483: add Windows installer target to 'make release' 2011-05-19 01:05:12 +03:00
Oleg Semyonov
25c44d3d0d OP-483: polish comments in scripts 2011-05-18 21:48:55 +03:00
Oleg Semyonov
8f30b89b17 OP-307: add template for firmware info blob C source
python $(TOP)/make/scripts/version-info.py \
	--path=$(TOP) \
	--template=$(TOP)/make/templates/firmwareinfotemplate.c \
	--outfile=$(TOP)build/$(FW)/firmwareinfo.c \
	--image=$(TOP)/build/$(FW)/$(FW_IMAGE_BIN) \
	--type=0x04 \
	--revision=0x01
2011-05-17 21:37:02 +03:00
Oleg Semyonov
bf9a3ef7d3 OP-483: add version-info.py script for software, firmware and release packaging 2011-05-17 21:29:22 +03:00
Oleg Semyonov
b33d093a7a OP-483: update Windows build system, provide install replacement
Since msysGit lacks the install command, simple cp -f replacement
is provided. Don't forget to copy it into the msysGit bin subdirectory.

Introduced CLEAN_BUILD=NO make option to test packaging w/o cleaning.
Recommended for test builds only, not for production run.

make -j works great after PyMite dependency fix by commit
0005729056
So comment is updated as well.
2011-05-15 14:54:24 +03:00
Oleg Semyonov
37868a4c10 OP-483: add install target for firmware
make INSTALL_DIR=dir INSTALL_PFX=pfx INSTALL_SFX=sfx install
installs binary file into specified install directory adding
optional prefix and/or suffix.
2011-05-13 11:25:32 +03:00
Oleg Semyonov
3964b97ae5 OP-483: Update Windows build environment subdirectory
USE_BOOTLOADER now deprecated and removed.
Scripts are moved into the same subdirectories like in msysGit.
Added make.sh script (for advanced usage scenario).
Few misprints are fixed.
2011-05-13 11:25:27 +03:00
James Cotton
0b63e9d39c Merge branch 'OP-484_Stac_Standardize-on-all-application-loads-requiring-a-bootloader' 2011-05-08 23:14:37 -05:00
James Cotton
32fa213744 Merge branch 'OP-484_Stac_Standardize-on-all-application-loads-requiring-a-bootloader' 2011-05-08 22:44:14 -05:00
Stacey Sheldon
5ea814ae12 build: really handle colon in windows path names in bino symbol transform
colon in windows paths needs to be converted to an underscore,
not removed entirely from the symbol names autogenerated by
objcopy.
2011-05-08 17:36:16 -04:00
Stacey Sheldon
4c4136c75e build: handle colon in windows path names in bino symbol transform 2011-05-08 16:21:55 -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
116848d8dd build: add support for building stripped elf files 2011-05-08 12:40:28 -04:00
Oleg Semyonov
703db76e27 OP-483: Rename win32 to winx86 (it works also on 64-bit) 2011-05-08 16:37:01 +03:00
Stacey Sheldon
7e99419c8a build: Add support for %.bin.o generation
The .bin.o rule places the contents of a raw .bin file
into an .o file wrapped within fixed symbols for start
and end.  This can be used to embed a binary file inside
of an executable.

The symbols for the embedded binary blob are:
 _binary_start
 _binary_end
 _binary_size

NOTE: The way the .bin.o rule is currently written, you
can only embed one binary blob in an executable since the
symbol names will collide if you add multiple blobs.  This
limitation is easily removed later if necessary.
2011-05-07 18:05:50 -04:00
Oleg Semyonov
4d2095bc6f OP-305: reverse search order (dir, then PATH) for better compatibility 2011-05-03 16:16:41 -05:00
Oleg Semyonov
69f2f75d8b OP-305: update sh.cmd to make easier to add more tools to the PATH 2011-05-03 17:19:00 +03:00
Oleg Semyonov
f88d3f19f7 OP-305: better handling of spaces in paths, add advanced usage info
It needs to be verified on Windows 7 and 64-bit systems to make sure it
still works as expected due to %COMSPEC% removal from the sh.cmd file.
2011-05-03 14:47:30 +03:00
Oleg Semyonov
5cba782b9b OP-305: fix README.txt (add Unicode NSIS) 2011-05-02 21:05:13 +03:00
Oleg Semyonov
21c4837f95 OP-305: add Windows unix-like build system scripts and README.txt 2011-05-02 20:13:26 +03:00
James Cotton
69d03ca101 OP-439: Simplify further. Abstract most of the OOCD flags into the common
firmware include and delete all the extra foss-jtag config files.  There is now
a legacy file for the revA board a second for AHRS that changes the port
2011-04-24 10:19:00 -05:00
stac
6700a74782 makefile: refactor makefiles and clean up output
This significantly reduces the amount of duplication
across the various firmware makefiles.

The new firmware-defs.mk file should contain only
macros/declarations that will apply to all firmware
makefiles.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2854 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 04:18:53 +00:00