This makes the BL and FW images distinct devices with unique
serial numbers.
Windows (and maybe Mac) remembers the device descriptors and
the associated drivers based on this serial number. Providing
unique serial numbers for the BL and FW images allows us to
provide different sets of descriptors for the BL and FW images
without confusing these OSes.
BL version number is now also bumped to reflect the new
serial number generation algorithm.
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.
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_*.
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.
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.
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.
- 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
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.
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.