2019-11-25 11:13 AM
Hi,
I'm getting a DMA transfer error on an STM32F427, but don't know why. I've already ruled out memory areas (ie. CCM) not accessible by DMA. Here are my registers:
As you can see, S0M0AR is located in SRAM, S0PAR is a GPIO BSRR register. The transfer is triggered periodically by a timer, which seems to work because after the timer fires, I get TEIF0 and TCIF0 set in LISR, indicating a transfer error, but I don't know why. Datasheet doesn't help either.
I'm trying to implement this: https://www.pjrc.com/teensy/td_libs_OctoWS2811.html (scroll all the way down to "OctoWS2811 Technical Details".
Any idea what's happening?
Thanks,
--
Szabi
Solved! Go to Solution.
2019-11-25 11:20 AM
> S0PAR is a GPIO BSRR register
If this is DMA1 that explains the error - DMA1 can't access anything but APB1 peripherals on its peripheral port.
You'll need to use DMA2, thus TIM1 or TIM8.
JW
PS. Please change your username to a normal nick.
2019-11-25 11:20 AM
> S0PAR is a GPIO BSRR register
If this is DMA1 that explains the error - DMA1 can't access anything but APB1 peripherals on its peripheral port.
You'll need to use DMA2, thus TIM1 or TIM8.
JW
PS. Please change your username to a normal nick.
2019-11-25 01:34 PM
Nice catch @Community member! Thanks, it works now. Updated my nickname.