diff options
author | Peter D. Gray <peter@conalgo.com> | 2018-04-13 09:14:44 -0400 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2018-05-02 13:41:23 +1000 |
commit | 266446624fc055e988782577286fe91efbda438e (patch) | |
tree | adcfa4a00dccf5585989297316db3e386fca95e4 /py/makeqstrdata.py | |
parent | 4c0f664b1aaa7b4b3253060799113139f5dfd8cb (diff) |
stm32/dma: Always deinit/reinit DMA channels on L4 MCUs.
The problem is the existing code which tries to optimise the
reinitialisation of the DMA breaks the abstraction of the HAL. For the
STM32L4 the HAL's DMA setup code maintains two private vars (ChannelIndex,
DmaBaseAddress) and updates a hardware register (CCR).
In HAL_DMA_Init(), the CCR is updated to set the direction of the DMA.
This is a problem because, when using the SD Card interface, the same DMA
channel is used in both directions, so the direction bit in the CCR must
follow that.
A quick and effective fix for the L4 is to simply call HAL_DMA_DeInit() and
HAL_DMA_Init() every time.
Diffstat (limited to 'py/makeqstrdata.py')
0 files changed, 0 insertions, 0 deletions