【例3-4】 整块数据的传输是EDMA最基本也是最常用的一种数据传输方式。编写程序从外部存储空间复制256个数据到L2缓存中,外部存储空间的地址为A0000100h(CE2空间),L2缓存的地址为00002100h(L2的第0块)。数据传输如图3-21所示。
图3-21 EDMA的整块数据传输
设计分析
·数据块传输是基本的一维数据到一维数据的传输,实现块传输的最快方法为QDMA的传输。
·由于源和目的数据的读写都是连续的,SUM和DUM位设为01(连续自增方式);源和目的数据都是一维的,2DS和2DD位设置为0;数据宽度为32位,设置ESIZE位为0;禁止传输结束中断,TCINT位设置为0;采用帧同步,设置FS位为1。
程序代码
ODMA的参数设置如下。
(www.xing528.com)
【例3-5】 编写程序从外部的存储空间的640×480像素帧中提取一个16×12像素的子帧。每个像素是一个16位的数据。提取子帧的首地址为A0000567h,目的地址为L2缓存的00002100h。使用QDMA方式传输。设计分析
·子帧提取在图像处理中经常使用。
·由于源和目的数据的读写都是连续的,SUM和DUM位设为01(连续自增方式);源数据为二维,而目的数据是一维的,2DS和2DD位设置为1和0;数据宽度为16位,设置ESIZE位为01;禁止传输结束中断,TCINT位设置为0;采用帧同步,设置块FS为1。
·子帧为16×12像素,所以阵列为12个,每个阵列数据为16个,设置阵列和数据计数参数RAM为000B0010h。由于源数据为640×480像素,所以每个阵列取出16个数据后,进行下一个阵列地址的更新,此时,源数据需要跳过(640-16)=624个像素,而每个像素为16位,占2B,所以索引为624×2=1248=4E0h。
程序代码
QDMA的参数设置如下。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。