diff options
author | Unknown <dominik.lechner@hale.at> | 2018-07-12 13:58:45 +0200 |
---|---|---|
committer | Dominik Lechner <dominik.lechner@hale.at> | 2018-07-12 15:01:44 +0200 |
commit | 6ac9e40dfa171c6093555f3f96c0116229c371ca (patch) | |
tree | 1080f2ac3890c40d74e11edba674d8e8d623ed56 /os/hal/ports/STM32/LLD/CRCv1/hal_crc_lld.h | |
parent | d86a300df4d3bcfb6e71fd480f9b4fa4663ad449 (diff) | |
download | ChibiOS-Contrib-6ac9e40dfa171c6093555f3f96c0116229c371ca.tar.gz ChibiOS-Contrib-6ac9e40dfa171c6093555f3f96c0116229c371ca.tar.bz2 ChibiOS-Contrib-6ac9e40dfa171c6093555f3f96c0116229c371ca.zip |
Fix STM32 LLD CRCv1 large data bug in DMA mode
* STM32 DMA can only handle 65535 bytes per transfer so larger data sets
have to split up to be correctly handled when using DMA
Diffstat (limited to 'os/hal/ports/STM32/LLD/CRCv1/hal_crc_lld.h')
-rw-r--r-- | os/hal/ports/STM32/LLD/CRCv1/hal_crc_lld.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/os/hal/ports/STM32/LLD/CRCv1/hal_crc_lld.h b/os/hal/ports/STM32/LLD/CRCv1/hal_crc_lld.h index 213d346..e879103 100644 --- a/os/hal/ports/STM32/LLD/CRCv1/hal_crc_lld.h +++ b/os/hal/ports/STM32/LLD/CRCv1/hal_crc_lld.h @@ -203,6 +203,12 @@ struct CRCDriver { */ thread_reference_t thread; /** + * @brief Remaining data size. + * @note The DMA can handle only 65535 bytes per transfer because + * it's data count register is only 16 bits wide. + */ + size_t rem_data_size; + /** * @brief CRC DMA stream */ const stm32_dma_stream_t *dma; |