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

44 Commits

Author SHA1 Message Date
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
Mike Smith
deade53c5d OP-578 - check for CODE_SOURCERY before setting -fpromote-loop-indices 2011-09-11 10:49:09 -07:00
James Cotton
a0d77faf4b PiOS: Move pios_iap out of common. It is STM32F1x specific. Created an
STM32F2xx stub version.  This needs cleaning up - there is some common code,
most of which can probably move to the bl_helper function.
2011-08-06 20:24:07 -05:00
Stacey Sheldon
91cb294730 build: remove redundant PHONY for size target 2011-05-24 01:10:40 -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
96827eecff build: Make all flight sw use pios_board_info_blob
Now that every bootloader build has a board info blob,
make all fw and bl images use it.

The following MACROS are removed:
  BOARD_TYPE, BOARD_REVISION, BOOTLOADER_VERSION,
  START_OF_USER_CODE, HW_TYPE

These values are now ONLY available from the bootloader
flash via the pios_board_info_blob symbol.  These values
must not be #defined or otherwise hard-coded into the
firmware in any way.  The bootloader flash is the only
valid source for this information.

NOTE: To ensure that we have an upgrade path from an
      old bootloader (without board_info_blob) to a
      new bootloader (with board_info_blob), it is
      essential that the bu_* targets do not depend
      on (or validate) the board_info_blob being present
      in the bootloader flash.
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
575010169a build: add pios_board_info_blob struct to bootloader flash image
The board info blob is stored in the last 128 bytes of the
bootloader's flash bank.  You can access this data from the
application firmware like this:
  #include <pios_board_info.h>

  if (pios_board_info_blob.magic == PIOS_BOARD_INFO_BLOB_MAGIC) {
    /* Check some other fields */
  }

DO NOT link pios_board_info.c into your application firmware.
Only bootloaders should provide the content for the board info
structure.  The application firmware is only a user of the data.
2011-05-16 08:30:30 -04:00
Oleg Semyonov
bac95dae11 OP-483: get rid of -D install switch (doesn't work on Mac) and use mkdir -p instead 2011-05-14 23:17:08 +03:00
Oleg Semyonov
45c609100a OP-483: add install target for bootloaders 2011-05-13 11:25:33 +03: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
465034cf94 bootloaders: always build with debug symbols enabled
This makes it easier to use gdb to debug issues.  This does
not change the -O flags, only makes -g always on and does
not strip the .elf files.
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
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
James Cotton
7e98bb42c9 OP-462: Patch from OS to override the debug flag for bootloaders 2011-05-03 12:54:11 -05:00
zedamota
1cc152b4dd More cleaning, moved stopwatch files to library folder, code formatting. 2011-04-29 20:48:13 +01: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
Corvus Corax
ee7179bd53 OP-439 unified OpenOCD config for mac os x and Linux, Makefiles adapted accordingly 2011-04-24 12:10:33 +02:00
sambas
193f9720e5 unix style output dir for all, makes eclipse users happier
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3042 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-15 19:11:56 +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
76fed0387b makefile: refactor bootloader makefiles
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2856 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 04:19:00 +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
sambas
eb6ebb93d2 Build: last patches for windoes, and output targets
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2586 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 20:34:29 +00:00
sambas
ae324ffd6e 3rd for Big Mess, bootloaders and pipxtreme
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2549 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-23 18:51:43 +00:00
zedamota
7f00e88321 OP-21/Bootloader - House cleaning only, shouldn't brake anything.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2250 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-18 20:41:13 +00:00
zedamota
c034a35d2c OP-21/Bootloader - Changes to the IAPObject. Implements MB and AHRS user mode IAPObject. Added user mode reset command to the CLI. To many changes to bootloading system to write here, a Wiki page will have to be writen.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2238 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-15 19:06:28 +00:00
zedamota
cc5a4c2bb9 OP-21/Bootloader - NOT FUNCTIONAL
Implements RS232(Telemetry) uploads using Kokomo's protocol.
This is a test version, the code will never timeout and jump to user space code.
If USB is connected on Power Up it will be used, if not RS232 will be used instead.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2211 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-10 19:11:29 +00:00
zedamota
98b0f406dc OP-21/Bootloader - fixes GPS connected issues, enhances timings problems, further work on serial support
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2136 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-21 19:37:40 +00:00
edouard
d5752dff34 Update BL Makefile for buffer.c removal.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2043 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-30 18:39:07 +00:00
edouard
8087fda6f9 Update Makefile so that the bootloader still compiles with the latest buffer_XXX changes...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2032 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-10-29 17:54:05 +00:00
kokomojoe
ca4f3b53fa OP-21/Flight Bootloader - added compiler and linker options to remove unused functions. Code is now smaller.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1759 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-26 02:34:04 +00:00
zedamota
3ba6372dc4 OP-21/Flight Bootloader - Clean up and linker files for the AHRS
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1691 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-19 18:27:53 +00:00
zedamota
97b44ffb04 OP-21/Flight Bootloader - Various fixes.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1678 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-18 00:46:34 +00:00
zedamota
4d0d865c31 OP-21/Flight Bootloader - fix to paths
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1647 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-15 18:03:52 +00:00
zedamota
50b7931a1c OP-21/Flight Bootloader - new bootloaders
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1639 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-15 17:06:51 +00:00
zedamota
df88140f51 OP-21/Flight Bootloader - Remove deprecated bootloaders
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1637 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-15 16:58:00 +00:00
zedamota
7a66232be0 OP-21/Flight Bootloader - Complete recoding. WARNING- As with all flash memories, the one in your OP HW as limited write cycles. Errors in this bootloader may damage your HW if it falls under a write or erase dead loop. This is still under development, for devs only.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1507 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-02 20:13:41 +00:00
zedamota
d71ade8227 OP-21/Flight Bootloader - Now if USB not connected it jumps directly to FW. If connected it will wait 5 seconds for command, then jumps. Also changed led flashing to PWM and created a timer for the delays.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1409 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-25 22:31:14 +00:00
zedamota
002c746076 OP-21/Bootloader deleted old one, commited new one. Partly functional, but slow due to current packet size.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1378 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-22 19:51:55 +00:00
dankers
297985c2a0 Move old bootloader to bootloader.old
This should be removed at some point but can wait till we have a working bootloader.


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1234 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-07 23:55:28 +00:00
gussy
9b1e548550 OP-21: Made bootloader startup faster and more reliable.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@301 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-13 20:02:06 +00:00
gussy
444a652383 OP-21: Bootloader mostly complete. Working and tested.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@299 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-13 17:53:42 +00:00
gussy
3de8a31fa0 Added working and tested base for OpenPilot HID Bootloader.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@293 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-12 16:24:02 +00:00