I am using the SPI SDMA to transfer information. I would like to know if there is a limit on the baud rate when using this. My transfers are failing when I try to do a larger transfer at a high baud rate. Is there a Max baud rate for the spi sdma based transfer? I am seeing this on the Cortex M4 for the IMX8MM and IMX8MQ. Is anyone else seeing this? Below are my results, I am using a loopback functionality to test my results. Any suggestion on what I can do to get a faster rate working with a larger transfer size.
Size Rate Result
64 500k Hz Pass
256 500k Hz Pass
64 10MHz Intermittent Pass/Fail
128 10MHz Fail
256 10M Hz Fail
I am using the SPI SDMA Loopback example and changing the values for the baud rate and transfer size.
When I use a higher baud rate and high packet size I see that I don't get the callback. However, for the same baud rate if I use a lower packet size I get a read callback. Are there any restrictions on the baud rate or packet size when using the SPI SDMA interface. I want to use a 10 Mhz rate and read a 500 byte packet size. At present, I can read 500 bytes at 6 Mz but anything above that is failing.
I apologize for the delay.
If you are still having a problem, can you please confirm if you are using the ecspi example that we had in our SDK for the i.MX8MQ?
Which IDE are you using?
I used IAR and the SDK worked without any problem. The test passes with all the baud rates and using different transfer sizes.
We do recommend to use the SDK with the IDEs that are by default in our SDK builder. The SDK was compiled and tested with IAR Embedded Workbench for Arm version 8.32.2 and Makefiles support with GCC revision 7-2018-q2-update from Arm Embedded.
I suggest you use IAR if it is possible for you.