Their locations in user profile have been changed,
see http://progress.openpilot.org/browse/OP-179
If they are defined as they were, they are not removed
by Windows uninstaller.
This fixes the OP bootloader getting stuck in the
bootloader forever when USB is plugged in.
This also fails hard on being passed an unsupported
timer value so that this can be caught more easily
in the future.
Certain environment variables or command-line overrides
can result in difficult-to-diagnose build issues. These
variables are now filtered from the calling environment
prior to invoking the lower level makefiles.
These variables which may affect gcc are removed from the
environment and from the command-line overrides:
TMPDIR GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH
CFLAGS CPATH C_INCLUDE_PATH CPLUS_INCLUDE_PATH
OBJC_INCLUDE_PATH DEPENDENCIES_OUTPUT
These variables which are now deprecated are removed from
the environment and from the command-line overrides:
USE_BOOTLOADER
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.
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.
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.