CRC_DMA

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

CRC_DMA

1,357 Views
Mennazz
Contributor II

I tried to use DMA to transfer data to the CRC data register in order to comply with this safety requirement. 

Mennazz_0-1715699780647.png

but surprisingly, the execution time increased when I used the DMA to transfer the data to the CRC_INP register. 

0 Kudos
Reply
3 Replies

1,326 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi @Mennazz 

how much data you transfer to CRC_INP?

If you have just a few bytes/words, the configuration of DMA can take more time than short loop feeding the data to CRC_INP directly.

If you have some large data, usage of DMA does not necessarily mean that the transfer will be faster than core. It means that the core can do other things in parallel which could increase the performance a lot. The DMA transfer rate depends on other DMA channels, on priorities etc.

Regards,

Lukas

0 Kudos
Reply

1,279 Views
Mennazz
Contributor II

Since the CRC calculates based on the value of the INP register, is it possible to feed the INP1 register with more than 4 bytes using DMA? The way I used to pass the data was by giving the DMA every 4 bytes separately with the destination address of the INP1 register. Is there any better approach to reduce the execution time, or is it feasible to pass more than 4 bytes to the INP1 via DMA?

0 Kudos
Reply

1,248 Views
davidtosenovjan
NXP TechSupport
NXP TechSupport

Your approach is correct. INP1 register width is 32-bit so 4 byte write must be maximum.
You could also increase priority for DMA master over CPU on the XBAR module, it could increase performance.

0 Kudos
Reply