Need help with DMA | Cypress Semiconductor
Need help with DMA
This is my first post on the Cypress forums, and I could really use a bit of guidance. I've been a computer engineer for a couple of decades now, but this is the first time I'm using the Cypress chip. I'm sure there's a way to do what I need, I just don't know enough about the PSoC5 to do it. So here goes...
I have a chunk of memory (SRAM) that represents an array of 4-byte (32-bit) values. These values need to be transferred to my UDB via DMA so as to not encumber the CPU. The thing is though that only the lower 24 bits of each array entry contains data. Sending the 4th byte of each 32-bit array value will ruin the stream.
I've gotten the first DMA to transfer the data all at once, in either 3-byte burst or 4-byte burst, but it sends all 32-bits. I've tried sending the 4-byte data to an intermediate buffer, and then use a second DMA with the data length and burst size set to 3 to to eliminate the 4th byte, but it's not doing what I want. I've also tried putting the two DMAs in reverse order, just in case. And also a small variety or other arrangements. >sigh< No joy.
So, does anyone have a lot of experience with the DMAs that can help me?