DM385 IPNC GPMC+EDMA驱动学习笔记

来源:互联网 发布:淘宝新手开店怎么装修 编辑:程序博客网 时间:2024/05/19 10:39
此次任务是DM385芯片上的驱动的使用,开发包是IPNC_RDK_V3.8.0.
通过GPMC+EDMA来发送码流给FPGA。
大致流程为
1.注册FPGA
2.配置GPMC、EDMA、GPIO参数
3.写write,read,open驱动函数。

GPMC模块的配置通过gpmc_cs_read_reg、gpmc_cs_write_reg、gpmc_cs_configure函数对寄存器进行模式功能的配置。
具体代码参考一下链接:
http://www.cnblogs.com/imapla/p/4122609.html

主要记录一下EDMA的部分。并且记录一下我的一些疑惑。
以上链接中对EDMA没有十分清楚的说明。

EDMA3的配置主要包括:
①申请通道与中断处理函数 ②SLOT的参数设置 ③根据需要选择QDMA,LINK,CHAIN ④需要开始EDMA搬运的时候调用edma_start

关于DST/SRC BIDX DST/SRC CIDX 的取值,A/AB sync两种模式下的取值的不同之处 见文档EDMA3_LLD

由DM385TRM Capter8的Parameter Set Updates,在EDMA3搬运过程中,PaRAM中参数是会变更的,详见Table 8-5
因此,在我们上层调用write的时候,需要在底层每次进行写的时候,都要对参数进行更新,这个同时也是我在调试过程中
不断START STOP START STOP循环的时候报错的原因,因为参数已经改变。那么就需要在每次搬运结束后更新PaRAM参数,
使之恢复初始状态,以等待下次搬运。因此,我采用了Link的模式,在每次搬运完成后,加载新的一个PaRAM块,具体工作模式如图。

不足之处,欢迎讨论指正
版权声明:本文为博主原创文章,未经博主允许不得转载。
0 0
原创粉丝点击