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