SDMA script to read UART Rx Buffer

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

SDMA script to read UART Rx Buffer

跳至解决方案
1,560 次查看
qommes
Contributor I

Hi,

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?

标签 (2)
0 项奖励
回复
1 解答
1,056 次查看
qommes
Contributor I

Ok, I solved it by my own.

The Central Security Unit does not cause this error. The Problem ist that the AHP 2 IP Bridge also controlls the acces to peripherals.

To solve this, set the Master Privilege Level of the SDMA to 0x77 and the Off-Platform Peripheral Access Control Register to 0x00.

Now my script works...

在原帖中查看解决方案

0 项奖励
回复
2 回复数
1,056 次查看
dauphinalexandr
Contributor II

Hi ,

I'm curently looking for writing and loading my own SDMA Scripts. 

How did you manage to compile your scripts  ?

And to load the script code into the SDMA RAM ,  you wrote your own bootload script or you used SDK functions ?

thanks in advance,

Alexandre,

0 项奖励
回复
1,057 次查看
qommes
Contributor I

Ok, I solved it by my own.

The Central Security Unit does not cause this error. The Problem ist that the AHP 2 IP Bridge also controlls the acces to peripherals.

To solve this, set the Master Privilege Level of the SDMA to 0x77 and the Off-Platform Peripheral Access Control Register to 0x00.

Now my script works...

0 项奖励
回复