读书人

DMA有关问题

发布时间: 2012-11-06 14:07:00 作者: rapoo

DMA问题
某种总线采用burst模式,单个数据的读写是OK的,但burts会一次收到N个数据,这样就得采用dma映射(A映射到B,A表示总线的一个地址,B表示一段物理内存)
问题来了:没有映射的时候,单个读写为:value=*A
但DMA映射后,采用什么机制去触发这个读操作,然后直接去读B里面的值
某些SPI之类的是有寄存器中断触发的,但这种总线上的映射,没有寄存器,只有一个中断。

希望做过的人给一个思路

[解决办法]
DMA: Direct Memory Access. 首先要看 chip 的 DMA controller, 它的 Source/Destination 支援哪些 peripheral, 再依照 data sheet 上所述 config DMA Controller.

WinCE 要利用 HalAllocateCommonBuffer API取得 physical contiguous 的 memory 及其 physical address 定 DMA.

Paul, Chao @ Techware

读书人网 >WinCE

热点推荐