DMA直接存储器存取
DMA简介
DMA进行存储器到存储器的数据转运,比如Flash里的一批数据转运到SRAM里,需要软件触发,使用软件触发后DMA就会一股脑地把这批数据以最快的速度全部转运完成,如果DMA进行的是外设到存储器的数据转运,就不能一股脑地转运,因为外设的数据是有一定时机的,这时需要用硬件触发,比如转运ADC的数据,ADC每个通道AD转换完成后,硬件触发一次DMA,之后DMA再转运,触发一次,转运一次。
存储器到存储器的数据转运一般用软件触发,外设到存储器的数据转运一般用硬件触发。
存储器映像
ROM只读存储器,非易失性、掉电不丢失。RAM随机存储器,易失性、掉电丢失的存储器。
DMA框图
寄存器是一种特殊的存储器,一方面CPU可以对寄存器进行读写,就像读写运行内存一样,另一方面寄存器的每一位都连一根导线,这些导线可以用于控制外设电路的状态,比如置引脚的高低电平、导通和断开开关、切换数据选择器、多位结合起来当做计数器或数据寄存器等等。寄存器是连接软件和硬件的桥梁。软件读写寄存器,相当于控制硬件的执行。外设就是寄存器,寄存器就是存储器,那使用DMA进行数据转运,就可以归为一类问题了,就是从某个地址取内容,再放到另一个地址去。
总线矩阵的