总结一下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 疑惑总结记录的更多相关文章

  1. oracle数据库安装过程中的疑惑—该记录是本人以前写在微博上的文章

    转行IT初学者关于oracle数据库整理第一次安装数据库的时候都是按照操作步骤一步一步进行安装,并没有对操作步骤产生过怀疑或者为什么要这么进行操作?2017年12月8日再次阅读安装操作说明书的时候有了 ...

  2. vue-router疑惑点记录

    以vue-router2.x讲解. 1.定义路由时,某路由对象里同时有component和redirect重定向参数,会怎样处理? 答: 忽略component,直接用redirect的值重定向到新路 ...

  3. 关于PChar(@string)的疑惑

    看到一篇博客关于讲Delphi中MOVE的例子,心生疑惑.记录下自己的实验,虽然我也不知道这是啥... program Project1; {$APPTYPE CONSOLE} uses SysUti ...

  4. 关于DAL层使用静态方法,并在WEB层直接调用的问题

    同样的疑惑,记录一下吧: http://bbs.csdn.net/topics/360204198 DAL静不静态看connection等关键资源是否静态 比如下面的代码,就算静态也没事 public ...

  5. python-super1

    一.问题的发现与提出 一般子类在继承父类后,若子类覆盖了父类,则只执行子类,不执行父类.如果没有,则执行父类代码. 发现使用super()后,子类,父类都会执行,比较疑惑,记录学习,super知识点 ...

  6. SSD算法的实现

    本文目的:介绍一个超赞的项目--用Keras来实现SSD算法. 本文目录: 0 前言 1 如何训练SSD模型 2 如何评估SSD模型 3 如何微调SSD模型 4 其他注意点 0 前言 我在学习完SSD ...

  7. Kurento实战之三:知识点小导游

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  8. 对MYSQL慢查询slow query 日志记录内容的疑惑

    初始:由于新装服务器出现CPU占用过高,响应不及时的问题排查,因为环境基于最基础的LAMP构架 想到开启 MYSQL slow_query_log 慢查询日志做原因分析: 但是看到日志内容之后有点茫然 ...

  9. jQuery疑惑记录

    不断更新 1.项目中有一句 this.$html = $('<div/>').html(html).attr('sspa-mod-id', this.modName).hide();不知道 ...

随机推荐

  1. 制作nginx的rpm包出现问题

    在学习打包rpm,找到了个不错的参考站点  https://src.fedoraproject.org/cgit/rpms/ 过程: git clone -b el6 git://pkgs.fedor ...

  2. Linux入门基础 #8:Linux拓展权限

    本文出自   http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...

  3. 15. SSH 远程

    一.原理:     使用SSH连接Centos时,我们可以创建一个公钥和一个私钥,公钥放在服务端,私钥放在客户端,当客户端去连接服务端时,会先去查找密钥,     要是客户端的私钥可以和服务端的公钥匹 ...

  4. SQL 练习题

    一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...

  5. 为什么报错说req未定义,createServer只接受匿名函数吗?

    var http = require('http');var server = new http.createServer(handlerRequest(req,res));server.listen ...

  6. 用phantomjs 进行网页整页截屏

    写截取整个网页程序是一个做前台的哥们所托,要做一些漂亮的界面原形,参考一些不错的网站设计就帮他弄了个截屏的程序. phantomjs   是一个基于js的webkit内核无头浏览器 也就是没有显示界面 ...

  7. asp.net 通过js调用webService注意

    通过JavaSrcipt调用WebService格式: //通过SricptManager 的,services标签添加web服务引用 <asp:ScriptManager runat=&quo ...

  8. hbase学习笔记-----REST客户端

    1. 启动REST服务 a.启动一个非守护进程模式的REST服务器(ctrl+c 终止) bin/hbase rest start b.启动守护进程模式的REST服务器 bin/hbase-daemo ...

  9. 三维偏序-二维LIS

    Another Longest Increasing Subsequence Problem 有两种思路. 思路一: 考虑到如果只有一维,那么可以用f[s]表示长度为s时,最后一个数是多少,把这个想法 ...

  10. 亲试,Windows平台上使用Qt5.2.1编写Android

    首先把工具都下载好: 1. Qt for Android: http://qt-project.org/downloads 2. Android NDK http://developer.androi ...