Andrew Tridgell
6ea2c28a4d
HAL_ChibiOS: fixed DMA on SPI on H743
...
this fixes DMA failures affecting IMUs on H743. The reason for the
failure is not yet clear, but this reverts back to our old stragegy of
always using the bouncebuffer on H7 as a quick workaround
2024-01-07 19:10:25 +11:00
Andrew Tridgell
c54aa0241a
HAL_ChibiOS: added mem_is_dma_safe() function
...
used for bouncebuffer code and in FATFS code
2024-01-05 06:52:11 -08:00
Andrew Tridgell
cc8c671cb7
HAL_ChibiOS: don't link evtimer in chibios_board.mk
2024-01-03 12:14:47 +11:00
Andrew Tridgell
418897c443
HAL_ChibiOS: removed old lwip options
2024-01-03 12:14:47 +11:00
Andrew Tridgell
9456b585fa
HAL_ChibiOS: don't link lwip bindings from ChibiOS
2024-01-03 12:14:47 +11:00
Andrew Tridgell
d2d2067f1c
HAL_ChibiOS: fixed micros and millis on boards without 1MHz clock
2023-12-24 10:10:14 +11:00
Andrew Tridgell
4a59097b5e
HAL_ChibiOS: use C implemention of div1000
2023-12-21 09:09:11 +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
a4fb05de95
HAL_ChibiOS: increase LWIP windows
...
now getting 6.8MByte/s with NET_TESTS=4
2023-12-11 18:00:38 +11:00
Andrew Tridgell
28885dca4c
HAL_ChibiOS: adjust buffer sizes
...
this fixes issues with TCP accepts being lost in web server
2023-12-11 18:00:38 +11:00
Andrew Tridgell
f603f045b5
HAL_ChibiOS: make lwip debugging easier
...
use ap_networking_printf wrapper
2023-12-11 18:00:38 +11:00
Andrew Tridgell
436c60c7de
HAL_ChibiOS: defaults to 50 socket limit
...
makes for more useful web server
2023-12-11 18:00:38 +11:00
Andrew Tridgell
f471732aad
HAL_ChibiOS: enable SO_REUSEADDR
2023-11-28 12:18:55 +11:00
Andrew Tridgell
0659ab8ef4
HAL_ChibiOS: increase max TCP resources
2023-11-28 12:18:55 +11:00
thu5cob
49d7d0b1c4
HAL_ChibiOS: Fix stm32l4+ flash issue
...
stm32l4+ flash reset register has been reset properly
2023-10-06 14:52:34 +11:00
Andrew Tridgell
999919424b
hwdef: allow for MCO pin to be configured
...
this allows for hwdef.dat lines like this:
PA8 MCO1 RCC
PC9 MCO2 RCC
you can control the scaling by defining the following:
- STM32_MCO1SEL
- STM32_MCO1PRE_VALUE
- STM32_MCO2SEL
- STM32_MCO2PRE_VALUE
2023-08-25 07:37:12 +10:00
Andy Piper
52dbac1de7
AP_HAL_ChibiOS: run STM32F103 core clock at 72Mhz on 24Mhz oscillators
2023-08-15 06:53:48 +10:00
Andy Piper
c057cc5485
AP_HAL_ChibiOS: add get_output_mode() and use it to print correct banner for iomcu
...
add support for undef of STM32 lines and DMA_NOMAP
add support for F103 running at 24Mhz
add f103 variants of iofirmware
reduce memory usage in iomcu for new model
correct pwm output reporting
split iofirmware into config + mcu to allow f103 definition
don't enable non-existant timers on F103
2023-08-15 06:53:48 +10:00
Andy Piper
f233a65580
AP_HAL_ChibiOS: add global interrupt handlers for TIM15 and TIM17 on F1
2023-08-15 06:53:48 +10:00
Tom Pittenger
d59c3d7de0
AP_HAL_ChibiOS: remove common_eth.ld
2023-08-06 09:20:08 +10:00
bugobliterator
cf6fd6717b
AP_HAL_ChibiOS: fix alignment for Ethernet safe memory
2023-08-06 09:20:08 +10:00
Tom Pittenger
9698291920
AP_HAL_ChibiOS: fix unused var compile error
2023-08-06 09:20:08 +10:00
bugobliterator
e6b51df7cd
AP_HAL_ChibiOS: dynamically allocate memory for MAC Peripheral
2023-08-06 09:20:08 +10:00
Tom Pittenger
f66327d97d
AP_HAL_ChibiOS: Ethernet related memory allocations
2023-08-06 09:20:08 +10:00
Tom Pittenger
3b79ff0ad3
AP_HAL_ChibiOS: add hooks to compile Networking
2023-08-06 09:20:08 +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
0accc9f897
HAL_ChibiOS: clear EOP bit at end of F4 programming
2023-07-10 06:52:44 +10:00
Andrew Tridgell
0aab2f7974
HAL_ChibiOS: implement newlib alloc functions as malloc wrappers
...
this fixes issue #24106
2023-07-05 07:13:39 +10:00
Andrew Tridgell
54e2e33ee1
HAL_ChibiOS: allow hwdef to specify a NRST_MODE override
...
this allows the boot behaviour of a board to be changes to avoid a
reset issue
2023-06-27 10:32:43 +10:00
Andrew Tridgell
ddb991d9b5
HAL_ChibiOS: fixed 24mhz crystal on H7 with 480MHz clock
...
need to adjust the PLLQ as well as the PLLN
2023-06-20 18:56:13 +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
Martin Luessi
b336526765
AP_HAL_ChibiOS: Move scheduler task table to RAM for H750
2023-06-06 19:19:10 +10:00
Martin Luessi
82280b6a8d
AP_HAL_ChibiOS: Rename STM32_FORCE_CLOCK_INIT to HAL_FORCE_CLOCK_INIT
2023-06-06 19:19:10 +10:00
Martin Luessi
350dfc235e
AP_HAL_ChibiOS: Add libgcc comment to H750 linker script
2023-06-06 19:19:10 +10:00
Martin Luessi
f55261c852
AP_HAL_ChibiOS: Use DTCM for vector table for external flash targets
2023-06-06 19:19:10 +10:00
Martin Luessi
ab03c49ea8
AP_HAL_ChibiOS: Move more time critical code to RAM for H750
2023-06-06 19:19:10 +10:00
Martin Luessi
0c93800ec1
AP_HAL_ChibiOS: Copy vector table to RAM if external flash is primary
2023-06-06 19:19:10 +10:00
Martin Luessi
84ccd046c6
AP_HAL_ChibiOS: Change linker script so vector table can be copied to RAM for external flash targets
2023-06-06 19:19:10 +10:00
Martin Luessi
f5e6b055b6
AP_HAL_ChibiOS: Allow custom STM32_QSPISEL for H7
2023-06-06 19:19:10 +10:00
Martin Luessi
01f030da7c
AP_HAL_ChibiOS: Option to force clock init
2023-06-06 19:19:10 +10:00
Andrew Tridgell
6f469c48e7
HAL_ChibiOS: support f_mkfs on all boards
2023-06-06 15:19:00 +10:00
Andrew Tridgell
146cc3312c
HAL_ChibiOS: implement ff_memalloc, fixing mkdir() after format
...
this implements FATFS memory allocation in the HAL_ChibiOS malloc.c
which fixes mkdir() after a format of the microSD
The strategy is to deny large allocations and try for DMA allocations
if possible. This both fixes mkdir() and makes filesystem operations
faster as we have less copying of memory via the bouncebuffer
2023-06-03 17:07:04 +10:00
Andrew Tridgell
4946ce5431
HAL_ChibiOS: revert recent USB changes
...
these are causing some boards to crash on startup. Tested with a
QiotekZealotH743 which doesn't get out of setup_usb_strings()
once we have debugged this we can re-add the functionality
2023-06-03 16:50:30 +10:00
bugobliterator
f7d3969116
AP_HAL_ChibiOS: enable write protection on USB msd
...
also fixes support for MSD on FS
2023-05-31 18:40:17 +10:00
bugobliterator
a9ef3b031e
AP_HAL_ChibiOS: add support for setting baudrate for ACM port in USB MSD
2023-05-31 18:40:17 +10:00
bugobliterator
c6631bce57
AP_HAL_ChibiOS: add block filesystem access support when using MSD USB
2023-05-31 18:40:17 +10:00
bugobliterator
6d6c791fdf
AP_HAL_ChibiOS: add support for mass storage device
2023-05-31 18:40:17 +10:00
bugobliterator
cc302d8b8c
AP_HAL_ChibiOS: add support for OTG HS
2023-05-31 18:40:17 +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
Andrew Tridgell
7e84028a91
HAL_ChibiOS: fixed sdcard lockup with SPI sdcard
...
this affects boards that share sdcard on the same bus as another SPI
device. In this case it was a QiotekZealotH743 where logging stopped
this issue is that the SPI hooks for MMC SPI did not do a DMA channel
lock before the SPI device lock. So when the RAMTRON driver on the
QiotekZealotH743 which is on the same SPI2 bus as the sdcard did an
operation we had a lock order violation
2023-05-13 18:18:14 +10:00