DM6437 C64X+ EDMA 疑惑总结记录
总结一下DM6437中的EDMA的使用出现的问题,方便以后再开发定位问题。
1.EDMA Link 和 Chain的区别
link实现了DMA的自动重加载(非静态模式),需要两个param
chain是不更新param set表,直接event对应的param。
2. transfer completioncode(TCC)
a.OPT中的TCC决定了pending bit的位置,不需要做到和channel的一一对应。故理论上同一个TCC可以对应多个channel
b.如何使chain方式下,这个TCC决定了下次event触发的channel event id.
3. Q0,Q1、Q2和TC0、TC1和TC2
DM6437的EDMA控制器有3个Queue。对应的是Transfer control. 64个channel可以配置到指定的queue中,当然Q0 priority最高,默认64个都配置到Q0上。
4 EDMA最优的模式:ACNT≤DBS ACNT is power of 2 BIDX=ACNT BCNT≤1023 SM/AM = 0(Increment)
5.在link 模式下OPT.static =0时。最终传输完成后会link到0xffff,即设置param为一个NULL param
6,对于A与A-B SNYC模式的event数
对于A模式,需要BCNT*CCNT个event。即如果外设peripheral的话需要触发出这么多个Event事件
而对于A-B模式,只需要CCNT个Event,故对于常常二维2D处理时,只需要CCNT =1 就可以满足,故手动一次设置就可以。
而如果是3D的话,手动的话就需要CCNT次EVENT(考虑到CCNT交小时,可以考虑使用运行OPT.static = 0,并且Intermediate chain(每个TR即2D后启动再Event到自己));3D模式使用的不是很多。
7. MCBSP和EDMA结合使用时出现只能启动一次transfer?
因为在完成基本的传输后,最后还会发送一个Event触发了一个Null,会置位ESR,从而阻塞了Q0。故需要清除ESR寄存器。相同通道的DMA才可以再次工作
DM6437 C64X+ EDMA 疑惑总结记录的更多相关文章
- oracle数据库安装过程中的疑惑—该记录是本人以前写在微博上的文章
转行IT初学者关于oracle数据库整理第一次安装数据库的时候都是按照操作步骤一步一步进行安装,并没有对操作步骤产生过怀疑或者为什么要这么进行操作?2017年12月8日再次阅读安装操作说明书的时候有了 ...
- vue-router疑惑点记录
以vue-router2.x讲解. 1.定义路由时,某路由对象里同时有component和redirect重定向参数,会怎样处理? 答: 忽略component,直接用redirect的值重定向到新路 ...
- 关于PChar(@string)的疑惑
看到一篇博客关于讲Delphi中MOVE的例子,心生疑惑.记录下自己的实验,虽然我也不知道这是啥... program Project1; {$APPTYPE CONSOLE} uses SysUti ...
- 关于DAL层使用静态方法,并在WEB层直接调用的问题
同样的疑惑,记录一下吧: http://bbs.csdn.net/topics/360204198 DAL静不静态看connection等关键资源是否静态 比如下面的代码,就算静态也没事 public ...
- python-super1
一.问题的发现与提出 一般子类在继承父类后,若子类覆盖了父类,则只执行子类,不执行父类.如果没有,则执行父类代码. 发现使用super()后,子类,父类都会执行,比较疑惑,记录学习,super知识点 ...
- SSD算法的实现
本文目的:介绍一个超赞的项目--用Keras来实现SSD算法. 本文目录: 0 前言 1 如何训练SSD模型 2 如何评估SSD模型 3 如何微调SSD模型 4 其他注意点 0 前言 我在学习完SSD ...
- Kurento实战之三:知识点小导游
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 对MYSQL慢查询slow query 日志记录内容的疑惑
初始:由于新装服务器出现CPU占用过高,响应不及时的问题排查,因为环境基于最基础的LAMP构架 想到开启 MYSQL slow_query_log 慢查询日志做原因分析: 但是看到日志内容之后有点茫然 ...
- jQuery疑惑记录
不断更新 1.项目中有一句 this.$html = $('<div/>').html(html).attr('sspa-mod-id', this.modName).hide();不知道 ...
随机推荐
- Linux入门基础 #8:Linux拓展权限
本文出自 http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...
- 关于VS2008中的targetver.h文件
targerver.h文件的作用: 定义程序运行的环境,如限制程序只能在XP下运行,限制程序在只能在Vin7下运行 或限制程序只能在XP以上系统运行,或限制程序只能在Server2003以上系统运行. ...
- 在后台操作标记的runat="server"的html标签
价格: <input id="tbPrice" type="text" runat="server" /> HtmlInputT ...
- GDI+创建Graphics对象的2种方式
1.this.CreateGraphics() // 调用控件的CreateGraphics()方法 2.在OnPaint事件中,PaintEventArgs类型的参数e对象的Graphi ...
- 一些不熟悉的SQL脚本--约束条件
1.根据表名查询主键的SQL语句 SELECT D.COLUMN_NAME AS COLNAME FROM USER_CONS_COLUMNS D, USER_CONSTRAINTS M WHERE ...
- JS截取字符串:slice(),substring()和substr()
var string='abcdefg' 1.slice() string.slice(startLocation [, endLocation]) ps1:2个参数可以为负数,若参数值为负数,则将该 ...
- Niagara AX之在Station下显示Home节点
默认的Station下是没有Home节点的,那么,这个Home节点是怎么添加上去的呢? 注意Home后面的描述(Description):“Navigation tree defined by nav ...
- Niagara AX之axvelocity的使用
axvelocity是一个Web模板引擎模块,来源于Apache Velocity.由于我的Niagara AX的许可没有axvelocity,因此,在palette中没有找到axvelocity. ...
- HDU-简单计算器-1237
这道题我做了一天,把中缀表达式转化为后缀表达式,但遇到了储存的问题,考虑了好久,写出后又调试,弄了一天,下面说一下中缀表达式转换后缀表达式: 算法: 中缀表达式转后缀表达式的方法: 1.遇到操作数:直 ...
- InetAddress类的使用
1.1. 简介 IP地址是IP使用的32位(IPv4)或者128位(IPv6)位无符号数字,它是传输层协议TCP,UDP的基础.InetAddress是Java对IP地址的封装,在java.net中有 ...