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

98 Commits

Author SHA1 Message Date
Stacey Sheldon
4da671fc82 build: change firmware files from .opf to .opfw extensions 2011-05-25 00:20:02 -04:00
Oleg Semyonov
66804076b8 build: fix release/Makefile for *.opf files and changed targets 2011-05-24 23:49:51 -04:00
Stacey Sheldon
8bd08e381a build: add support for EE bank on pipx boards
The pipxtreme boards use a sector of the on-board flash
for configuration storage.  Adjust the memory maps to
reflect this.

The board_info_blob is also extended to include the EE
bank definitions.  This should be used by the pipxtreme
firmware rather than determining it based on chip size.
2011-05-24 01:10:40 -04: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
504fe7a664 dfu: fix typo WRITABLA -> WRITABLE 2011-05-24 00:58:10 -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
6e406c0232 build: remove all remaining use of -DUSE_BOOTLOADER
The USE_BOOTLOADER compile flag was only being used
to determine where the ISR vector table was located.

Provide this explicitly from the linker since it knows
exactly where it is putting the ISR vector table.
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
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
a7833e0120 OP-483: add install target for bootloader updater 2011-05-13 11:25:35 +03:00
Oleg Semyonov
45c609100a OP-483: add install target for bootloaders 2011-05-13 11:25:33 +03:00
Oleg Semyonov
bf8939eb30 OP-483: cleanup: remove unneeded test.bin from BootloaderUpdater 2011-05-13 11:25:30 +03:00
James Cotton
d140d9c1fc Fix from Ivan for BootloaderUpdater not building with 4.5.1 2011-05-10 02:11:34 -05: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
Stacey Sheldon
58a2c71532 line-end changes only 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
zedamota
3132de4e48 Fixes download being slow issue. Made some cleaning also 2011-04-29 19:22:21 +01:00
James Cotton
5f776f0b58 Merge branch 'master' into OP-439_CorvusCorax_Bootloader-Makefile-and-OpenOCD-config-for-Linux 2011-04-27 23:41:35 -05: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
Corvus Corax
5d952f81e3 PIOS: BL_HELPER: refactored function names 2011-04-23 21:11:17 +02:00
Corvus Corax
357bc369db PIOS: Bootloader Helper functions should sit in HAL, not duplicated in every single architecture. 2011-04-23 19:40:41 +02:00
corvus
08eabd21e4 Fixed files with mixed line endings
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3168 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-04-15 12:03:20 +00:00
edouard
08b154590d Correct a typo in the CC bootloader USB descriptor define file (in the comments)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3164 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-04-14 21:35:09 +00:00
edouard
1f88b7f5aa Remove obsolete README files. Obsolete and actually misleading...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3163 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-04-14 21:00:40 +00: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
edouard
7631aeeb48 OP-338 USB Bootloaders on OpenPilot & CopterControl boards now use the new PID, and the right values for bcdDevice.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3014 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-09 07:06:53 +00:00
edouard
ae32bae5c7 OP-338: Use the new convention on bcdDevice for the PipXtreme. Also use the new PID for the modem. Careful, this breaks the uploader gadget on the GCS for now!
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3011 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-08 23:57:18 +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
osnwt
6613158206 BootloaderUpdater: fixed compilation errors. It works with CC too (tested).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2813 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-19 19:18:03 +00:00
zedamota
9050608e6c Flight/Bootloader - Bootloader updater, minor update to help user with the CL options
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2805 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-17 15:02:10 +00:00
zedamota
56c195fa9a Flight/Bootloader - Bootloader updater, WORKING - tested with PipX only (should work for all boards though).
Led(LED1 different color on each board) Sequence:
1-Power On
2-Led ON for 3 seconds (you can disconnect during this time - safety measure) 
3-Led flashes very quickly while the board is being programed (because the program is stored in memory this is very fast and looks like a led glitch)
4-If all good - LED flashes 3 times with a 1sec period and turns off - you may now reboot.
4-If an error ocurred - LED will keep flashing with a 500ms period until power off

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2804 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-17 14:54:57 +00:00
zedamota
949617e236 Flight/Bootloader - Bootloader updater, minor fix
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2801 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-16 15:04:59 +00:00
zedamota
993a4a7c5f Flight/Bootloader - Bootloader updater, needs testing
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2798 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-15 17:42:24 +00:00
zedamota
0abec1908d Flight/Bootloadera - small cleaning up. Start of Bootloader Update firmware witch will enable users to update the Bootloader itself without JTAG.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2794 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-14 18:15:25 +00:00
stac
3b34cc71b4 bl_pipxtreme: bind to new COM driver
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2789 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-14 01:17:42 +00:00
stac
5ac55a35e3 bl_coptercontrol: bind to new COM driver
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2788 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-14 01:17:39 +00:00
stac
000234f036 bl_ahrs: bind to new COM, USART and SPI drivers
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2787 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-14 01:17:35 +00:00
stac
bbb3882826 bl_openpilot: bind to new COM, USART and SPI drivers
- Removed all unnecessary device instances and their cfg's.
  - SPI to SD card
  - I2C
  - Aux USART
- Moved SPI baudrate setting into cfg rather than init func.
- Abstracted forcing slave select under OPAHRS API.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2786 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-14 01:17:32 +00:00
stac
3fda65c5d3 hwinit: Convert SPI drivers to dynamic init
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2772 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-12 22:19:50 +00:00
zedamota
8236bf8e19 CC-13 CopterControl bootloader - don't know if this fixes it, please try it.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2614 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-28 21:02:48 +00:00