轻松学会dsp-第7章dspbios.ppt
《轻松学会dsp-第7章dspbios.ppt》由会员分享,可在线阅读,更多相关《轻松学会dsp-第7章dspbios.ppt(62页珍藏版)》请在三一办公上搜索。
1、DSP/BIOS的功能,DSP/BIOS是CCS提供的一套工具,用于支持系统实时分析。它本身仅占用极少的CPU资源。使用线程来管理程序,如硬件中断服务子程序,软件中断服务子程序,周期函数,idle函数等。提供多种分析工具,评估代码。如图形化显示各个线程占用的CPU时间等。可以修改各个线程的优先级。,一、DSP/BIOS的组件,1、DPS/BIOS实时库和API 运用DSP/BIOS的一个基本概念是我们的运行程序是一个多线程的情况,我们通过API(运用程序接口)函数来管理这些线程。我们可以把DSP/BIOS API分为许多模块,不同的线程属于不同的模块。这些模块包括:,DSP/BIOS提供的AP
2、I 模块,CLK模块:用于片上的定时器管理,设置定时器中断的间隔时间。HST模块:用于实现主机与目标系统间数据的输入或输出。HWI模块:用于硬件中断管理,可设置相应的中断服务子程序。IDL模块:用于管理idle函数,该类函数具有最低优先级。,LOG模块:用于事件的记录显示。例如,你可以通过该API输出调试信息。MEM模块:用于定义目标系统的内存使用。系统根据此信息自动产生.cmd文件。PIP模块:用于管道管理,可以实现线程间的数据交换。PRD模块:用于实现周期性的函数。该类函数的执行频率可以由CLK模块或自己调用PRD_tick决定。,RTDX模块:用于主机与DSP目标系统间的实时数据传递。S
3、TS模块:用于状态统计管理,你可以在CCS下查看这些统计参数。SWI模块:用于管理软件中断。CCS将运行队列中的软件中断,并可以设置15个优先级,但都比硬件中断低。,API管理进程的具体方法是通过API函数,这些函数功能非常多,如:建立和删除对象,变换线程优先级等;函数的详细说明:,2、DSP/BIOS配置工具,API函数不是直接对线程进行管理,而是通过不同模块中建立的对象来实现的,这些对象同各个线程直接连结。不同模块中对象的建立有两种方法,一是通过在源文件中使用API函数调用,可以动态产生,动态删除;一是通过DSP/BIOS配置工具产生,是静态产生,不可删除。,DSP/BIOS配置工具产生对
4、象的优点:图形化的编辑工具,使用更加方便;可以对对象进行各种参数设置;可以建立各种对象,而API函数只能建立部分对象。部分模块的API被执行程序调用和绑定.优化的DSP/BIOS的连接库,可以达到汇编语言的执行效率.目标板与插件之间的通信是通过后台IDLE线程循环完成,而IDLE线程实在DSP资源可用的情况才执行,保证了程序的执行效率.,提供了具有不同优先级的线程,依次是硬件中断、软件中断、任务、IDEL空闲函数,以及周期函数,且其优先级可配置。线程之间可通过旗语、邮箱等工具进行通信。DSP/BIOS配置工具产生对象的缺点:一旦建立,不论程序中是否使用,都有占有一定资源;一旦建立,在程序运行中
5、,不可以删除。,3、DSP/BIOS插件,完成对运行程序的实时分析,时刻监视CPU的负荷,各个线程的执行情况,各段代码的花费时间等等;DSP通过JTAG口返回到PC数据,这些数据反映我们需要的情况。这些数据的产生是在CPU的空闲状态时产生的,所以,不会对DSP本身的运行产生影响。,Program tracing:Displaying events written to target logs,reflecting dynamic control flow during program execution。Performance monitoring:Tracking summary stati
6、stics that reflect use of target resources,such as processor load and timingFile streaming:Binding target-resident I/O objects to host files。,二、用DSP/BIOS创建应用程序,在Project 菜单中选“New”新建或“Open”打开一个工程文件。将需要的.h、.asm、.c、.obj、.lib添加到该工程文件中。将DSP/BIOS的配置文件.cdb添加到工程文件文件中。注意:LNK使用的.cmd文件由DSP/BIOS配置文件自动产生。,在工程文件窗口
7、下用鼠标左键双击配置文件将其打开。展开LOG选项,并用鼠标右键单击,在弹出菜单中选择“Insert LOG”项。修改新增LOG0对象的名称,如trace。使用鼠标右键单击,并在弹出菜单中选择“Property”,修改其参数,如将buflen改为512。增加包含的头文件,如std.h,log.h增加变量说明。这些变量由配置工具创立的,如 extern LOG_OBJ trace。,增加LOG API函数,如LOG_printf(该函数可以在DSP/BIOS提供的事件记录窗口显示信息。设置相应的编译、连接开关,使用“Bulid All”生成.out文件。注意:Linker选项中的输出文件名应该与工
8、程文件包含的DOS/BIOS配置文件一致。使用“File”菜单将生成的OUT文件装入目标系统。选择“Debug”菜单中的“Go Main”运行程序到main()函数。,选择“Tools”菜单下的“DSP/BIOS”选项,然后选“Message Log”。用鼠标右键单击出现的Message Log窗口,在弹出菜单中选“Property Page”。在“name”选项中选择“trace”,使得该窗口显示送到 trace 对象的信息。(使用LOG_printf(&trace,“volume”)语句)使用F5运行程序,观察该窗口输出。,注意事项:,配置文件有 program.cdb programcf
9、g.h54 programcfg.s54 programcfg.cmd手工添加文件program.cdb 和programcfg.cmdprogramcfg.s54自动添加;库文件rst.lib不需要;C源文件中要加上各种API头文件;其他源文件同一般的CCS使用一样;,三、线程的基本概念,1、什么是线程 实时的DSP应用,往往需要把许多看似不相干的功能同时实现。不同的功能通过不同的指令流实现,而我们把这些指令流叫线程。同一个处理器实现多线程的方法是给线程加上优先级。优先级高的线程首先执行。,2、线程的种类,硬件中断 Hardware interrupts(HWI):includes CLK
10、functions软件中断 Software interrupts(SWI):includes PRD functions任务 Tasks(TSK)背景线程 Background thread(IDL),硬件中断,硬件中断函数与外部中断信号一一对应;一旦中断信号或事件发生,硬件中断函数(也称中断服务程序)就执行.在DSP/BIOS应用函数中,中断函数是优先级最高的线程.硬件中断函数执行时间应限定在2到100ms内,频率在200KHz左右.,软件中断,软件中断是通过调用在程序SWI函数而被触发的.软件中断的优先级出于硬件中断与后台线程之间.SWIs执行时间较硬件中断函数可宽一些,可在100ms或
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 轻松 学会 dsp dspbios

链接地址:https://www.31ppt.com/p-6434483.html