ardupilot/libraries/AP_HAL_ChibiOS/hwdef/common
Andrew Tridgell 5e76e7aa7b HAL_ChibiOS: disable interrupts during flash operations
we have now shown that interrupts being enabled during flash
operations can cause the infamous "68ms" bug, or watchdog when using a
32 bit timer on boards using flash for storage

The issue is quite repeatable with a load of a very large waypoint
file (over 500 waypoints) using "wp ftpload" in MAVProxy. This puts a
huge load on flash storage.

Our current working theory is that while doing flash writes for
storage on dual-bank we block access to only one bank, so if another
thread uses a timeout function with a short timeout while the flash
write is happening and chVTDoTickI calls code which crosses the flash
bank boundary then it can cause chVTDoTickI to violate the assumption
that no more than CH_CFG_ST_DELTA ticks pass while it is calculating
the value to set in the system timer. In that case we get a delay of a
full timer wrap, which is 68ms on boards with 16 bit timer and 70
minutes on boards with 32 bit timer
2022-04-09 17:12:27 +09:00
..
board.c AP_HAL_ChibiOS: hwdef for SPRacingH7 2022-02-09 12:47:55 +00:00
board.h
bouncebuffer.c AP_HAL_ChibiOS: add echo safe debug flag bouncebuffer 2021-06-30 19:33:17 +10:00
bouncebuffer.h AP_HAL_ChibiOS: add QSPI Device Driver in HAL 2021-06-30 19:33:17 +10:00
chconf.h HAL_ChibiOS: use a 16 bit sysinterval_t on 16 bit timers 2021-10-17 20:29:42 +11:00
chibios_board.mk HAL_ChibiOS: disable building CrashCatcher for non 2M boards 2021-10-30 19:24:57 +11:00
chibios_common.mk HAL_ChibiOS: disable building CrashCatcher for non 2M boards 2021-10-30 19:24:57 +11:00
common_extf.ld AP_HAL_ChibiOS: allow flash to be write-protected/unprotected on reboot 2022-02-24 10:19:07 +11:00
common.ld HAL_ChibiOS: setup for recording crashdump at the remaining flash space 2021-12-01 18:17:50 +11:00
crashdump.c AP_HAL_ChibiOS: log heap and bss memory regions if enough space 2021-12-01 18:17:50 +11:00
cstdio
ffconf.h HAL_ChibiOS: include fatfs format code 2021-12-28 16:04:57 +11:00
flash.c HAL_ChibiOS: disable interrupts during flash operations 2022-04-09 17:12:27 +09:00
flash.h AP_HAL_ChibiOS: allow flash to be write-protected/unprotected on reboot 2022-02-24 10:19:07 +11:00
halconf.h HAL_ChibiOS: use more USB buffers on higher end F7 chips 2021-08-31 10:12:00 +10:00
hrt.c AP_HAL_ChibiOS: error if system clock not 1mhz on 16 CH_CFG_ST_RESOLUTION. prevent variable overflow 2020-04-26 19:58:54 +10:00
hrt.h HAL_ChibiOS: avoid 64 bit maths in AP_HAL::micros() 2018-08-08 21:24:49 +10:00
malloc.c AP_HAL_ChibiOS: hwdef for SPRacingH7 2022-02-09 12:47:55 +00:00
mcuconf.h HAL_ChibiOS: cleanup SDMMC enable defines 2021-12-28 16:04:57 +11:00
ppm.h
spi_hook.h
stdio.h HAL_ChibiOS: added memory guard system 2020-11-18 17:14:43 +11:00
stm32_util.c HAL_ChibiOS: support more enable pins for late enable 2021-11-10 08:47:21 +11:00
stm32_util.h AP_HAL_ChibiOS: allow flash to be write-protected/unprotected on reboot 2022-02-24 10:19:07 +11:00
stm32f1_mcuconf.h HAL_ChibiOS: fixed for ZubaxGNSS build 2019-10-21 19:12:01 +11:00
stm32f3_mcuconf.h HAL_ChibiOS: support no-crystal F3 setups 2020-07-10 13:33:51 +10:00
stm32f47_mcuconf.h HAL_ChibiOS: support SDIO 48MHz clock on F412 2022-02-02 07:42:23 +11:00
stm32g4_mcuconf.h HAL_ChibiOS: added G491 support 2021-07-30 10:20:52 +10:00
stm32h7_mcuconf.h AP_HAL_ChibiOS: clock H750 at 480Mhz when using 8Mhz, 16Mhz and 24Mhz crystals 2022-02-23 18:19:56 +11:00
stm32l4_mcuconf.h HAL_ChibiOS: cleanup SDMMC enable defines 2021-12-28 16:04:57 +11:00
stubs.c HAL_ChibiOS: simplify stubs code 2019-08-27 15:40:43 +10:00
usbcfg_common.c HAL_ChibiOS: add support for dual usd cdc 2019-07-12 17:01:21 +10:00
usbcfg_dualcdc.c HAL_ChibiOS: add missing return to Dual CDC get_usb_baud() 2021-10-12 10:54:44 +11:00
usbcfg.c HAL_ChibiOS: fixed warning for USB 2021-10-06 06:44:36 +11:00
usbcfg.h AP_HAL_ChibiOS: add support for usb passthrough with baud changes 2021-07-21 17:06:41 +10:00
watchdog.c HAL_ChibiOS: added stm32_was_software_reset() 2022-02-17 14:37:41 +11:00
watchdog.h HAL_ChibiOS: added stm32_was_software_reset() 2022-02-17 14:37:41 +11:00