一、DMA介绍
首先简单介绍下什么是DMAC(Direct Memory Access Controller),DMAC 是一个自适应先进的微控制器总线体系的控制器,它由ARM公司设计并基于PrimeCell技术标准,DMAC提供了一个AXI接口用来执行DMA传输,以及两个APB接口用来控制这个操作,DMAC在安全模式技术下用一个APB接口执行TrustZone技术,其他操作则在非安全模式下执行。DMAC包括了一个小型的指令集,用来提供一些灵活便捷的操作,为了缩小内存需求,DMAC则使用了变长指令。
不同于ARM11以及以前系列的芯片,S5PV210使用了基于PrimeCell技术标准的PL330(DMA控制器核心)有了很大的变化,从编程方式上看,它提供了灵活的指令集,使得你有更多的组合方式用来操作DMA,从硬件上看,它实现了硬件上的多线程管理,一次编写代码即可让它正常的完成所需的工作,因此这个DMA的开发是有一定困难的。
二、PL330简述
DMAC包含了一个执行指令的模块,并且控制了数据的传输,DMAC通过AXI接口来存取这些存储在了内存中的指令,DMAC还可以将一些临时的指令存放在Cache中,我们能够配置行宽度以及深度。
当然,DMAC的8个通道都是可配置的,且每个都可支持单个并发线程的操作&#x