TIDSP/BIOS1远见品质0.前言操作系统(OS,OperatingSystem)实时系统实时操作系统(RTOS,Real-TimeOS)通用操作系统和实时操作系统的比较远见品质0.1操作系统定义及作用:管理和控制计算机系统的软硬件资源,合理地组织计算机工作流程,以便有效地利用这些资源为用户提供可扩展的工作环境,在计算机和其用户之间起到接口的作用。操作系统分类:批处理,分时,实时,个人计算机,网络,分布式操作系统包括:进程管理(线程管理)、存储器管理、文件管理、IO管理(设备管理)等4个部分远见品质0.2实时系统定义:一个系统的输出时刻如果是至关重要的,这个系统就是实时系统。实时系统的输出和输入的延迟必须小到可以接受的范围。最大特点:任务要按时完成;deadline;由于大多数实时系统是嵌入式,所以又常常称为嵌入式实时系统.远见品质0.3实时操作系统历史1981.VRTX3280年代末PSOS90年代中Vxwork,WinCE,QNX基于Linux的RTOS特点:必须至少有一个中断,其服务能保证在一个给定的时间内完成,而不论是否发生其他事情。几个重要概念:中断响应时间:发生中断ISR第一条指令可重入函数:可多个任务调用;使用局部变量抢先式内核:高级任务一就绪就得到响应远见品质0.4通用OS和RTOS的比较RTOS与其他操作系统不同的一个特征是:它们必须至少有一个中断,其服务能保证在一个给定的时间内完成,而不论是否发生其他事情。RTOS具有嵌入式软件共有的可裁剪、低资源占用、低功耗等特点通用OS注重多个任务的平均表现性能,不注重个体表现性能。实时操作系统注重的是个体表现,更准确地讲是个体最坏情况表现。通用OS的基本设计原则是:尽量缩短系统的平均响应时间并提高系统的吞吐率,在单位时间内为尽可能多的用户请求提供服务。实时操作系统所遵循的最重要的设计原则是:采用各种算法和策略,始终保证系统行为的可预测性(predictability)。远见品质1.DSP/BIOS概述DSP/BIOS的定义DSP/BIOS是一个可升级的实时内核。它主要是为需要实时调度和同步以及主机-目标系统通讯和实时监测(Instrumentation)的应用而设计的。DSP/BIOS是集成到CCS中的,不需要额外的费用。但不提供源码。DSP/BIOS是TI’seXpressDSP技术的重要组成部分。远见品质1.1DSP/BIOS的组件:抢先式多任务内核配置工具实时分析工具DSP/BIOSAPI:提供150个DSP/BIOSAPI给用户,包装在一套模块(Module)中。硬件抽象。远见品质DSP/BIOS配置工具组件模块远见品质DSP/BIOS实时分析工具远见品质1.2为什么使用DSP/BIOS(1)加快产品进入市场,不需要自己开发和维护一个实时内核但还是有入门学习的台阶:uC/OS-II--源码公开的实时嵌入式操作系统JeanJ.Labrosse著,邵贝贝译中国电力出版社2001.高效地调试实时应用程序:实时统计,数据记录,RTDXDSP/BIOSOSRTOS嵌入式系统编程远见品质1.2为什么使用DSP/BIOS(2)创建的应用程序稳定性好(Robust)DSP/BIOS是构建于已被证实为有效的技术之上的(builtonindustryproventechnology)在DSP/BIOS基础上开发的软件标准化程度高,可重复使用,减少软件的维护费用。这是最大的优点。C5000和C6000之间的软件移植迅速。因为两个平台的DSP/BIOSAPI是标准的。远见品质1.3什么是实时分析实时分析用于实时捕获和显示数据,供系统级bug的早期检测和诊断使用DSP/BIOS提供几种机制实时地获取、传输和显示数据,同时把对程序本身的工作的干扰减少到最小。例如:DSP/BIOS提供一种“printf“,大概需要40指令周期.(stdio的printf1000多个)此外,DSP/BIOS的模块,DSP/BIOS的模块的运行能够被“隐式”地监测。所以,基于DSP/BIOS的应用程序能够自动观测自己的运行远见品质1.4DSP/BIOS的大小对于C62x,最小需要程序存储空间的150字,数据存储空间575字。C6201:PM-16KW,DM-16KW占:0.9%和3.5%最多需要6500字,占C6201存储空间的20%(7%@C6202)。所以多数应用是可接受的。DSP/BIOS的可裁减性:只把直接或间接调用的模块和API连接到目标文件中远见品质1.5DSP/BIOS支持的平台支持的DSP:C5000和C6000支持的平台:EVM,DSK,第三方开发的板子,用户自己开发的板子和Simulator配置模板(Configurationtemplate)使用配置工具配置生成用户自己的.cdb文件Simulator中使用DSP/BIOS片上时钟,CLKandPRDmodules;PinConnecttool配置中断管脚,仿真硬件中断。远见品质配置工具:生成用户定义的.cdb文件远见品质1.6DSP/BIOS的模块(Module)DSP/BIOSAPI被划分为多个模块。根据应用程序模块的配置和使用情况的不同,DSP/BIOS的代码大小从500字到6500字不等。应用程序通过调用API来使用DSP/BIOS,所有的DSP/BIOSAPI都是按C可调用的形式提供的。只要遵从C的调用约定,汇编代码也可以调用DSP/BIOSAPI。分类远见品质1.7基于DSP/BIOS的软件开发和传统嵌入式软件开发的不同(1)DSP/BIOS中,硬中断处理尽量快,一般不允许中断嵌套中断延迟:中断的关闭时间.这是实时系统的一个重要指标。所以传统的中断处理任务在DSP/BIOS应用中一般要划分为两个部分:一个是控制部分,花时间少,放在HWI函数中;另外一部分是处理部分,放在SWI函数或任务处理中Main()中等待。。。CallG723_code()AD_srv()不使用DSP/BIOS时的程序结构存储器输入数据INTMain(){}DSP/BIOS内核IDL模块HWI_AD使用DSP/BIOS时的程序结构存储器SWI_G723_decodeINTPIP,SIO,DEVpostswi远见品质1.7基于DSP/BIOS的软件开发和传统嵌入式软件开发的不同(2)DSP/BIOS提供标准的时标,供整个应用程序参考。如:等待超时的判断也是以这个时标为单位;(超时等待在传统模式中也可实现)DSP/BIOS的时钟:高、低分辨率计时和系统时钟;时钟HWI将低分辨率计数器加1;(CLK对象在时钟HWI中执行)系统时钟在在配置工具中设置:默认低分辨率计时和系统时钟系统,系统时钟还可由其它时间驱动。系统时钟驱动PRD模块。高分辨计时是按照定时器的计数寄存器的速率加1的,所以高分辨时间等于计数寄存器的累加次数。远见品质1.7基于DSP/BIOS的软件开发和传统嵌入式软件开发的不同(3)DSP/BIOS提供的实时监测手段丰富,虽然传统方式也可做记录,但是DSP/BIOS有的功能还是不能实现:实时监测的数据在主机端格式化处理;CPU负载显示;4种API实现实时监测数据的采集:LOG,STS,HST,TRC远见品质1.9一个DSP/BIOS的例子Tutorial\volume2:功能性演示volume2程序内容分析:(1)时钟对象dataIO_CLK的函数为dataIO;(2)dataIO中把软件中断processing_SWI的邮箱减1(邮箱初始值为10);(3)processing_SWI的处理函数为processing;(4)processing的处理时间和参数processingLoad成正比远见品质1.9一个DSP/BIOS的例子(续)用GEL函数修改参数processingLoadprocessingLoad=400Timetick的比例processing_SWI和KNL_swi的优先级