PSoC4-M The DMA is working!

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

cross mob
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

I was quite content when I saw the PSoC4 - M version got DMA capabilities. But when I started to dig into that matter (Datasheet, component) I was quite more than content: No DMA wizard needed, no copy and paste #defines and code but instead a small custimizer that even offers more capabilities the DMA in PSoC5 has got!!!

   

 

   

A pure "Setup, Start and Lean back" solution. Great job done by the hardware developers and the software team!

   

 

   

Only point (yes, I have got one!) could be to explain a little bit more about the "Post completion actions" and the need to set "Invalidate descriptor" to get the DMA stopped after it has done its work.

   

 

   

Bob

0 Likes
4 Replies
Anonymous
Not applicable

I noticed, that DMA in psoc4m is different from that in psoc5: no more high 16 address bits shared for TDs within one DMA channel, but TDs number is limited to 2, if I understanding it right?

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

That's right, Only two TDs for one channel. But having two TDs will solve most problems including double buffers etc.

   

 

   

Bob

0 Likes
Anonymous
Not applicable

I think, I'm missed with this "invalidate descriptor" stuff. is it possible to change 2-nd TD from first TD? 

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

You may change (and validate() ) the second TD before it is run, but what for? Can you please provide a (hypothetical) example where you would like to have / need more than two TDs?

   

 

   

Bob

0 Likes