Commit Graph

129 Commits

Author SHA1 Message Date
Andrew Tridgell a9455ec3d3 waf: fixed app signature in elf files
this fixes an issue when developing for ChibiOS AP_Periph targets
where loading the elf file in gdb doesn't allow it to run as it
doesn't have the correct AP_Periph signature (crc, board type etc)

This patch modifies the elf file to fill in the signature, so when you
load in gdb the bootloader will be able to run the signature checks
and load the firmware
2024-09-10 12:33:45 +10:00
Willian Galvani 4ec023ac1a Tools: ardupilotwaf: allow automatic upload to BlueOS 2024-08-27 10:25:35 +10:00
Andrew Tridgell aff9175328 waf: moved elf symbol checking to ardupilotwaf
not chibios specific
2024-06-04 09:20:21 +10:00
Andrew Tridgell 07b5ffcc58 waf: removed -fcheck-new and added link checks
check for use of new without std::nothrow
2024-06-04 09:20:21 +10:00
Andrew Tridgell 792fdc2fb8 Tools: specify pymonocypher version in more places
and confirm version when running tools
2024-05-19 10:07:54 +10:00
Andrew Tridgell c097cd7fb9 waf: cope with CI python oddity 2024-05-08 18:28:59 +10:00
Andrew Tridgell fee5374cb6 Tools: only produce _with_bl.hex not *.hex for vehicle firmware
if we are producing _with_bl.hex then don't also build *.hex as it can
confuse users who think they should flash *.hex with a DFU flashing
tool
2024-02-27 11:24:24 +11:00
Andrew Tridgell 4ad1231c8f waf: prevent use of C++ library calls that can cause exceptions
this cleans up our blacklist of library functions, and ensures there
can be no accidential use of std:: functions that cause exceptions in
flight code on HAL_ChibiOS
2024-02-21 12:09:48 +11:00
Andrew Tridgell 743b1262a0 waf: removed old UAVCAN defines 2024-01-25 11:44:02 +11:00
Andrew Tridgell ec9a8d7167 waf: CubePilot-PPPGW needs fiprintf 2024-01-21 12:30:08 +11:00
Andrew Tridgell a53be122db waf: removed lwip source paths in chibios class 2024-01-03 12:14:47 +11:00
Andrew Tridgell a5fee135b0 waf: added paths for PPP build 2024-01-03 12:14:47 +11:00
Andrew Tridgell 23e67f7b53 waf: enable CAN deadlines in AP_Periph 2023-12-19 18:56:46 +11:00
Andrew Tridgell 8f2911d0e2 waf: fix dependency on lwip code 2023-12-11 18:00:38 +11:00
Peter Barker 576dc9d05f Tools: clamp empy to version 3
API and syntax hanges make 4 problematic
2023-12-03 17:08:00 +11:00
Andrew Tridgell 3623d20479 waf: enable CANARD_MULTI_IFACE on AP_Periph if more than one interface 2023-09-05 06:56:51 +10:00
Pierre Kancir 9d76d1e3df Tools: Test for membership should be `not in` 2023-09-02 13:27:25 +10:00
Andrew Tridgell 2eca7224d3 waf: wrap _sbrk to prevent its use
while _sbrk isn't used now, this will prevent a repeat of the bug in
PR 24218
2023-07-05 21:46:36 +10:00
Andrew Tridgell 37253c13d9 waf: wrap newlib alloc functions on ChibiOS
this prevents scripting and string library functions from calling sbrk
based alloction functions that are not thread safe
2023-07-05 07:13:39 +10:00
Andrew Tridgell 1055c5f1c6 waf: fixed dependency of ChibiOS build on compiler flags
this adds a chibios_flags.h which contains the flags we pass to the
ChibiOS make, which allows us to have a make level dependency on the
flags

this fixes (among other things) the build of copter followed by
bootloader for SPRacingH7
2023-06-20 18:08:31 +10:00
bugobliterator 8ac9480e3d waf: add support for semaphores around allocate blocks in libcanard 2023-06-08 10:15:50 +10:00
Peter Barker 537fc19bb5 AP_HAL_ChibiOS: do not build ChibiOS with debug symbols unless debug build
debug symbols subtly change the compiler output which can lead to problems with repeatable builds
2023-05-16 09:55:47 +10:00
Tom Pittenger a47e125c1f Tools: add ./waf --upload-force arg to allow uploader.py to do --force 2023-05-12 07:14:52 +10:00
Tom Pittenger 3b9c2bb185 Tools: WSL2 python.exe uploader.py stdout to be unbuffered via -u 2023-05-12 07:12:07 +10:00
Andrew Tridgell 402de293d6 Tools: text messages and more defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 6944e73c57 Tools: fixed build of CPUInfo and other tools 2023-04-10 16:48:50 +10:00
Andrew Tridgell 75ed340efa waf: rename UAVCAN to DroneCAN 2023-04-08 07:11:23 +10:00
bugobliterator 56068e65c6 waf: add support for multithreaded register/unregister of DroneCAN handlers 2023-03-29 17:16:39 +11:00
bugobliterator 0e80802f69 waf: replace libuavcan with libcanard for vehicle builds 2023-03-29 17:16:39 +11:00
Andrew Tridgell 7e3b538b16 waf: added --board-start-time configure option 2023-03-24 08:31:25 +11:00
bugobliterator e4ada09fc3 waf: use bld for dronecangen export headers for including 2022-11-16 18:05:59 +11:00
Tom Pittenger 1944894b76 Tools: remove warning for WSL2 --upload on python.exe 3.10.x, it works fine 2022-10-07 09:35:20 -07:00
Andrew Tridgell 7a57fc8c5d waf: ensure we don't try to use non-implemented functions 2022-10-06 10:45:49 +11:00
Andrew Tridgell b55ee297d8 waf: allow setting signing key as part of configure with --private-key
makes for faster development with signed bootloaders
2022-09-05 12:35:37 +10:00
bugobliterator 3f951c3e0b waf: add support for secure bootloader 2022-08-30 10:51:06 +10:00
bugobliterator 0c78f8bac2 AP_HAL_ChibiOS: add support for booting into DFU 2022-08-30 10:51:06 +10:00
bugobliterator 3c30991153 waf: ensure we don't apply app desc step on BL 2022-08-16 16:49:30 +10:00
Andrew Tridgell df75c1796a waf: added --enable-check-firmware option 2022-08-15 09:18:34 +10:00
Tom Pittenger c60f7bff91 Tools: Enable uploader.py and waf --upload to work on WSL2 2022-07-22 09:12:01 +10:00
Pierre Kancir 2cca370a74 Tools: ardupilotwaf: remove useless shebang on non exec files 2022-06-08 08:16:42 +09:00
Siddharth Purohit 5e54871d82 ardupilotwaf: set flags for CANFD support as applicable 2022-03-11 18:13:54 +11:00
Andy Piper fdaaa589e5 waf: move external flash binaries to regular name to aid publishing 2022-03-01 11:15:52 +11:00
Andy Piper 2beb9cfc7d waf: rename EXTERNAL_PROG_FLASH_MB to EXT_FLASH_SIZE_MB 2022-02-09 12:47:55 +00:00
Peter Barker 43b4f86485 waf: use GIT_VERSION from env if available
This allows for reproducible builds to be produced
2022-01-18 11:30:41 +11:00
Peter Barker d6f4f54c0a Tools: include brand name and manufacturer in APJ file, use for manifest 2022-01-07 22:46:52 +11:00
bugobliterator 9eb3a976bc waf: allow build with ardupilot as a module 2021-12-20 12:47:25 +11:00
bugobliterator 6adfcd4957 waf: disable building CrashCatcher for non 2M boards 2021-10-30 19:24:57 +11:00
bugobliterator eee7e6cadf waf: add defines for use in CrashCatcher Flash dump 2021-10-30 19:24:57 +11:00
bugobliterator c5dd02fb2b waf: compile in crash catcher library 2021-10-30 19:24:57 +11:00
Andrew Tridgell 00491275e0 waf: added image_maxsize to apj files
this allows the px4_uploader.py script to load apj files
2021-10-12 15:47:51 +11:00