eDMA SSIZE not equal to DSIZE

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

eDMA SSIZE not equal to DSIZE

933 Views
sean_dvorscak
Contributor III

I am trying to figure out how the eDMA transfers data when the SSIZE does not equal the DSIZE.

If SSIZE > DSIZE, does the DMA break the read into multiple writes?  Is the data order preserved as well?  So if I had 0xDEADBEEF as my source data, and I have different combinations of DSIZE and SSIZE, will the result be the same if DSIZE = SSIZE.

There are multiple cases that I want to know about whether they will achieve the same result.  SSIZE(0) and DSIZE(2), SSIZE(1) and DSIZE(2), SSIZE(2) and DSIZE(1), SSIZE(2) and DSIZE(0), etc.  Will these combinations produce the same result as SSIZE(2) and DSIZE(2)?

0 Kudos
Reply
5 Replies

919 Views
Alexis_A
NXP TechSupport
NXP TechSupport

Hello @sean_dvorscak,

Can you let me know which device are you using?

Best Regards,

Alexis Andalon

0 Kudos
Reply

912 Views
sean_dvorscak
Contributor III

Hi Alexis,

I am using the MKE18F processor.

Thank you.

0 Kudos
Reply

904 Views
Alexis_A
NXP TechSupport
NXP TechSupport

Hello @sean_dvorscak,

Usually, is recommendable that the DSIZE and SSIZE match but could you let me know what are you trying to do? Which kind of transfer are you trying to do (memory-memory, peripheral-memory, memory-peripheral)?

Best Regards,
Alexis Andalon

0 Kudos
Reply

899 Views
sean_dvorscak
Contributor III

I am working on building a simulated KE18 environment, and part of that is going to include DMA.  I am trying to get a better understanding of how the DMA DSIZE and SSIZE work when it comes to transferring data.

I don't intend to ever have DSIZE != SSIZE, but just incase someone configures DSIZE != SSIZE, I would like to have something to simulate.

0 Kudos
Reply

874 Views
Alexis_A
NXP TechSupport
NXP TechSupport

Hello @sean_dvorscak,

Doing some test, using different SSIZE and DSIZE couldn't make it work. The alternative for this was using the smallest variable size, for example, if you want to move an array of 8-bit variable to a 32-bit variable array you could set the SSIZE and DSIZE to 8-bit and change the offset depending if you want to fill al the variable or only the first byte.

The format of the variable is not relevant for the DMA.

Best Regards,

Alexis Andalon

0 Kudos
Reply