tms470

Oct 16, 2006 1 Replies

Hi,



I am currently attempting to use the DMA channels in the TMS470 (arm7dtmi core product from TI). I can't seem to get it working quite right. Here is what I'm trying to do.



  1. Set up a simple array of chars 'a', 'b' through 'e'


  1. Write these chars to the SCI port (RS232) via a memory-peripheral over DMA.

  2. So far I've had limited success, 1 character seems to work, but when I set the DMA transaction count above 1 (to 2 or 3 or 5) I get stuff like addddbddddcddddddddaddddbddddcddddeddddd on the serial port. Also when I force a busy sleep inside the DMA interrupt I would get something like adadadadadadad...


  1. All this to me seems to indicate that the DMA isn't pausing to wait for the next character to transfer out of the RS232 before it initiates a new DMA transfer.

  2. I'm trying to do this because I need to transfer large blocks over RS232 from memory blocks because there is no buffering on the SCI (RS232) port, so that I don't take so many hits on a 115kBaud connection out. Does anyone have any experience this device they care to share? I'm sort of at a loss to figure out why (apparently) the DMA isn't pausing between each incremental block transfer for the completion of an RS232 port write. Oh and I do have memory-memory block transfers working just fine, but not out the RS232. Thanks! Don

Why don't you try posting this to the Yahoo group at

formatting link

D> Hi,

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required