1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-12 20:08:48 +01:00
Commit Graph

270 Commits

Author SHA1 Message Date
Sambas
addda5f29d USB and bootloader stuff, WORKS!! 2012-03-11 11:31:02 +02:00
Sambas
742f3ff24d Merge remote-tracking branch 'remotes/origin/james/revolution' into osd_test
Conflicts:
	ground/openpilotgcs/src/plugins/scope/scopegadgetwidget.cpp
2012-03-11 09:39:51 +02:00
Sambas
ccf5c310c9 Updates 2012-03-11 09:27:38 +02:00
Sambas
ee2b12b917 Updates 2012-03-10 09:40:37 +02:00
Stacey Sheldon
50b74fa90c revo: increase FW_BANK_SIZE to be flash sector aligned
The F4 CPUs have 16KB x 4, 64KB x 1 and 128KB x 7 sectors
of flash.  The FW image currently ends in the middle of a
128KB sector.  FW_BANK is now increased to end on a sector
boundary.
2012-03-07 19:52:54 -05:00
Stacey Sheldon
e2ab662b5d sysclk: pass in correct definition for HSE_VALUE
The code in RCC_GetClocksFreq() uses HSE_VALUE to determine
the tick rate of the SYSCLK.  This in turn is used by the
code in PIOS_DELAY_* to compute delays.

ST Library defaults this to 25MHz for the F4.  Our board
actually has an 8MHz oscillator so delays were way off.

Mostly affects the bootloaders since most FW code uses RTOS
delays rather than busy-waiting using PIOS_DELAY_*.
2012-03-07 19:52:54 -05:00
Stacey Sheldon
0684a42fac build: use board-specific JTAG interface for openocd
Removes hard-coding of JTAG interface config in the
<board>_program make macros.

This allows the use of STLINKv2 for F4 boards while
continuing to use the FOSS JTAG revB on F1 boards.
2012-03-03 08:43:01 -05:00
Sambas
8e31f84058 V1 beta 2012-02-28 20:32:44 +02:00
Brian Webb
f0dfba6fc0 Re-baslined the PipX codebase using the experimental Transmitter codebase. 2012-02-21 20:29:06 -07:00
Sambas
ebd2ae7e59 Bootloader, copy from revo, not functional 2012-02-18 22:35:13 +02:00
Sambas
8cc876d02a OSD branch 2012-02-12 22:29:42 +02:00
James Cotton
5fd458426a Merge branch 'cc3d' into revolution3
Conflicts:
	flight/PiOS/inc/pios_l3gd20.h
	flight/PiOS/pios.h
	flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2012-01-23 22:09:45 -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
James Cotton
9fb23d6491 Bump the board revision up to two for coptercontrol 3d 2012-01-20 14:39:05 -06:00
Stacey Sheldon
1d14ab00e1 safeboot: add safe boot support to OP and PIPX bootloaders
Application support for OP and PIPX will show up in future
commits.
2012-01-14 14:28:11 -05:00
Stacey Sheldon
fb0fbb150d bl: bump CC bootloader version to reflect safe boot support 2012-01-07 09:52:46 -05:00
Stacey Sheldon
7b38bc3d2d jtag: add new make targets for reset and safeboot
It is now easier to trigger warm restarts of a board
via jtag.

Examples:
  * make fw_coptercontrol_reset
  * make fw_coptercontrol_safeboot

NOTE: These targets are making chip-specific assumptions
      so they have to be rewritten to support the F2/F4
      boards.
2012-01-02 14:27:07 -05:00
James Cotton
d78d345953 Configuration tab for revo 2011-12-24 14:08:08 -06:00
James Cotton
4a3fd96155 For now masquerade Revo as a CC for GCS settings 2011-11-26 14:18:09 -06:00
James Cotton
ec84fc4058 Get the Revolution bootloader working 2011-11-13 17:13:42 -06:00
James Cotton
cdb6059752 Coyp over some of how the PH build system works 2011-11-01 01:36:52 -05:00
James Cotton
9bdd021b2e Make new Revolution target 2011-11-01 01:17:59 -05:00
James Cotton
f019412209 Various tweaks to get the F4 working 2011-10-26 21:56:00 -05:00
James Cotton
fef9570e4d INS: Get bootloader working again 2011-09-27 01:17:14 -05:00
James Cotton
cf6a59468f Merge branch 'next' into ins
Conflicts:
	flight/INS/Makefile
	flight/Project/OpenOCD/stm32f1x.cfg
	flight/Project/OpenOCD/stm32f2x.cfg
	make/firmware-defs.mk
2011-09-27 01:02:06 -05:00
Stacey Sheldon
f29b99521e openocd: collapse JTAG rules for STM32F1 and STM32F2 2011-08-27 10:43:02 -04:00
James Cotton
ca413415a0 Code to make openocd 0.5.0 work. I'll keep this branch rebased on next. 2011-08-13 18:03:49 -05:00
James Cotton
e9ca5c15f9 UPGRADE OPENOCD!!!!
To support the F2 and F1 you must upgrade to OpenOCD 5.0
2011-08-12 21:39:29 -05:00
James Cotton
6529b8360f Trying to get linker system working for INS 2011-08-12 21:28:02 -05:00
James Cotton
558bdddeaf INS: Almost got Bootloader compiling *sigh* 2011-08-06 21:27:29 -05:00
James Cotton
1ccb9a1947 Some changes to BL to get running on F2. Also disables it for now (flash
interface is different).
2011-08-06 19:46:41 -05:00
James Cotton
7720f9ff09 Add F2 support for the new OpenOCD for newer targets. Requires compiling
OpenOCD from repo.
2011-08-06 18:21:21 -05:00
zedamota
7406dc0a47 Increased CC bootloader version to '1' 2011-07-14 14:03:19 +01:00
Oleg Semyonov
8c6526cf25 gcs: add git version info to the About dialog using version-info.py 2011-05-29 00:27:07 +03:00
Oleg Semyonov
0867b3b729 package: (win) add comment regarding newer Qt SDK location and SDL requirements 2011-05-28 11:46:51 +03:00
Oleg Semyonov
41b03c92ee build: change FWTAG replacement to keep suffix intact and trim branch/tag only 2011-05-26 09:01:44 -04:00
Oleg Semyonov
75d4f19d30 build: add FWTAG variable to the version-info.py 2011-05-26 09:01:32 -04:00
Stacey Sheldon
986121d281 build: force firmwareinfo.c/bin to be regenerated on every build 2011-05-25 00:27:16 -04:00
Stacey Sheldon
4da671fc82 build: change firmware files from .opf to .opfw extensions 2011-05-25 00:20:02 -04:00
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