cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H743 MDMA Linked List error

robertnoble9
Associate III
Posted on April 15, 2018 at 21:57

Hi all,

EDIT:

Board: STM32H743ZI Nucleo

IDE: Attolic TrueSTUDIO for STM32 9.0.0

HAL version: STM32Cube_FW_H7_V1.2.0

I'm working with an STM32H743 Nucleo board and I'm trying to get a circular MDMA transfer going.  I have managed to set up the MDMA channel with everything but once the first MDMA transfer request is triggered, I get a Link data transfer error.

EDIT:

Just to clarify, the aim is to produce an MDMA channel that's does not disable itself and will continue until disabled manually by software.  The solution I have found is using a linked list with the address linked to itself.  Is this the correct way to do what I want?

I have created the linked list by creating a structure that copies the MDMA registers once they have been intialised and set the CLAR register to the address of the structure.  The CLAR stored within the linked list structure has the address of itself.  the hope is this will produce a circular MDMA transfer.  That is what the reference manual implies.

Has anyone had any experience with linked lists on the STM32H7?

EDIT:

Is it possible to have a linked list with one node that is linked to itself?

My linked list structures are stored in the 0x2000000 portion of memory.  Is this correct?

Registers and linked list structure shown below.

If more info is required then I can add what is needed.

Any help would be great.

Thanks in advance

Rob

0690X0000060AbBQAU.png
1 REPLY 1
robertnoble9
Associate III
Posted on April 16, 2018 at 19:19

Hi,

Following some further investigation I think I have found that the linked list address must lie at 0x24000000.  Having done this I'm now a step further all be it not there yet.  Now I get a block size error and the data that is loaded from the linked list looks to be rubbish.  See image below for register info.

Has anyone seen anything like this before?

0690X0000060AbkQAE.png