SDMA script to read UART Rx Buffer

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

SDMA script to read UART Rx Buffer

ソリューションへジャンプ
1,576件の閲覧回数
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,072件の閲覧回数
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,072件の閲覧回数
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,073件の閲覧回数
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 件の賞賛
返信