Commit Graph

42 Commits

Author SHA1 Message Date
Andrew Tridgell 06a8aef998 HAL_ChibiOS: switched G4 FDCAN clock to 80MHz
this requires main CPU clock at 160 MHz instead of 168 MHz
2024-01-25 11:44:44 +11:00
Andrew Tridgell 6dbc3b6a70 HAL_ChibiOS: speed up millis(), micros64() etc
these use faster primitives and an assembly division by 1000 to get
between 2x and 3x speedup on these critical calls
2023-12-19 11:47:24 +11:00
Andrew Tridgell 39153a1c01 AP_HAL_ChibiOS: removed native_millis/micros 2023-08-24 13:06:40 +10:00
Tom Pittenger d841d250d8 AP_HAL_ChibiOS: allow HW without HW_RNG to SW-based create psuedo-random 2023-08-06 09:20:08 +10:00
Andrew Tridgell f138824449 HAL_ChibiOS: make clock asserts show the incorrect value
this makes it easier to debug clock checking issues
2023-06-20 18:56:13 +10:00
Andy Piper 39b226c46b AP_HAL_ChibiOS: support EXPECTED_CLOCKS and assert on meaningful ones for H7 2023-03-29 20:49:40 +11:00
Andy Piper 667b386356 AP_HAL_ChibiOS: port to ChibiOS 21.11.x
convert RCOutput to new virtual timer interface
cope with SDC vs SDMMC
use new SPIv3 driver. Correct clocks for SDMMCv2.
add STM32L431 support
port ChibiOS config to version 8
support SPIv3 driver model v2 on H7
use currcore in debug options
use new mmc API
disable speed optimizations in the bootloader to save a little flash
upgrade to halconf v8.4
relax constraints on QSP/flash clock.
add support for disabling QSPI reset in main firmware
2023-03-29 20:49:40 +11:00
Andrew Tridgell 4141dd5bbe HAL_ChibiOS: support starting the clock at non-zero
for testing time wrap bugs
2023-03-24 08:31:25 +11:00
Peter Barker 21836d792a AP_HAL_ChibiOS: remove calls to save_fault_watchdog if on bootloader 2023-03-01 12:01:03 +11:00
Peter Barker d72d02ca47 AP_HAL_ChibiOS: remove convenience debug code based on new define
bootloaders (at least the ones that need to fit into 16kB pages) don't really have the space for this sort of debug.

I figure if you're debugging a bootloader fault you probably have the know-how to get his information yourself based on the code now being excluded, or add it back in.
2023-02-26 17:20:23 +11:00
bugobliterator 0c78f8bac2 AP_HAL_ChibiOS: add support for booting into DFU 2022-08-30 10:51:06 +10:00
Peter Barker 4ca0f35943 AP_HAL_ChibiOS: do not gate AP_CRASHDUMP_ENABLED on bootloader
Also rename from HAL_CRASHDUMP_ENABLE

Removes code based on define rather than creating empty functions.  Makes it clearer what's going on in the callers.
2022-08-17 17:34:00 +10:00
Andy Piper 48c21299f8 AP_HAL_ChibiOS: hwdef for SPRacingH7
hwdef for DevEBoxH7v2
pin definitions for STM32H750
add QSPI to DevEBox bootloader
add external flash to DevEBox
rename EXTERNAL_PROG_FLASH_MB to EXT_FLASH_SIZE_MB
Add support for EXT_FLASH_RESERVE_START_KB and EXT_FLASH_RESERVE_END_KB
Disable HAL_ENABLE_SAVE_PERSISTENT_PARAMS when there is no bootloader flash available
relax storage health status with SD card backend
don't check SD card health unless USE_POSIX
binary sections rearranged on external ram
manage RAMFUNC through ldscript and optimize function placement in external flash
inline timer functions
optimize placement of ChibiOS and functions in ITCM and AXI RAM
fix chibios features on bootloader build with external flash
change H750 memory layout
increase line storage for SD card based parameters
comment external flash linker script
move vtables into DTCM
update ram map for H757
enable crashdump support with external flash
correct bootloader pins and generator on SPRacingH7/DevEBoxH7v2
setup external flash reserve regions
allow different RAM_MAP for external flash on H750 and H757
2022-02-09 12:47:55 +00:00
bugobliterator 57e1fb1a81 HAL_ChibiOS: disable building CrashCatcher for non 2M boards 2021-10-30 19:24:57 +11:00
bugobliterator 7d199f3e51 HAL_ChibiOS: record info into watchdog as well 2021-10-30 19:24:57 +11:00
bugobliterator bd08d2d257 HAL_ChibiOS: move crashcatcher methods out from system.cpp into hwdef common 2021-10-30 19:24:57 +11:00
bugobliterator 7c96f295b3 HAL_ChibiOS: use CrashCatcher's hardfault method to log and dump crashes 2021-10-30 19:24:57 +11:00
Andrew Tridgell f1ea4f5d01 HAL_ChibiOS: use a 16 bit sysinterval_t on 16 bit timers
prevent mixed size subtraction errors
2021-10-17 20:29:42 +11:00
Andrew Tridgell 5714ee113f HAL_ChibiOS: added micros16() method 2021-10-02 18:26:39 +10:00
Andrew Tridgell 2aef3364bc HAL_ChibiOS: optimisation for AP_HAL::micros() on systems with 32 bit timers
most ChibiOS boards have a 32 bit timer. This optimisation reduces the
cost of micros() from 0.3us to 0.06us, which is significant in
interrupt handlers and for accurate timing. It takes advantage of the
timer being 32 bit with 1MHz clock
2021-10-02 18:26:39 +10:00
Peter Barker dbf5357592 AP_HAL_ChibiOS: base use of InternalError on build type not HAL_LOGGING_ENABLED
Really not sure why we were using HAL_LOGGING_ENABLED here
2021-05-19 17:38:47 +10:00
Peter Barker 7d8c5757d6 AP_HAL_ChibiOS: move from HAL_NO_LOGGING to HAL_LOGGING_ENABLED 2021-05-19 17:38:47 +10:00
Andy Piper e1d71486e4 AP_HAL_ChibiOS: build fixes for ChibiOS 20.3.x 2021-03-23 12:01:20 +11:00
Andrew Tridgell c23f61b79a HAL_ChibiOS: set internal error on panic 2021-02-24 18:18:37 +11:00
Andy Piper d41c92d317 AP_HAL_ChibiOS: don't overwrite fault handler data, register forced faults 2021-01-27 19:13:18 +11:00
Peter Barker ca6c133042 AP_HAL_ChibiOS: do not reuse va_list after it has been ended 2021-01-05 10:04:25 +11:00
Siddharth Purohit 36ffcdae30 HAL_ChibiOS: modify hal can drivers for use by AP_Periph 2020-09-24 12:32:19 +10:00
Andrew Tridgell 90cd2a38b6 HAL_ChibiOS: fixed gcc9 warnings 2020-09-22 08:07:23 +10:00
Siddharth Purohit 265e9b8cc6 HAL_ChibiOS: add native time info methods 2020-08-19 17:31:09 +10:00
Andrew Tridgell 61d036acf3 HAL_ChibiOS: added build time check for right system clock
this helps prevent cases where we underclock a chip due to mistake in
headers or hwdef.dat
2020-05-10 15:09:28 +10:00
Andrew Tridgell 18e88e0ea3 HAL_ChibiOS: implement stack overflow hook
this needs C bindings to allow call from low level RTOS thread
switching code
2020-04-29 07:36:55 +10:00
Peter Barker a59c3670c8 AP_HAL_ChibiOS: stash lr_thd in watchdog hardfault handler 2020-03-19 16:03:58 +11:00
Andrew Tridgell 58e915155d HAL_ChibiOS: fixed panic to output error every 500ms 2020-01-02 09:52:57 +11:00
Andrew Tridgell d4d44990e1 HAL_ChibiOS: added assert for systime_t size 2019-12-09 12:43:39 +11:00
Andrew Tridgell 0c4a4ccb74 HAL_ChibiOS: optionally print information on a HardFault 2019-11-27 14:12:04 +11:00
Mirko Denecke b84dcd483d AP_HAL_ChibiOS: remove unnecessary tabs and whitespaces 2019-10-21 08:01:56 +11:00
Andrew Tridgell fa76d1fbe6 HAL_ChibiOS: disable watchdog save in bootloader 2019-08-27 10:29:56 +10:00
Andrew Tridgell 12dd33ac2b HAL_ChibiOS: added logging of hardware fault information in watchdog
this may help trackdown software bugs that trigger hard faults
2019-07-19 16:02:41 +10:00
Peter Barker 8cfedd8b46 AP_HAL_ChibiOS: implement 'uint16_t millis16' 2019-02-19 11:17:04 +11:00
Andrew Tridgell 385f735799 HAL_ChibiOS: avoid 64 bit maths in AP_HAL::micros()
this saves a few cycles
2018-08-08 21:24:49 +10:00
Andrew Tridgell 4886ffbf8a HAL_ChibiOS: fixed build warnings 2018-02-07 20:33:45 +11:00
Andrew Tridgell 8b6bab7b17 HAL_Chibios: added ChibiOS HAL
this is based on initial work by Sid, reset here for easier merging
2018-01-15 11:46:02 +11:00