AnsweredAssumed Answered

SDMA script to read UART Rx Buffer

Question asked by Tobias Birmele on Aug 12, 2013
Latest reply on Apr 14, 2015 by DAUPHIN Alexandre



for my master thesis I work with the MX6 Quad SABRE AI CPU Card, and I try to program the ARM Cores bare metal using the Freescale SDK.

Now I would like to program the SDMA Core by my own, writing and loading own SDMA Scripts.


The bootload script works fine and I can load my script code into the SDMA RAM. There, it can be triggered internally (from the ARM Core) and externally (from UART4).

The problem is now, that reading the data from the UART 4 FIFO via the peripheral DMA doesn't work. After I configure the UART 4 via the ARM Core, the SDMA should wait for the external trigger (RX FIFO Watermark level = 1Byte). Than the following script is executed:


stf   r7, 0xC3     # write r7 (UART4 RX FIFO Adress = 0x021F0000) to PSA, frozen 32 bit

ldf   r6, 0xC8     # read PD to r6

done 4              # end of script


After execution the source fault flag (SF) is set and register 6 shows the error code 0x0820. I've had a look at Chapter Central Security Unit in the reference manual and I saw that the SDMA maby has no access rights.

- Why does this happen and what does the error code mean? -> Where do i get more detailed informations?

- Could it be that the CSU blocks the SDMA -> Where do I get the information how to configure the CSU?


Can anybody help me with that problem?