以下解说在详细应用中,event与中断ISR的设置。以对QM的queue监控产生中断(不是EXCEP)为例,主要包含配置QM accumulator(用于监控QM queue)与配置ISR(ISR与event配置)。

首先介绍QM accumulator的配置,QM模块中QMSS(包括QMSS Tx queue 800:831,Tx/Rx channel 0:31,RxChan,TxChan,Tx queue是一一相应的,如Tx
queue是806,那么相应的TxChan与RxChan编号都是6)用于CPU之间的通信,QMSS Rx queue能够配置为high priority queue(也能够配置general queue等),然后利用PDSP的 channel(0:31,该channel与分配给QM的chip-event是一一相应的,见QM user guide 5.2节)监控QMSS Rx queue,条件满足时,将会产生中断。QMSS的Tx queue是QMSS对外提供的唯一输入port(queue
800:831),当有descriptor PUSH到QMSS的Tx queue后,经过Tx channel与Rx channel后,将会将输出结果输出到配置给QMSS的Rx queue。

QM accumulator的配置主要包含QMSS Rx channel的使能(Rx channnel仅仅需使能就可以),Tx channel的使能与配置,Rx flow的配置,Tx Scheduler配置,PDSP监控的配置。本节先讲QMSS Rx channel,Tx channel的配置,Tx Scheduler的配置。PDSP监控的配置在5.2中解说。以Nyquist为例。

QMSS Rx channel配置:

confRegPtr = (void*)0x02a08800;

      /* Enable Rx Channel */

      confRegPtr[channel].channelCtrlRegA = 0x80000000;//channel为QMSSTx queue相应的channel

QMSS Tx channel配置:

/* Configure Tx Channel */

      confRegPtr[tmpChan].channelCtrlRegB = ((u32)filterEPI<<30)|((u32)filterPS<<29)|((u32)aifMode<<24);//filterEPI=filterPS=aifMode=0

      /* Set channel priority */

      if( prioRegPtr != GLO_NULL )

      {

        prioRegPtr[tmpChan] = (u32)priority;//prioRegPtr=0x02a08c00(TX Scheduler Config). priority=1

      }

      /* Enable Tx Channel */

      confRegPtr[tmpChan].channelCtrlRegA = 0x80000000;

QMSS配置寄存器地址(infra1列,为Nyquist所用寄存器)例如以下:

Rx channel A寄存器:

Tx channel B寄存器(A寄存器与Rx channel同样):

Tx Scheduler寄存器:

TI C66x DSP 系统events及其应用 - 5.1(QM accumulator的配置)的更多相关文章

  1. TI C66x DSP 系统events及其应用 - 5.6(INTMUX)

    系统event 0~127(包含了eventCombiner的输出event 0~3)与CPU支持的12个可屏蔽中断是通过INTMUX寄存器进行映射的(不包含NMI.RESET).能够选择将系统eve ...

  2. TI C66x DSP 系统events及其应用 - 5.11(中断控制寄存器)

    C66x DSP运行中断的简要流程: 1.使能了全局中断和子中断.假设硬件检測到中断发生,那么CPU就要跳转. 2.软件把CPU内部的A,B类寄存器的值等推入堆栈保存,把当前PC寄存器的值放入IRP寄 ...

  3. TI C66x DSP 系统events及其应用 - 5.8(ISTP)

    中断服务表指针ISTP(Interrupt Service Table Pointer)位置寄存器用于定位的中断服务例程,那ISTP去哪里找要运行的程序,ISTP(当中的ISTB字段)就是指向IST表 ...

  4. TI C66x DSP 系统events及其应用 - 5.10(创建ISR的三种情况)

    ISFP是服务中断的指令包,创建ISR的三种情况: 1.一个ISFP包的8条指令就能够满足ISR watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWl5ZW ...

  5. TI C66x DSP 系统events及其应用 - 5.7(IST)

    当CPU開始处理一个中断(INT4~15)时,它将引用中断服务表(IST).IST是一个获取包括中断服务代码的包的表. IST包括16个连续的获取包.每个中断服务获取包(ISFP)包括最多14条指令( ...

  6. TI C66x DSP 系统events及其应用 - 5.9(IST重定位)

    RESET中断的获取包必须位于0地址处,然后其它中断的获取包能够位于不论什么256字(1k字节边界)对齐的程序空间.IST的位置由ISTP寄存器中的ISTB字段决定. IST又一次定位举例: 1,将I ...

  7. TI C66x DSP 四种内存保护问题 -之- CPU訪问corePac内部资源时的内存保护问题

    CPU訪问corePac内部资源(L1.L2)时的内存保护(通过设置内存的訪问权限实现)等问题请參考以下两个blog.已经叙述的非常具体. "TI C66x DSP 系统events及其应用 ...

  8. TI C66x DSP 四种内存保护问题 -之- 外设訪问corePac内部资源时的内存保护问题

    外设訪问corePac内部资源(L1,L2)时的内存保护等问题请參考以下两个blog.已经叙述的非常具体. "TI C66x DSP 系统events及其应用 - 2"," ...

  9. TI C66x DSP 四种内存保护问题 -之- 针对CPU訪问外存(DDR3 or MSM)时的内存保护问题 - 举例

    在代码维护中遇到过这种问题,CPU訪问了corePac的外部内存空间0x75510C55地址,即CPU向corePac的L2内存控制器发起了对该内存的訪问,然后L2内存控制器将该请求发给corePac ...

随机推荐

  1. jquery 中ajax的参数

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

  2. SQL2008安装重启失败

    我今天安装SQL2008的一些问题经历SQL2008安装重启失败大致出错信息如下:RebootRequiredCheck 检查是否需要挂起计算机重新启动.挂起重新启动会导致安装程序失败. 失败 需要重 ...

  3. SqlServer跨域查询

    SELECT * FROM OPENDATASOURCE('SQLOLEDB','Data Source=192.168.1.14;User ID=sa;Password=sql.com').eBui ...

  4. scala学习笔记——操作符

    中置操作符(二元操作符),操作符位于两个参数之间.操作符包括字母,比如to,也可以包括操作符字符,比如1->10,等同于方法调用1.->(10) a 标识符 b 其中的标识符是一个带有两个 ...

  5. JavaScript模块化编程 - CommonJS, AMD 和 RequireJS之间的关系

    这几天在学习CommonJS的时候突然在StackOverflow上搜索到一个非常好的一个帖子,是关于CommonJS, AMD和RequireJS之间的关系的问答贴.我感觉写的非常好,鉴于没有找到相 ...

  6. UVA 10037 贪心算法

    题目链接:http://acm.hust.edu.cn/vjudge/contest/122829#problem/A 题目大意:N个人夜里过河,总共只有一盏灯,每次最多过两个人,然后需要有人将灯送回 ...

  7. JSONP的原理

    JSONP的原理 JSONP的最基本的原理是:动态添加一个<script>标签,而script标签的src属性是没有跨域的限制的. <script type="text/j ...

  8. Grunt使用心得

    1.安装npm 2.安装CLI ( npm install -g grunt-cli) 3.安装grunt (npm install grunt --save-dev) 4.添加gruntfile.j ...

  9. Python学习笔记总结(四)异常处理

    1.基础 try/except/else:[else是可选的]捕捉由代码中的异常并恢复,匹配except里面的错误,并执行except中定义的代码,后继续执行程序(发生异常后,由except捕捉到异常 ...

  10. 一个ajax实现表单上传文件的神器 formdata

    通过传统的form表单提交的方式上传文件: $.ajax({ url : "http://localhost:8080/STS/rest/user", type : "P ...