首先,DMA是允许外设直接从内存存取数据而无需CPU参与的硬件机制;
首先需要申请一条DMA通道;通道的申请一般在外设打开后完成,在外设关闭时释放;当外设需要传输数据时,系统开辟一块缓冲区用于存放数据,同时该缓冲区需要被映射成外设可直接访问的缓冲区,当传输完成时,外设需要发送一个中断函数通知CPU数据已发送完成,并释放对总线的控制权;
首先,DMA是允许外设直接从内存存取数据而无需CPU参与的硬件机制;
首先需要申请一条DMA通道;通道的申请一般在外设打开后完成,在外设关闭时释放;当外设需要传输数据时,系统开辟一块缓冲区用于存放数据,同时该缓冲区需要被映射成外设可直接访问的缓冲区,当传输完成时,外设需要发送一个中断函数通知CPU数据已发送完成,并释放对总线的控制权;