Hello,
i'm developing a firmware in M4 that read data from a ADC through SPI and after a simple elaboration pass the data to A7 core via RPMSG.
Now to speed up the acquisition I would like to use SDMA to automatically pass data from the ADC to my memory.
I read in the i.MX 7 Dual Applications Processor Reference Manual that in Appendix A describes how to setup and program the SDMA, but not this document.
Can anyone help me?
Thanks
Lorenzo
Hi Lorenzo,
from you question it's not clear for me whether you want to continue using the M4 core.
It sounds like you want the SDMA to autonomously perform SPI transfers to trigger the external ADC and to get the data. Is this correct?
Typically the SDMA is used after a transfer has initially been setup by the Linux driver. In this case, the SDMA transfer is triggered from the Linux side (either originated by user space or by a kernel event like timer or interrupt).
When using an ADC via SPI, what should initiate a measurement?
- The ADC (triggers itself at a fixed sample rate)
- A kernel timer
- A userspace event (like writing to a file)
regards
Christian
Hi,
I see that script but is not help so much.
I don't write the question correctly, I can't find the Appendix A thaty is mentioned in Reference Manual, there is only the revision history.
Hi @lore13 ,
I'm afraid that I´m not grasping your question correctly. Could you please indicate where this is stated?
I read in the i.MX 7 Dual Applications Processor Reference Manual that in Appendix A describes how to setup and program the SDMA
I would gladly review this with our documentation team.
Best regards,
Ruben
Hi @lore13,
From Reference Manual, I believe you could take a look into the SDMA example scripts: 7.2.7.2 Typical Data Transfer Supported by SDMA DMA Units:
I hope this helps!
Ruben