Problem about MCAL Flexi2c+DMA

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Problem about MCAL Flexi2c+DMA

Jump to solution
1,147 Views
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?

0 Kudos
1 Solution
1,114 Views
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

View solution in original post

0 Kudos
1 Reply
1,115 Views
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 Kudos