SDMA use on M4 of i.MX 7Dual

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

SDMA use on M4 of i.MX 7Dual

894 Views
lore13
Contributor I

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

0 Kudos
4 Replies

850 Views
ceggers1
Contributor IV

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

0 Kudos

878 Views
lore13
Contributor I

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.

0 Kudos

870 Views
nxf54947
NXP Employee
NXP Employee

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

0 Kudos

888 Views
nxf54947
NXP Employee
NXP Employee

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:

nxf54947_1-1602183209301.png

 

I hope this helps!
Ruben

0 Kudos