MPC5775E eDMA channel 0 interrupt somehow disabled

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

MPC5775E eDMA channel 0 interrupt somehow disabled

ソリューションへジャンプ
716件の閲覧回数
0xEC
Contributor IV

hi everyone,

I am using eDMA to fill CFIFO0 for eqADC from system memory to CFPR(Command fifo push register)

I set DMA request of related channel to create DMA request. When I start the eDMA channel it starts to transfer data from system memory to CFIFO, but after one time fill eDMA won't be triggered again. I debug it and saw that eDMA ERQ register's related bit is set to 0 somehow. Do you have any issue like this?

RM says that CFFEx, CFFSx and CFFFx bits must be set to request DMA.

0xEC_0-1672831594631.png

this is my debug output which shows all three bits are set,

0xEC_1-1672831930952.png

eDMA channel 0 enable request disabled after one transfer for CFIFO. Should I enable again manually each time the eDMA channel 0 finishes the transfer?

best,

タグ(3)
0 件の賞賛
返信
1 解決策
704件の閲覧回数
davidtosenovjan
NXP TechSupport
NXP TechSupport

Apparently you have set DREQ bit, this needs to be set to zero.

davidtosenovjan_0-1672993818677.png

 

元の投稿で解決策を見る

0 件の賞賛
返信
3 返答(返信)
700件の閲覧回数
davidtosenovjan
NXP TechSupport
NXP TechSupport

Pay attention to following example code:

https://community.nxp.com/t5/MPC5xxx-Knowledge-Base/Example-MPC5674F-eQADC-eDMA-Single-Scan-CW210/ta...

In the main file you may see how to properly set DMA TCD descriptors.

0 件の賞賛
返信
705件の閲覧回数
davidtosenovjan
NXP TechSupport
NXP TechSupport

Apparently you have set DREQ bit, this needs to be set to zero.

davidtosenovjan_0-1672993818677.png

 

0 件の賞賛
返信
702件の閲覧回数
0xEC
Contributor IV
I tried this one also, from RM I read it, it is set in eDMA TCDx_CSR register. I disable it by EDMA_DRV_DisableRequestsOnTransferComplete(eqadc1_config0.cfifoConfigArray[0].dmaVirtualChan, false);
it behave same.
0 件の賞賛
返信