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.
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.
- 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
This is done by separating PyMite-dependent sources and making them
dependent on autogenerated python code. This was tested with make -j
on Windows and worked fine. It failed with errors otherwise:
In file included from ../Libraries/PyMite/vm/class.c:28:
../Libraries/PyMite/vm/pm.h:198: fatal error: pmfeatures.h: No such file or directory
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.
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.
Also change AttitudeActual to update at 10Hz rather than 2 Hz. The increased bandwidth is minimal and the resulting "polish" that it adds to the look-and-feel of the GCS is signifcant.
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
Warning: The memory utilization when importing objects is unacceptably high making it unusable in the flight code at this point. It can be however used with the SITL simulator. Some more investigation is needed to understand why several kb of memory are used each time a module is imported (even before any functions are called or objects from the module are created).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2938 ebee16cc-31ac-478f-84a7-5cbb03baadba
Stabilization, carries the desired rate or attitude as well as a flag on how to
intepret it.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2930 ebee16cc-31ac-478f-84a7-5cbb03baadba
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
Add V=1 to your invocation of make to re-enable
printing of all command lines.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2851 ebee16cc-31ac-478f-84a7-5cbb03baadba
Not yet used anywhere but will eventually allow
debug pins to be assigned during runtime init based
on configuration found in a new uavobject.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2741 ebee16cc-31ac-478f-84a7-5cbb03baadba
This makes it easier to step through the module init
sequence in gdb.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2740 ebee16cc-31ac-478f-84a7-5cbb03baadba
per target as defined in Makefile (and/or Make include file) For
OpenPilot this is flight/OpenPilot/UAVObjects.inc For sim_posix and
sim_win32 needs rebuild of uavobjectgenerator and uavobjects!
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2736 ebee16cc-31ac-478f-84a7-5cbb03baadba
Putting Corvus patch back in. Need to delete uavobjects-synthetics directory
for this to work.
This reverts commit 9cd98bec8fb5e0679c625eb256a94d161a8ce345.
Conflicts:
flight/CopterControl/Makefile
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2671 ebee16cc-31ac-478f-84a7-5cbb03baadba
Note: This patch did not build after a clean build.
This reverts commit 7e75b5d16481a32689433c868b67916816d8b9fb.
Conflicts:
flight/CopterControl/Makefile
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2651 ebee16cc-31ac-478f-84a7-5cbb03baadba
On architectures supporting automatic initializing, flight/UAVObjects/uavobjectsinit_linker.c is used
On architectures NOT supporting automatic initializing, an uavobjectgenerated file build/uavobject-synthetics/flight/init/uavobjectsinit.c is used
build/uavobjects-synthetics/flight/uavobjectsinit.c went away, so that a wildcard include in the Makefile will not include the (wrong) initialisation code in either version
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2640 ebee16cc-31ac-478f-84a7-5cbb03baadba
Also keep the priority of actuator at idle+4, dropping it down slipped through
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2580 ebee16cc-31ac-478f-84a7-5cbb03baadba
Beginning of unifying the input types into PIOS_RECEIVER.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2568 ebee16cc-31ac-478f-84a7-5cbb03baadba
A test script is statically linked (will eventually be uploaded by the GCS and stored in the VM), it can be found under: Modules/FlightPlan/flightplans/test.py
To start the script send the FlightPlanControl object with the Start command, to stop send the Stop or Kill commands.
Next release will be the OpenPilot python libraries and access to UAVObjects from the script.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2480 ebee16cc-31ac-478f-84a7-5cbb03baadba
projects which messed up a timer on OP and serial on PipX. Now this is only
changed for AHRS. Ideally wouldn't even change for that but then ADC runs too
fast and we get a lot more CRC errors for dealing with all that data.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2459 ebee16cc-31ac-478f-84a7-5cbb03baadba