aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/ports/STM32/LLD/CRCv1/hal_crc_lld.h
diff options
context:
space:
mode:
authorUnknown <dominik.lechner@hale.at>2018-07-12 13:58:45 +0200
committerDominik Lechner <dominik.lechner@hale.at>2018-07-12 15:01:44 +0200
commit6ac9e40dfa171c6093555f3f96c0116229c371ca (patch)
tree1080f2ac3890c40d74e11edba674d8e8d623ed56 /os/hal/ports/STM32/LLD/CRCv1/hal_crc_lld.h
parentd86a300df4d3bcfb6e71fd480f9b4fa4663ad449 (diff)
downloadChibiOS-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.h6
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;