About data transfer between memories by DMA

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
YaIs_283501
Level 3
Level 3
First like given

I want to transfer data in reverse order from memory to memory using DMA without using CPU.

It looks like the figure.

image.png

Looking at the data sheet of the PSoC DMA component, both the copy source address and the copy destination address

I can only set it in increasing direction. Do you have any good ideas?

0 Likes
1 Solution
odissey1
Level 9
Level 9
First comment on KBA 1000 replies posted 750 replies posted

Theoretically, it is possible using Indexed DMA (see AN84810 - Advanced DMA...) Par. 6.1

AN84810 - PSoC® 3 and PSoC 5LP Advanced DMA Topics

In such case DMA has 2 TDs: the 1-st TD is providing a destination address for the 2-nd TD from some pre-defined absolute memory address array, and second TD copies data.

Practically, such array inversion using DMA will be much slower than a simple memcopy, and, probably, not worth time spent.

/odissey1

View solution in original post

0 Likes
2 Replies
odissey1
Level 9
Level 9
First comment on KBA 1000 replies posted 750 replies posted

Theoretically, it is possible using Indexed DMA (see AN84810 - Advanced DMA...) Par. 6.1

AN84810 - PSoC® 3 and PSoC 5LP Advanced DMA Topics

In such case DMA has 2 TDs: the 1-st TD is providing a destination address for the 2-nd TD from some pre-defined absolute memory address array, and second TD copies data.

Practically, such array inversion using DMA will be much slower than a simple memcopy, and, probably, not worth time spent.

/odissey1

0 Likes

thank you for your advice.

0 Likes