- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That's right, Only two TDs for one channel. But having two TDs will solve most problems including double buffers etc.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I think, I'm missed with this "invalidate descriptor" stuff. is it possible to change 2-nd TD from first TD?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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