However, correct data is not output through Lpspi_Ip_AsyncTransmit.
Values 0x01, 0x02 ~ 0x20 are being transmitted as test values, but it appears that only the first 3 bytes are transmitted as correct values, and the rest are transmitted as garbage values.
If there is anything you can help me with, please do so.
Solved! Go to Solution.
I’m sorry for delayed response, we are heavily overloaded now.
Cache_Ip_InvalidateByAddr is for when DMA is used. If you don’t use DMA, then there is no need to call it.
If RTD 3.0.0 and DMA is used, then DMAMUX must be configured in Rm regardless of whether MCAL is used. (Rm->RmConfigSet->Dma Mux)
Would you please send me a simplified test project privately?
All Example S32K312 DS3.5 RTD-3.0.0 里面就有SPI的例子
单独再安装一个C:\NXP\S32DS.3.5_RTD300 然后安装RTD3.0.0。
S32K3 RTD 3.0.0开始每个S23DS v3.5里同时只能存在一个版本的S32K3 RTD。 所以不得不再安装一个S32DS v3.5. 请参考 HOWTO: offline install S32K3 RTD 3.0.0 in S32DS v3.5
另外建议在论坛里新建提问帖子。
Hi
Please refer to the Example S32K312 SPI Transmit & Receive Using DMA DS3.5 RTD300
Lpspi_Ip_AsyncTransmit is used in this project.
Best Regards,
Robin
-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!
- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------
Thank you for the source code. I am referring to it.
Since our project doesn't use MCAL, we don't use Rm.
Is it necessary to use the Cache_Ip_InvalidateByAddr function?
Currently, I am transmitting using the Lpspi_Ip_AsyncTransmit function, but when I read it with Lpspi_Ip_GetStatus, LPSPI_IP_FIFO_ERROR occurs. Do you know how to resolve LPSPI_IP_FIFO_ERROR?
I’m sorry for delayed response, we are heavily overloaded now.
Cache_Ip_InvalidateByAddr is for when DMA is used. If you don’t use DMA, then there is no need to call it.
If RTD 3.0.0 and DMA is used, then DMAMUX must be configured in Rm regardless of whether MCAL is used. (Rm->RmConfigSet->Dma Mux)
Would you please send me a simplified test project privately?
Yes, I solved the problem by using RM.
In order to use DMA in SPI, dmamux must be used, but my project did not use mcal. Since there is no way to add dmamux in projects that do not use mcal in SDK components, I had no choice but to add mcal. I confirmed that it works well by registering dmamux in rm.