Siddharth Purohit
abc26d1993
AP_HAL_ChibiOS: add QSPI Device Driver in HAL
2021-06-30 19:33:17 +10:00
Andy Piper
2cdc202d19
AP_HAL_ChibiOS: use non-cachable SRAM3 for DMA on H743
...
Adjust SRAM1+SRAM2 to 256k as describe in the H743 reference manual
Provide access to mem_info() information
Co-authored-by: Andrew Tridgell <andrew@tridgell.net>
2021-02-03 23:35:44 +11:00
Andrew Tridgell
408f8b3940
HAL_ChibiOS: added check for overwrite of nullptr on H7
...
the STM32H7 has 64k of ITCM memory at address zero. We allow
allocation of everything except the first 1024 bytes. This checks for
those reserved bytes being overwritte, which would indicate a write to
nullptr
2020-11-18 17:14:43 +11:00
Andrew Tridgell
95a823a702
HAL_ChibiOS: added link list of all memory allocations
...
check all allocations for corruption on free() and malloc_check()
2020-11-18 17:14:43 +11:00
Andrew Tridgell
ce3e1a69ec
HAL_ChibiOS: added memory guard system
2020-11-18 17:14:43 +11:00
Andrew Tridgell
822460ce7d
HAL_ChibiOS: fixed strdup() on ChibiOS
2020-03-28 15:28:03 +11:00
Andrew Tridgell
2b7bffa906
HAL_ChibiOS: adjust dma reserve allocation
...
use larger target and allow for smaller allocation
2020-01-18 07:13:11 +11:00
Andrew Tridgell
d1565a96c5
HAL_ChibiOS: wrap cacheBuffer functions
...
needed to avoid problem with end() method in UARTDriver shadowing with
F7 implementation of cache macros
2019-08-27 15:40:43 +10:00
Andrew Tridgell
26d1371d25
HAL_ChibiOS: separate out DMA allocation for sdcard IO
...
this fixes an issue with DMA to SPI6 on STM32H7. On the H7 SRAM4 can
be used for DMA and BDMA to all devices except for SDMMC which uses
IDMA.
by separating out DMA of sdcard data from other data we can arrange
for DMA to all devices to work
2019-03-09 07:33:47 +11:00
Andrew Tridgell
64681cb05c
HAL_ChibiOS: allocate threads from any heap
...
this fixes a failure on MatekF405-Wing where it fails to allocate the
SPI thread for the IMU
2019-02-27 11:54:28 +11:00
Andrew Tridgell
70930cca29
HAL_ChibiOS: fixed bootloader build with gcc 4.9
2019-02-26 16:18:26 +11:00
Andrew Tridgell
9966fbea0f
HAL_ChibiOS: fixed bootloader build error
2019-02-26 16:18:26 +11:00
Andrew Tridgell
cda1959629
HAL_ChibiOS: added support for more flexible memory regions
...
this allows for an arbitrary number of memory regions, with each one
flagged as DMA safe, fast or normal
2019-02-26 16:18:26 +11:00
Andrew Tridgell
ff21508ce8
HAL_ChibiOS: ensure 32 byte alignment for DMA on H7
2019-02-26 16:18:26 +11:00
Michael du Breuil
e8373e1fdf
AP_HAL_ChibiOS: add scripting heap
2018-12-31 19:25:23 -07:00
Michael du Breuil
8c464572d8
AP_HAL_ChibiOS: Use a less clever version of realloc
...
The clever version loses access to memory, and is excessively hard coded
2018-11-26 22:32:56 +00:00
Andrew Tridgell
065dba973b
HAL_ChibiOS: fixed build warning on iomcu
2018-11-07 07:35:45 +11:00
Andrew Tridgell
bcc1bd9752
HAL_ChibiOS: added realloc implementation
...
needed for AP_Scripting
2018-10-09 10:08:52 +11:00
Siddharth Purohit
42b4730d88
HAL_ChibiOS: add changes to hwdef to support STM32F1 based controller
2018-09-19 12:14:15 +10:00
Siddharth Purohit
2604b00b43
HAL_ChibiOS: use ch.h header for oslib api
2018-08-03 13:44:59 +10:00
Siddharth Purohit
5f88163e17
HAL_ChibiOS: update configuration and rtlib headers for ChibiOS 18.x.x
2018-08-03 13:44:59 +10:00
Andrew Tridgell
8a26ca1ddf
HAL_ChibiOS: added a DMA reserve heap
...
this ensures we keep some DMA-capable memory aside for when it is
needed
2018-07-20 15:48:21 +10:00
Andrew Tridgell
369ac5edd0
HAL_ChibiOS: save more space in the bootloader
2018-06-25 21:22:31 +10:00
Andrew Tridgell
c12d14d7a4
HAL_ChibiOS: check for ChibiOS features
2018-06-22 08:00:31 +10:00
Andrew Tridgell
c273b23940
HAL_ChibiOS: moved MCU config to python database
...
this moves the key MCU config variables related to memory to the
python MCU database, allowing the hwdef.dat to be considerably simpler
2018-06-06 07:15:41 +10:00
Andrew Tridgell
2493cdbcb6
HAL_ChibiOS: switch to new bouncebuffer system
...
this removes the dma_flush and dma_invalidate methods and uses a
common bouncebuffer system for all CPU types. This enables microSD
support on STM32F7
2018-06-06 07:15:41 +10:00
Andrew Tridgell
eec4a12cc2
HAL_ChibiOS: switched to using DTCM memory for DMA
...
this uses SRAM1 and SRAM2 for main memory, which enables the use of the
data cache for faster operation, and using DTCM for all DMA operations.
2018-06-06 07:15:41 +10:00
Andrew Tridgell
2087354939
HAL_ChibiOS: align buffers to STM32F7 cache lines
...
this allows for DMA flush and invalidate operations to work on all
dynamically allocated memory
2018-06-06 07:15:41 +10:00
Andrew Tridgell
29add8a880
HAL_ChibiOS: fixed build without FATFS enabled
2018-02-07 20:33:45 +11:00
Andrew Tridgell
6e4ef32628
HAL_ChibiOS: moved to generated loader script
2018-01-15 11:46:02 +11:00
Andrew Tridgell
f135e73e04
HAL_ChibiOS: F412 doesn't have CCM ram
2018-01-15 11:46:02 +11:00
bugobliterator
5feef04f5f
HAL_ChibiOS: add support for CCM memory
...
this uses DMA bounce buffers for bus transfers, and falls back to CCM
ram in allocations if the type is unspecified
2018-01-15 11:46:02 +11:00
Andrew Tridgell
86fbdcd060
HAL_ChibiOS: ensure malloc returns zeroed memory
2018-01-15 11:46:02 +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