- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字信号处理器技术原理与开发应用(第二版)-课件-7
第七章 DSP/BIOS嵌入式软件开发 本章内容: 7.1 DSP/BIOS 概述 7.2 DSP/BIOS 常用模块 7.3 DSP/BIOS 软件开发 7.4 RTDX 原理及应用 DSP/BIOS嵌入式软件开发 7.1 DSP/BIOS 概述 多任务应用系统 开发实时多任务程序要解决的问题 多个处理算法的实时实现 存储资源的合理有效分配和回收 输入/输出设备的驱动开发,数据流的合理控制 实时应用程序的监测和调试 DSP/BIOS与操作系统 DSP/BIOS是TI 公司为其C6000,C5000,和C28x系列DSP以及OMAP器件设计开发的实时多任务内核,尺寸可裁减,是一个以TI DSP为平台的精简的操作系统内核,是TI DSP多任务应用程序开发的最佳选择。 DSP/BIOS提供的主要功能有: 多线程调度与同步 存储器管理 输入输出 实时监测 CCS中的DSP/BIOS组件 DSP/BIOS API DSP/BIOS内核提供的API函数是按照模块来划分的。 使用某个模块的API函数前,要生成该模块的一个对象,针对该对象调用模块的API函数。 根据应用程序中配置和使用的模块不同,DSP/BIOS的代码大小为500到6500字不等。 DSP/BIOS 配置 DSP/BIOS模块树 DSP/BIOS 分析工具 只有在通过JTAG硬件仿真设备连接DSP硬件电路板时,实时分析工具才起作用,在软件模拟方式下不能使用分析工具。 分析工具所使用的原始数据是由DSP/BIOS的监测类模块(LOG、STS)下面的对象提供。 显式监测,用户必须建立自己的LOG对象或STS对象,并在程序中调用相应的API函数来实现显式监测,这些监测信息可以通过消息日志和统计视图实时地显示出来。 隐式监测,内核本身就包含内建的LOG对象和STS对象来收集特定信息。如:线程执行图是由默认存在的LOG_system对象采集信息的,而CPU负荷图是通过内建的STS对象IDL_busyObj得到的。 使用实时分析控制面板可以使能或停止某些监测,也可以在程序中通过调用TRC模块的API函数实现。 DSP/BIOS嵌入式软件开发 7.1 DSP/BIOS 概述 7.2 DSP/BIOS 常用模块 概述 DSP/BIOS中的模块按照功能分类为: 线程调度类(Scheduling) 存储器管理类(MEM) 数据交换类(Input/Output) 调试仪器类(Instrumentation) 线程同步类(Synchronization) 监测 有效的监测需要两种操作:数据采集以及对采集的控制。 用户使用DSP/BIOS提供的LOG和STS模块来收集数据,而这些数据到主机的传送则是通过以一个内建的HST(主机通道)对象自动实现的,用户不必关心具体过程。 对数据采集的控制则通过TRC模块实现。 TRC模块控制着哪些事件和统计信息该由目标程序实时采集,哪些该通过DSP/BIOS分析工具交互式的采集。TRC模块允许用户限制监测对程序行为的影响,保证LOG和STS对象得到必需的信息,以及在运行过程中启动或停止事件或数值记录。 LOG模块 一个LOG对象拥有一块消息缓冲区,其长度和位置可以静态配置,按照消息缓冲区的写入方式可以将LOG对象划分为两种: 固定的:固定日志对象保存的是最先发生的事件集。 循环的:循环日志对象中保存的是最后发生的事件集。 主机获取日志信息时,目标DSP中LOG缓冲区的内容会被读取复制到主机上一个更大的缓冲区,同时目标DSP中被读取过的记录会被标记为空。 LOG模块 STS模块 每个STS对象可以收集任意一个位宽不大于32位的数据变量的如下统计信息: Count:目标DSP中一个应用程序提供的数据变量被观测的次数。 Total:目标DSP中该数据变量所有观测值的算术和。 Maximum:目标DSP中该数据变量的最大观测数值。 Average:在主机端,由统计分析工具根据Count和Total计算得到的观测序列的平均值。 STS模块 线程调度 在DSP/BIOS中,线程被广义地定义为由DSP执行的任何独立的指令流。每一个线程执行一个模块化的功能。 线程间通过抢占、阻塞、同步、通信等交互方式,使得多线程的应用程序可在一个处理器上运行。 DSP/BIOS支持四种不同优先级的线程,按优先级从高到低的顺序依次为: 硬件中断(HWI),包括CLK函数。 软件中断(SWI),包括PRD函数。 任务(TSK)。 后台线程(IDL)。 线程调度 抢占过程示例 第一个硬件中断(HWI 2)产生。 相应的ISR触发了一个比当前运行的 软件中断线(SWI B)程优先级更高的软件中断(SWI A)。 当第一个ISR运行
您可能关注的文档
最近下载
- 湖北省总工会考试试题及答案.doc VIP
- 住院医师规范化培训-医学检验真题库_25.docx VIP
- 房贷提前还清协议书.docx VIP
- 公司治理教学课件(完整版).ppt VIP
- 青光眼小梁切除术.ppt VIP
- 药物设计软件:Discovery Studio二次开发all.docx VIP
- 2025年郑州澍青医学高等专科学校单招语文测试模拟题库汇编.docx VIP
- GTBO41100-2017B 项目运营手册成本弦.pdf VIP
- 2024-2025学年初中道德与法治七年级上册(2024)统编版(部编版)(2024)教学设计合集.docx
- 2025卫星互联网承载网技术白皮书.docx VIP
文档评论(0)