ECSPI transfer gets stuck after 3 bytes

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

ECSPI transfer gets stuck after 3 bytes

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

Hello.

We are using the ECSPI2 in the i.mx8 m mini from the M4 core.

ECSPI2 is disabled in the device tree so that the M4 has full control.

The SPI is configured to transfer 5 bytes with the ECSPI_MasterTransferNonBlocking and then generate the RXFIFO Data Request Interrupt.

This works fine for some time but at some point the SPI Transfer hangs after sending 3 byte.

What could cause ECSPI to only transfer 3 byte?  

Cheers Marcel

ラベル(1)
0 件の賞賛
返信
1 解決策
1,592件の閲覧回数
MBaer
Contributor II

I added the NvicInit() and now it works on both spis.

元の投稿で解決策を見る

0 件の賞賛
返信
3 返答(返信)
1,614件の閲覧回数
jimmychan
NXP TechSupport
NXP TechSupport

Which SDK are you using? Which board are you using?

Have you try other examples in the SDK and still have the issue?

0 件の賞賛
返信
1,602件の閲覧回数
MBaer
Contributor II

Hi Jimmy

We are using SDK 2.11.0 with a custom board using the i.MX8M Mini.

I could fix the original issue by using the CMSIS implementation of the ECSPI.

But there i face an other issue, that i cannot use ecspi2 and ecspi3 simultaneously. 

I used the cmsis_ecspi_int_loopback_transfer as starting point and implemented ecspi 3 accordingly. I can use the ecspi3 alone but not both together.

Either the ECSPI2_DriverIRQHandler or the ECSPI3_DriverIRQHandler is not triggered.

0 件の賞賛
返信
1,593件の閲覧回数
MBaer
Contributor II

I added the NvicInit() and now it works on both spis.

0 件の賞賛
返信