S32K344 EVB Flexio I2c

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

S32K344 EVB Flexio I2c

ソリューションへジャンプ
2,185件の閲覧回数
yqs77
Contributor II

Hi, 

I was trying to use the flexi2c according to the example of I2c_Example_S32K344 on S32K344 EVB board, it is connected to another board which acts as i2c slave. In function I2c_AsyncTransmit(), it was stuck in function Flexio_Mcl_Ip_SetShifterInterrupt() which was very confusing. The driver version is SW32K3_S32M27x_RTD_R21-11_4.0.0_D2311, could you have any advice about this problem? Thanks. 

The EB configuration is shown as follows,

port:

yqs77_0-1723550180049.png

yqs77_1-1723550208965.png

MCL:yqs77_2-1723550279805.png

clock:yqs77_3-1723550327041.png

interrupt:yqs77_4-1723550356430.png

i2c channel:

yqs77_5-1723550449187.png

yqs77_6-1723550486880.png

 

タグ(2)
0 件の賞賛
返信
1 解決策
2,044件の閲覧回数
yqs77
Contributor II

Thanks for your reply, the problem has been fixed, the root cause is that UART interrupt disturbs the FlexIo interrupt, thanks again.

元の投稿で解決策を見る

0 件の賞賛
返信
6 返答(返信)
2,148件の閲覧回数
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @yqs77,

Does the I2C_Example_S32K344 work without modifications? Also, the description.txt file from the example includes this line in the "connections" section:

  • Pull up resistors of 2.2K each, one connected between SDA, SCL and VDD (J39.13).

Could you also share which debugger is being used?

Best regards,
Julián

 

0 件の賞賛
返信
2,130件の閲覧回数
yqs77
Contributor II

Yes, I used the part of I2c master in I2C_Example_S32K344, and other modules like LPUART, SPI are also used together, so the interrupt number is 11 and the priority are the same(0). The debug tool is IAR 9.50.1. 

If the priority of all interrupts are 0, it stuck at the location of baseAddr->SHIFTEIEN |= (uint32)interruptMask, If the priority of FLEXIO_IRQn raised to 1, others are 0, it stuck in function of SchM_Exit_Mcl_MCL_EXCLUSIVE_AREA_42.

Besides, as description.txt file noted,  does it means that the pull up resistors need to be added additionally?

0 件の賞賛
返信
2,125件の閲覧回数
yqs77
Contributor II

Sorry, the stuck location is not correct previously, I used Trace32 to debug, the function relations are shown as follows when stuck happened. 

yqs77_0-1723602159450.png

 

0 件の賞賛
返信
2,078件の閲覧回数
Julián_AragónM
NXP TechSupport
NXP TechSupport

Hi @yqs77,

Could you share a test code in order to reproduce the issue? I am not able to reproduce it with your configuration on the S32K344-Q257 EVB. Also, your configuration sets the priorities of the three interrupts to 0 (highest), please configure it accordingly to the priority needed, or, as in the example:

Julin_AragnM_0-1723761577617.png

Best regards,
Julián

0 件の賞賛
返信
2,045件の閲覧回数
yqs77
Contributor II

Thanks for your reply, the problem has been fixed, the root cause is that UART interrupt disturbs the FlexIo interrupt, thanks again.

0 件の賞賛
返信
975件の閲覧回数
Djang_007
Contributor II

你好,我在S32K312上使用flexio_i2c时也出现了同样的问题,但是我设置下图所示的中断优先级后还是存在这个问题,如果不是这样解决问题的话可以麻烦你分享一下方法吗?

Djang_007_0-1744335459461.png

 

0 件の賞賛
返信