cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F427 DMA transfer error -- why? (not CCM issue)

Szabi
Associate

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:

0690X00000AsR1iQAF.png

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

1 ACCEPTED SOLUTION

Accepted Solutions

> 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.

View solution in original post

2 REPLIES 2

> 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.

Nice catch @Community member​! Thanks, it works now. Updated my nickname.