本节讲述PDSP监控的配置。

QMSS PDSP:The queue manager sub system contains two or eight packed data structure processors (PDSP) and associated hardware that allow autonomous QMSS-related tasks with interrupt notification. PDSPs are normally loaded with firmware during configuration,then programmed with firmware-specific commands. Because the interrupt distributors service pairs of PDSPs, most firmware images can be loaded on even or odd PDSPs, with restrictions usually due to conflicts with interrupt usage. For example,using Acc48(一种监控queue的channel类型,取值为0~47,在Nyquist中使用) on PDSP1 and PDSP5 would cause both instances to drive the same interrupts on INTD1. If Acc48 is loaded on PDSP1, it can also be loaded on PDSP3 or PDSP7.

• Descriptor accumulator firmware that monitors programmed queues, pops descriptors found there andinterrupts the hostwith a list of descriptor addresses (this firmware comes in 16, 32, and 48 channel builds).

Descriptor Accumulation Firmware:For accumulation purposes(为了实现监控), the firmware will read thequeue status RAM(寄存器)toobtain status information on the programmed queues. So the host software must program theQueue N Status and Configuration Register Dregisters with the value 0x81for every queue that is to be examined (监控)by the firmware.This will cause the status bit in the queue status RAM to be set while the queue is not empty, and clear when empty.

The 32-channel version provides 32 high channels - i.e. channels 0 to 31that are serviced once per iteration through the channels. The 16-channel firmware provides 16 channels (0...15) that are also scanned as fast as possible (e.g.high), yet these trigger thelow priority interrupts. In this way, the 16- and 32-channel accumulators may be usedtogether without interrupt interference.The48-channel version(PDSP channel0~47,用于监控queue)provides channels0 to 31 that are high, and channels32 to 47 that are low— serviced one at a time through each iteration through channels 0 to 31. Note that any channel in any version of the firmware may be configured to monitor 32 contiguous queues, not just the low priority channels.

PDSP监控配置代码:

regPtr = (u32*)0x2AB8000; //为 PDSP 1 command interface (scratch ram)寄存器首地址,即配置PDSP监控的寄存器地址
      /* Wait for accumulator to be free */
      for(;;)
      {
        if( !(*regPtr & 0x0000FF00) )
        {
          break;
        }
      }

regPtr += 4;
      /* Configure accumulator */
      tmp = (((u32)configPtr->multiQueueMode & 0x1) << 5) | (((u32)configPtr->listCntMode& 0x1) << 4) | (((u32)configPtr->listEntrySize& 0x3) << 2) | (intModeTmp);
      *regPtr-- = (tmp << 16) | (timerLoadCntTmp);
      *regPtr-- = (configPtr->maxPageEntries << 16) |queue;  //queue为PDSP channel监控的queue
      *regPtr-- = (u32)configPtr->listAddress;
      *regPtr-- = configPtr->queueEnableMask;
      *regPtr = ((u32)0x8100)| acc48Channel; //acc48Channel为监控queue的PDSP channel.(QM user guide Table 5-3,PDSP channel,CPU,event一一对应)
      /* Wait for accumulator to complete given command */
      for(;;)
      {
            if( !(*regPtr & QM_ACCUMULATOR_COMMAND_MASK) )  //0x0000FF00
            {
                 break;
            }
      }

/* Get return code from accumulator hardware */
      retCode = (*regPtr & 0xFF000000)>>24;  //判断配置是否已经成功

PDSP 1 command interface 寄存器的结构(首地址是0x2AB8000,共20字节):

下图为对上图总各个byte的定义:

TI C66x DSP 系统events及其应用 - 5.2(PDSP配置)相关推荐

  1. TI C66x DSP 系统events及其应用 - 1

    TI C66x dsp的每个corePac(cpu及其属于该cpu的资源的package)有12个可屏蔽的中断,一个可屏蔽的异常,一个不可屏蔽的中断/异常.每个corePac包括一个INTC(中断控制 ...

  2. SOM-TL665x核心板研发的一款TI C66x多核定点/浮点高性能DSP开发板 处理器/FLASH

    前    言 TL665x-EasyEVM是广州创龙基于SOM-TL665x核心板研发的一款TI C66x多核定点/浮点高性能DSP开发板,采用核心板+底板方式,底板尺寸为200mm*106.65mm ...

  3. Ti公司DSP的DSK、EVM、DDK的区别

    1. DSK TI的DSP Starter kit,初学者开发套件,它是一个DSP的最简单系统,最小开发功能板,是在最小系统上的略微扩充,使初学者了解DSP系统结构的板卡.DSK是TI或TI的第三方生 ...

  4. DSP系统开发工程师—高级培训班

    DSP系统开发工程师-高级培训班  >>> 课程目标 通过该培训班培训后,可从事DSP应用系统的软件开发.硬件开发以及DSP的算法设计等多方面工作.我们还会在培训中根据个人的特点,建 ...

  5. TI AM5728 DSP+ARM+FPGA多核异构工业控制处理器

    TI AM5728 DSP+ARM+FPGA多核异构工业控制处理器. DSP用于复杂算法处理,ARM用于通用事务管理,FPGA用于高速信号采集,是个完美的高性能嵌入式工业主板组合. DSP算法开发 对 ...

  6. LruCache在美团DSP系统中的应用演进

    背景 DSP系统是互联网广告需求方平台,用于承接媒体流量,投放广告.业务特点是并发度高,平均响应低(百毫秒). 为了能够有效提高DSP系统的性能,美团平台引入了一种带有清退机制的缓存结构LruCach ...

  7. 基于CANoen协议实现DSP系统与上位机CAN的通讯

    转 基于CANoen协议实现DSP系统与上位机CAN的通讯 电子设计•来源:郭婷•作者:电子设计 • 2019-07-10 08:08 • 1103次阅读 1.引言 CANopen是一个开放的.标准化 ...

  8. 关于TI公司DSP工程调用DELAY_US()进入非法中断问题的解决

    关于TI公司DSP工程调用DELAY_US()进入非法中断问题的解决 最近笔者在调试一个DSP程序时,发现在ad外设初始化时无法正常执行,单步检查,发现当执行到调用 DELAY_US(1000);语句 ...

  9. 优酷 DSP 系统建设实践与思考 | 完整PPT

    随着 RTB 网络在线展现广告交易模式的兴起,各大公司都纷纷搭建自己的 DSP ( Demand-Side Platform ) 广告投放系统进行获客.优酷在近几年也搭建 DSP 系统,并且在持续迭代 ...

最新文章

  1. php进攻教程,如何对PHP程序中的常见漏洞进行攻击(下)_php基
  2. Dart Metadata 使用
  3. map分组后取前10个_人口净流入排名前10的城市,在这10个城市买房,只涨不跌
  4. 中非谋定农业合作 -农业大健康·万祥军:提供农业解决方案
  5. innoDB 存储引擎
  6. 一个关于clear()、吸收缓存区的帖子引发的思考
  7. CodeForces - 1321B Journey Planning(思维)
  8. 第三次作业:PSP耗时
  9. .net框架读书笔记---CLR内存管理\垃圾收集(二)
  10. Windows内存管理(3)--检查内存可用性,结构化异常处理 和 ASSERT
  11. 闭包(实例化)【面试】
  12. u盘pe无人值守linux,从U盘无人值守安装linux操作系统(纯实践笔记
  13. Lucene开发(一):快速入门
  14. Mac菜单栏使用过程中遇到的问题及解决方法
  15. WINX新增(1): KMP字符串查找算法
  16. 怎么删除fiddler注册表_Fiddler|Fiddler安装与配置
  17. Redis初识、设计思想与一些学习资源推荐
  18. 圣多米尼克高中有计算机课吗,院校库_VPEA北美留学院校数据查询中心
  19. 移动硬盘无法读取怎么办?
  20. CSMA/CD总线以太网和交换式以太网

热门文章

  1. Infiniband vs 以太网Ethernet 对比
  2. 如何使用Sidify Apple Music Converter for mac将 Apple Music 歌曲转换为 MP3、AAC、FLAC、WAV 或 AIFF?
  3. 一阳穿三线选股指标公式,简单却实用
  4. 微信公众号实现机器人回复
  5. 简约至上 交互设计四策略 读书心得
  6. Android重力感应基础
  7. STM32F1 TCA9548A 驱动多个IIC器件
  8. 太平洋证券:金融信创与数字人民币双轮驱动公司发展
  9. 电源基本知识问答20条
  10. v90绝对值编码器回零_V90 Epos回零整理