30
The success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 www.farsight.com.cn PDF 文件使用 "pdfFactory Pro" 试用版本创建 ÌÌ www.fineprint.com.cn

TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

  • Upload
    others

  • View
    19

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

The success's road

TI的实时操作系统DSP/BIOS介绍

田黎育

www.farsight.com.cn

PDF 文件使用 "pdfFactory Pro" 试用版本创建 Ì Ì www.fineprint.com.cn

Page 2: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质 今天的内容

1. 使用实时操作系统(RTOS)的需求

2. DSP/BIOS的组件3. DSP/BIOS的线程4. DSP/BIOS内核分析

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 3: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质 为什么要使用RTOS

v实时调度(Real-time scheduling)

v享用操作系统的服务信号量,邮箱

v算法标准化和可移植ExpressDSP

v创建的应用程序稳定性好(Robust)

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 4: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质 Real-time scheduling

v 一个典型的中断驱动的实时系统程序:

main (){

for (;;);}ISR1(){

algorithm1();}ISR2(){

algorithm2();}

v 一旦ISR1 或 2被调用, 算法1 或 2就要执行并直至完成. 但这样会有什么问题呢?

PDF 文件使用 "pdfFactory Pro" 试用版本创建 ÿ www.fineprint.com.cn

Page 5: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质

Real-time scheduling

v 不同的应用可能有不同的答案。

v 如果我们希望两个算法都要被实时执行(即在一个时限内完成),那么我们首先要考虑下面的问题:Ø ISR1和ISR2同步吗? 如果同步, 我们就可以使用一个ISR服务2个算法(当然假定我们有足够的处理能力)

Ø 如果它们不同步呢?Ø 哪个算法又有更高的优先级?Ø 低优先级的算法可以被抢占吗?

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 6: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质 Real-time scheduling

v 例: 简单应用v 系统描述:

Ø 算法1 和2 不同步Ø 假定算法1优先级高Ø 算法2可以挂起(不能抢占)

Algorithm 1Algorithm 1

Algorithm 2Algorithm 2

CPU processing CPU processing Algorithm 1Algorithm 1

CPU processing Algorithm 2CPU processing Algorithm 2

MISSED!MISSED!

v 注意: CPU在一个时刻只能处理一个算法

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 7: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质

v 例: 简单应用v 方案1: 算法拆分:

Ø 算法2可以被拆分成几个子函数:

Ø 当CPU不处理算法1时,CPU可由于执行算法2的子函数,直到子函数执行完成。如下所示:

Real-time scheduling

algorithm2 ();algorithm2 (); function1();function1();function2();function2();function3();function3();

Algorithm 1Algorithm 1

Algorithm 2Algorithm 2function1function1 function2function2 function3function3

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 8: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质

Real-time scheduling

v 例: 简单应用v 这种方法的问题:Ø写代码困难(对时序要求苛刻)Ø修改代码不方便 (如果算法被修改或添加了其他算法时).

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 9: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质 Real-time scheduling

v 方案 2: 使用操作系统优点:Ø写代码容易 (各个算法独立开发).Ø代码易于维护和修改 (调度由操作系统负责).Ø产品开发周期短.

v 使用什么操作系统? 取决于:Ø使用的处理器.ØDSP平台的结构 (单处理器/多处理器).

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 10: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质操作系统的服务

例:VDK

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 11: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质 操作系统的服务例:VDK

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 12: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质 操作系统功能

v进程管理(线程管理)

v存储器管理

v文件管理

vIO管理(设备管理)

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 13: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质

实时操作系统

v历史1981. VRTX32à80年代末 PSOSà90年代中Vxwork,WinCE,QNXà基于Linux的RTOS

v特点:必须至少有一个中断,其服务能保证在一个给定的时间内完成,而不论是否发生其他事情。

v重要概念:中断响应时间:发生中断àISR第一条指令抢先式内核:高级任务一就绪就得到响应

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 14: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质

通用OS和RTOS的比较v RTOS与其他操作系统不同的一个特征是:它们必须至少有一个中断,其服务能保证在一个给定的时间内完成,而不论是否发生其他事情。

v RTOS具有嵌入式软件共有的可裁剪、低资源占用、低功耗等特点

v 通用OS注重多个任务的平均表现性能,不注重个体表现性能。实时操作系统注重的是个体表现,更准确地讲是个体最坏情况表现。

v 通用OS的基本设计原则是:尽量缩短系统的平均响应时间并提高系统的吞吐率,在单位时间内为尽可能多的用户请求提供服务。

v 实时操作系统所遵循的最重要的设计原则是:采用各种算法和策略,始终保证系统行为的可预测性(predictability)。

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 15: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质 Real-time scheduling: DSP/BIOS

v DSP/BIOS是一个可升级的实时内核。它主要是为需要实时调度和同步以及主机-目标系统通讯和实时监测(Instrumentation)的应用而设计的。

v DSP/BIOS 操作系统,包括:Ø 代码尺寸小的实时库.

Ø 调用API函数,使用实时库的服务

Ø 易用的配置工具

Ø 含有实时分析的程序

v DSP/BIOS 的调度包含:Ø 固定优先级的抢先式调度器

Ø 多种线程类型

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 16: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质

实时分析

v实时分析用于实时捕获和显示数据

vDSP/BIOS 提供几种机制实时地获取、传输和显示数据,同时把对程序本身的工作的干扰减少到最小。

v例如: DSP/BIOS 提供一种“printf“,大概需要40 指令周期. (stdio的printf 1000多个)此外,DSP/BIOS的模块,DSP/BIOS的模块的运行能够被“隐式”地监测。所以,基于DSP/BIOS的应用程序能够自动观测自己的运行

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 17: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质 DSP/BIOS 配置工具

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 18: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质

线程的类型vDSP/BIOS 支持4种线程:(1)硬件中断(HWI): 频率可达200KHz(5us),处理时限在2us~100us .(2)软件中断(SWI):时限100us以上,SWI允许HWI将一些非关键处理在低优先级上延迟执行,这样可以减少在中断服务程序中的驻留时间(3)任务(TSK):任务与软件中断不同的地方在于在运行过程中可以被挂起。DSP/BIOS提供了一些任务间同步和通讯的机制,包括队列、信号灯和邮箱。(4)后台线程(IDL): MAIN->空闲循环: 运行那些没有执行期限(deadlines)的函数

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 19: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质

线程的优先级

v在DSP/BIOS中,硬件中断有最高的优先级,然后是软件中断,软件中断可以被高优先权软件中断或硬件中断抢先。软件中断是不能被阻塞的。任务的优先权低于软件中断,共有15个任务优先权级别(加上TSK_idle应该16个)。任务在等待某个资源有效时可以被阻塞。后台线程idle_loop是优先级最低的线程。

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 20: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质 DSP/BIOS 实时分析工具

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 21: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质 DSP/BIOS的大小

v对于C62x,最小需要程序存储空间的150字,数据存储空间575字。C6201: PM-16KW, DM-16KW

占:0.9%和3.5%v最多需要6500字,占C6201存储空间的20%(7% @ C6202)。所以多数应用是可接受的。

vDSP/BIOS的可裁减性:只把直接或间接调用的模块和API连接到目标文件中

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 22: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质

一个DSP/BIOS的例子v Tutorial\volume2:功能性演示v volume2程序内容分析:(1)时钟对象dataIO_CLK的函数为dataIO;(2)dataIO中把软件中断processing_SWI的邮箱减1(邮箱初始值为10);(3)processing_SWI的处理函数为processing;(4)processing的处理时间和参数processingLoad成正比

内核分析

PDF 文件使用 "pdfFactory Pro" 试用版本创建 香 www.fineprint.com.cn

Page 23: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质 一个DSP/BIOS的例子v用GEL函数修改参数

processingLoad

vprocessingLoad = 400vTime tick的比例vprocessing_SWI和KNL_swi的优先级

PDF 文件使用 "pdfFactory Pro" 试用版本创建 替 www.fineprint.com.cn

Page 24: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质 Volume2的内核分析

v理解RTOS的运行机制的必要性可控、可用、可改(VDK idle的问题)

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 25: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质 启动后的IDLE

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 26: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质

钟中断到来后的运行情况1220clk

回执行图

PDF 文件使用 "pdfFactory Pro" 试用版本创建 香 www.fineprint.com.cn

Page 27: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质

中断到来后的运行情况

PDF 文件使用 "pdfFactory Pro" 试用版本创建 ÿ www.fineprint.com.cn

Page 28: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质 summary

vDSPs软件开发的层次(1)汇编程序:à处理器结构(2)C程序:àC编译器(3)RTOS:DSP/BIOS,VDK (4)顶层软件开发工具:Matlab,Rhapsody

v系统运行时行为

PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn

Page 29: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

远见品质让我们一起讨论!

PDF 文件使用 "pdfFactory Pro" 试用版本创建 ā www.fineprint.com.cn

Page 30: TI的实时操作系统 DSP/BIOS介绍 - pudn.comread.pudn.com/downloads107/sourcecode/others/440826/TI11.pdfThe success's road TI的实时操作系统 DSP/BIOS介绍 田黎育 PDF

www.farsight.com.cn

谢谢!

The success's road

PDF 文件使用 "pdfFactory Pro" 试用版本创建 Ì ÿ www.fineprint.com.cn