Problem about MCAL Flexi2c+DMA

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

Problem about MCAL Flexi2c+DMA

ソリューションへジャンプ
1,302件の閲覧回数
zyt
Contributor II

Hello everyone,

I'm using S32K146 adapt with MCAL driver now. For flexI2c module, S32K is act as master with asynchronous method. I tried to add DMA channel to assist communication, and have seen MCL_DMA_CH_0_ISR  and MCL_DMA_CH_1_ISR can be entered, but the I2C status is always I2C_CH_SEND or I2C_CH_RECEIVE but can not be I2C_CH_FINISHED. I'm not sure what is wrong with that.

The EB configuration is like below:

zyt_0-1630660301214.png

zyt_1-1630660326266.pngzyt_2-1630660347987.png

zyt_3-1630660392169.pngzyt_4-1630660418295.pngzyt_5-1630660448681.pngzyt_6-1630660476895.png

 

 

 

The "Mcl Dma Transfer Completion User Notification" I added in EB is I2c_FlexIO0_DmaTransferCompleteNotificationShifter0 and I2c_FlexIO0_DmaTransferCompleteNotificationShifter1, both of the two function can be entered.

So what might be the problem? How can I use FlexI2C master + Asynchronous method + DMA in MCAL driver successfully?

タグ(5)
0 件の賞賛
返信
1 解決策
1,269件の閲覧回数
hungnguyenphi
NXP Employee
NXP Employee

Could you please try to also install and enable the interrupt handler ISR(MCL_FLEXIO_ISR). After that the I2C status will be able to change to I2C_CH_FINISHED

Best regards,

Hung

元の投稿で解決策を見る

0 件の賞賛
返信
1 返信
1,270件の閲覧回数
hungnguyenphi
NXP Employee
NXP Employee

Could you please try to also install and enable the interrupt handler ISR(MCL_FLEXIO_ISR). After that the I2C status will be able to change to I2C_CH_FINISHED

Best regards,

Hung

0 件の賞賛
返信