TI C66x DSP 系统events及其应用 - 5.1(QM accumulator的配置)
以下解说在详细应用中,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的配置)的更多相关文章
- TI C66x DSP 系统events及其应用 - 5.6(INTMUX)
系统event 0~127(包含了eventCombiner的输出event 0~3)与CPU支持的12个可屏蔽中断是通过INTMUX寄存器进行映射的(不包含NMI.RESET).能够选择将系统eve ...
- TI C66x DSP 系统events及其应用 - 5.11(中断控制寄存器)
C66x DSP运行中断的简要流程: 1.使能了全局中断和子中断.假设硬件检測到中断发生,那么CPU就要跳转. 2.软件把CPU内部的A,B类寄存器的值等推入堆栈保存,把当前PC寄存器的值放入IRP寄 ...
- TI C66x DSP 系统events及其应用 - 5.8(ISTP)
中断服务表指针ISTP(Interrupt Service Table Pointer)位置寄存器用于定位的中断服务例程,那ISTP去哪里找要运行的程序,ISTP(当中的ISTB字段)就是指向IST表 ...
- TI C66x DSP 系统events及其应用 - 5.10(创建ISR的三种情况)
ISFP是服务中断的指令包,创建ISR的三种情况: 1.一个ISFP包的8条指令就能够满足ISR watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWl5ZW ...
- TI C66x DSP 系统events及其应用 - 5.7(IST)
当CPU開始处理一个中断(INT4~15)时,它将引用中断服务表(IST).IST是一个获取包括中断服务代码的包的表. IST包括16个连续的获取包.每个中断服务获取包(ISFP)包括最多14条指令( ...
- TI C66x DSP 系统events及其应用 - 5.9(IST重定位)
RESET中断的获取包必须位于0地址处,然后其它中断的获取包能够位于不论什么256字(1k字节边界)对齐的程序空间.IST的位置由ISTP寄存器中的ISTB字段决定. IST又一次定位举例: 1,将I ...
- TI C66x DSP 四种内存保护问题 -之- CPU訪问corePac内部资源时的内存保护问题
CPU訪问corePac内部资源(L1.L2)时的内存保护(通过设置内存的訪问权限实现)等问题请參考以下两个blog.已经叙述的非常具体. "TI C66x DSP 系统events及其应用 ...
- TI C66x DSP 四种内存保护问题 -之- 外设訪问corePac内部资源时的内存保护问题
外设訪问corePac内部资源(L1,L2)时的内存保护等问题请參考以下两个blog.已经叙述的非常具体. "TI C66x DSP 系统events及其应用 - 2"," ...
- TI C66x DSP 四种内存保护问题 -之- 针对CPU訪问外存(DDR3 or MSM)时的内存保护问题 - 举例
在代码维护中遇到过这种问题,CPU訪问了corePac的外部内存空间0x75510C55地址,即CPU向corePac的L2内存控制器发起了对该内存的訪问,然后L2内存控制器将该请求发给corePac ...
随机推荐
- jQuery之简单动画效果
1. show()显示动画 语法:show(speed,callback) Number/String,Function speend为动画执行时间,单位为毫秒.也可以为slow",&quo ...
- linux cat /proc/cpuinfo
#cat /proc/cpuinfo processor : 0 #逻辑处理器的唯一标识符 vendor_id : AuthenticAMD #CPU厂商ID信息,如果处理器为英特尔处理器,则vend ...
- jquery之前后台交互
//js文件 function getMinatoSingleGoodsCategorys(type){ $("#"+type+"MinatoGoodsCategoryI ...
- jQuery简介以及jQuery选择器
一 简介 1 定义:jQuery库是JavaScript的封装库 2 优点: 1) : 代码开源 2) : 选择器强大 3) : 完善的Ajax 4) : 浏览器兼容性高 5) : 文档完善(帮助文档 ...
- IIS Express 终极玩法
进入正题之前,先吐嘈下微软的win10升级吧.之前有意不想将win 7 旗舰版(也是破解版哈)升到win 10,自从微软推出win10后,其本上对其没多大兴趣,感觉系统各种卡顿,各种不流畅,界面各种不 ...
- NHibernate之映射文件配置说明(转载1)
源博客:http://www.cnblogs.com/kissdodog/archive/2013/02/21/2919886.html 1. hibernate-mapping 这个元素包括以下可选 ...
- AD DIV 层的知识 和 行为特效
1.AP(绝对定位) 2.使用AP DIV层和表格结合起来完美布局网页 3.层的Z轴值越大,该层就位于比较顶的位置 4.层有可见性的属性,层溢出,层的裁剪, 5层嵌套,先把光标定位在外层里面,然后拖多 ...
- [BZOJ]3643 Phi的反函数
我承认开这篇文章只是因为好笑…… 估计Zky神看见3737会很郁闷吧. http://www.lydsy.com/JudgeOnline/problem.php?id=3643 本来想直接交3737改 ...
- phpquery笔记
下载phpquery包 require('phpQuery/phpQuery.php');//加载 for($i=1168;$i<=10000;$i++){ phpQuery::newDocum ...
- SolrCloud初识
文章摘自:http://www.bubuko.com/infodetail-923588.html 一.概述 Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库: Solr是以Luce ...