Serial DMA


Has anyboday has success with the SerDma.c.?

I try it but nosucess. It is strange:
If I compile it to flash, everything is OK;

If compile to ram, the result seems unstable, sometimes all the data is mess up; Sometimes everything is fine. It can even generate the famous “timeout error” with serXdmaOn(myport, DMA_CHANNEL_ANY, DMA_CHANNEL_ANY).

From the library I can not find any relation between DMA and run in RAM!!


I divide the serial data into smal package, say maybe 100 bytes, and divide it into 10 small packlet, each time I send one packlet, and wait some time and send the next. I can only the first byte one each packlet. Other data are lost. So I think DMA will run with a much high speed, and it fetch the next data at fix speed, but the serial port is slow. so…