嵌入式系统软件开发和设计流程复习课程_第1页
嵌入式系统软件开发和设计流程复习课程_第2页
嵌入式系统软件开发和设计流程复习课程_第3页
嵌入式系统软件开发和设计流程复习课程_第4页
嵌入式系统软件开发和设计流程复习课程_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

千里之行,始于足下让知识带有温度。第第2页/共2页精品文档推荐嵌入式系统软件开发和设计流程复习课程*

本文由hquwgz贡献

ppt文档可能在WAP端扫瞄体验不佳。建议您优先挑选TXT,或下载源文件到本机查看。

嵌入式系统及应用

第九章嵌入式系统软件的开发

主要内容

嵌入式软件开发工具嵌入式系统开发模式实时软件分析设计办法

第一节嵌入式软件开发工具

嵌入式软件开发工具的分类嵌入式软件的交错开发环境嵌入式软件实现阶段的开发过程嵌入式软件开发工具的进展趋势

/

嵌入式软件开发工具

“工欲善其事,必先利其器”嵌入式软件开发工具的集成度和可用性将直接关系到嵌入式系统的开发效率。

嵌入式软件开发工具的分类

嵌入式软件开发阶段

嵌入式软件开发工具的分类

按照不同的阶段,嵌入式软件开发工具可以分为:

需求分析工具(RequirementAnalysisTools)软件设计工具(SoftwareDesignTools)编码、调试工具(CodingTools)测试工具(TestingTools)配置管理工具、维护工具等

RationalRoseRealTimeObjectGeodeRhapsodyTAUTornadoLambdaTOOLpRISM+SpectraWinCEPlatformBuilderCodeWarriorXrayDebuggerLogiscopeCodeTEST

PhasesRequirementAnalysisSoftwareDesignCodingTestRelease主要嵌入式软件开发工具产品

嵌入式软件开发工具的分类

嵌入式软件的开发可以分为以下几种:

编写容易的板级测试软件,主要是辅助硬件的调试开发基本的驱动程序开发特定嵌入式操作系统的驱动程序(板级支持包)开发嵌入式系统软件,如:嵌入式操作系统等开发应用软件

嵌入式软件开发工具的分类

从以上嵌入式软件开发分类来看,嵌入式软件开发工具可以分为:

与嵌入式OS相关的开发工具,用于开发:

`

基于嵌入式OS的应用部分驱动程序等

与嵌入式OS无关的开发工具,用于开发:

基本的驱动程序辅助硬件调试程序系统软件等

嵌入式软件的交错开发环境

交错开发环境是指用于嵌入式软件开发的全部工具软件的集合,普通包括:

文本编辑器交错编译器交错调试器仿真器下载器等

交错开发环境由宿主机和目标机组成,宿主机与目标机之间在物理衔接的基础上建立起规律衔接。

运行平台Target

]

目标机应用系统调试代理

开发平台Host

宿主机开发环境运行库

—应用软件—应用中间件—目标机OS目标机硬件

————

编辑编译衔接调试

宿主机OS宿主机硬件

交错开发环境

嵌入式软件的交错开发环境

宿主机(Host):是用于开发嵌入式系统的计算机。普通为PC机(或者工作站),具备丰盛的软硬件资源,为嵌入式软件的开发提供全过程支持。目标机(Target):即所开发的嵌入式系统,是嵌入式软件的运行环境,其硬件软件是为特定应用定制的。在开发过程中,目标机端需接收和执行宿主机发出的各种命令如设置断点、读内存、写内存等,将结果返回给宿主机,协作宿主机各方面的工作。

嵌入式软件的交错开发环境

物理衔接和规律衔接物理衔接是指宿主机与目标机通过物理线路衔接物理衔接在一起,衔接方式主要有三种:

串口以太口OCD(OnChipDebug)方式,如JTAG、BDM等

物理衔接是规律衔接的基础。规律衔接指宿主机与目标机间按某种通信协议建规律衔接立起来的通信衔接,目前逐步形成了一些通信协议的标准。

嵌入式软件实现阶段的开发过程

设计完成后,嵌入式软件的开发进入实现阶段,可分为三个步骤:生成、调试和固化运行。

软件的生成主要是在宿主机上举行,利用各种工具完成软件的生成对应用程序的编辑、交错编译和链接工作,生成可供调试或固化的目标程序。调试是通过交错调试器完成软件的调试工作。调试完成调试后还需举行须要的测试工作。固化运行是先用一定的工具将应用程序固化到目标机上,固化运行然后启动目标机,在没有任何工具干预的状况下应用程序能自动地启动运行。

嵌入式软件生成阶段

三个过程

源代码程序的编写编译成各个目标模块链接成可供下载调试或固化的目标程序库文件

源程序

目标模块

可供调试/固化

\

编辑器

交错编译器

交错链接器

交错编译

把在宿主机上编写的高级语言程序编译成可以运行在目标机上的代码,即在宿主机上能够编译生成另一种CPU(嵌入式微处理器)上的二进制程序。

嵌入式软件的调试

交错调试器

是指调试程序和被调试程序运行在不同机器上的调试器调试器通过某种方式能控制目标机上被调试程序的运行方式通过调试器能查看和修改目标机上的内存、寄存器以及被调试程序中的变量等

交错调试调试器和被调试程序运行在不同的计算机上可自立运行,无需操作系统支持可自立运行,被调试程序的装载由调试器完成需要通过外部通信的方式来控制被调试程序可以直接调试不同指令集的程序

非交错调试调试器和被调试程序运行在同一台计算机上需要操作系统的支持被调试程序的装载由特地的Loader程序完成Loader程序完成不需要通过外部通信的方式来控制被调试程序只能直接调试相同指令集的程序

嵌入式软件的调试

交错调试方式

CrashandBurnRomMonitorRomEmulatorInCircuitEmulatorOnChipDebuggingSimulator方式(非交错)

在宿主机上编写代码反复检查代码,反复检查代码,直到编译通过,通过,生成可执行程序将程序固化(将程序固化(Burn)到目标机的非易失)性存储器(性存储器(E2PROM、FLASH等)中、等

CrashandBurn

;

启动目标机运行,启动目标机运行,观看程序是否正常工作N

最早的嵌入式应用软件调试办法。

Y

在宿主机上反复检查码,查找问题根源改写代码

结束

ROMMonitor

ROMMonitor是被固化且运行在目标机上的一段程序,负责监控目标机上被调试程序的运行,与宿主机端的调试器一起完成对应用程序的调试。调试器与ROMMonitor之间的通信遵循远程调试协议。

宿主机调试器

目标机监控程序(ROM被调试Monitor)程序嵌入式硬件物理上的衔接ROMMonitor调试方式调试方式

规律上的衔接

Windows或其它桌或其它桌面操作系统PC机等硬件机等硬件

ROMMonitor

在目标机上电或复位后首先执行的就是ROMMonitor,它对目标机举行一些须要的初始化

初始化要求的外围设备,如最基本的串口和用于内存刷新的系统计时器芯片;初始化用于下载映像的内存系统;初始化中断控制器和安装中断处理程序。

初始化自己的程序空间等待宿主机端的命令

ROMMonitor

ROMMonitor能协作调试器完成:

程序映像下载对目标机系统内存的读写对寄存器的读写设置和清除不同类型的断点单步执行指令复位系统…等调试功能

ROMMonitor

调试过程(1)启动目标机,监控器把握对目标机的控制,等待和调试器建立衔接;(2)启动调试器,并和监控器建立起通信衔接;(3)使用调试器将应用程序下载到目标机上的RAM空间中;(4)使用调试器举行调试,发出各种调试命令,监控器解释并执行这些命令,通过目标机上的各种异样来猎取对目标机的控制,将命令执行结果回传给调试器;(5)假如程序有问题,在调试器的协助下定位错误;修改之后再重新编译链接并下载程序,开头新的调试,如此反复直至程序正确运行为止。

ROMMonitor

优点

1)提高调试程序的效率,缩短开发周期,

降低成本

;

2)容易、便利3)可扩展性强,可支持许多高级调试功能4)成本低廉,不需特地的调试硬件支持5)几乎全部的交错调试器都支持这种方式

ROMMonitor

缺点

1)2)

DebugMonitor需要用CrashandBurn办法开发。当ROMMonitor占用CPU时,应用程序不响应外部的中断,因此不便调试有时光特性的程序。某些调试功能依靠于CPU硬件的支持(如硬件断点功能)ROMMonitor要占用目标机一定数量的资源,如CPU、RAM、ROM和通信设备等资源。调试环境不同于实际目标环境。

3)4)

5)

仿真开发方式

-

嵌入式应用的开发常常会遭受缺少目标机环境、缺乏目标机芯片等资源的问题,而开发过程又不行能停止,因此自然就提出了按照不同的应用需要,利用仿真器件、仿真环境举行开发的办法。硬件仿真开发

ROMEmulatorICEOCD

软件仿真开发

ROMEmulator

ROMEmulator是一种用于替代目标机上的ROM芯片的设备,即ROM仿真器。利用这种设备,目标机可以没有ROM芯片,但目标机的CPU可以读取ROMEmulator设备上ROM芯片的内容:ROMEmulator设备上的ROM芯片的地址可以实时地映射到目标机的ROM地址空间,从而仿真(Emulation)目标机的ROM。

ROMEmulator

ROMEmulator的调试方式是一种不彻低的调试方式:ROMEmulator设备只是为目标机提供ROM芯片和在Target和Host间建立一条高速的通信通道,因此它常常和前面两种调试方式结合起来形成一种完备的调试方式。ROMEmulator的典型应用就是和ROMMonitor的调试方式相结合。

ROMEmulator

·

优点目标机可以没有ROM芯片、可以使用ROMEmulator提供的ROM空间且不需要用别的工具来写ROM。缺点目标机必需能支持外部ROM存储空间,而且因为其通常要和ROMMonitor协作使用,因此它拥有ROMMonitor的全部缺点。

ICE

ICE(In-CircuitEmulator)是一种用于替代目标机上CPU的设备,即在线仿真器。它比普通的CPU有更多的引出线,能够将内部的信号输出到被控制的目标机。ICE上的Memory也可以被映射到用户的程序空间,这样即使目标机不存在的情形下也可以举行代码的调试。ICE

衔接ICE和目标机时,普通是将目标机的CPU取下,而将ICE的CPU引出线接到目标机的CPU插槽。用ICE举行调试时,在Host端运行的调试器通过ICE来控制目标机上运行的程序。

宿主开发平台

ICE调试结构调试结构

目标平台

·

ICE

ICE

功能特点

同时支持软断点和硬件断点的设置设置各种复杂的断点和触发器实时跟踪目标程序的运行,并可实现挑选性的跟踪支持“TimeStamp”允许用户设置“Timer”提供“ShadowRAM”,能在不中断被调试程序的运行下查看内存和变量即非干扰调试查询

ICE

适用于:

1)2)3)4)

调试实时的应用系统调试设备驱动程序对硬件举行功能和性能的测试实时性能分析(

缺点:

1)2)

价格太昂贵,不利于团队开发所仿CPU有限

OCD

OCD(OnChipDebugging)是CPU芯片提供的一种调试功能(片上调试),可以认为是一种便宜的ICE功能:OCD的价格惟独ICE的20%,但提供了ICE80%的功能。

宿主机调试器

目标机

规律上的衔接

!

被调试程序

Windows或其它桌或其它桌面操作系统PC机等硬件机等硬件仿真器物理衔接并口、并口、串口或网络接口为特定处理器而建筑

OCD接嵌入式接硬件口

针形衔接器

OCD调试结构调试结构

OCD

调试办法

1)2)3)

]

将CPU的模式分为普通模式和调试模式普通模式下,CPU从内存读取指令执行调试模式下,CPU首先从调试端口读取指令,通过调试端口可以控制CPU进入和退出调试模式;Host端的调试器可以直接向目标机发送要执行的指令,读写目标机的内存和各种寄存器,控制目标程序的运行以及完成各种复杂的调试功能。

OCD

优点

1)2)3)4)5)

不占用目标机的资源调试环境和终于的程序运行环境基本全都支持软硬断点、Trace功能精确计量程序的执行时光提供时序分析功能

OCD

缺点

1)调试的实时性不如ICE2)不支持非干扰调试查询3)CPU必须具有OCD功能

;

OCD

存在各种实现

BDM(BackgroundDebuggingMode)JTAG(JointTestAccessGroup)(主流方式)()(主流方式)(主流方式)OnCE(OnChipEmulation)

各种OCD仿真器实例

边界扫描技术(JTAG)

JTAG——标准测试拜访接口与边界扫描结构(StandardTestAccessPortandBoundaryScanArchitecture),已被标准所采用,是面对用户的测试接口。该接口普通由4个引脚组成:

测试数据输入(TDI)测试数据输出(TDO)测试时钟(TCK)测试模式挑选引脚(TMS)异步测试复位引脚(TRST,可选)

~

边界扫描技术(JTAG)

优点

可以通过边界扫描操作测试囫囵板的电气衔接,特殊为表面贴元件提供便利各个引脚信号的采样,并可强制引脚输出用以测试外围芯片可以软件下载、执行、调试和控制,为复杂的实时跟踪调试提供路径可以举行多内核和多处理器的板级和芯片级的调试,通过串接,为芯片创造商提供芯片生产、测试的途径不占用系统资源,能够调试没有外部总线的芯片,代价十分小

边界扫描技术(JTAG)

缺点

通过串口依次传递数据,速度比较慢只能举行软件断点级别的调试不能完成实时跟踪和多种大事触发等复杂调试功能

几种增加版本

ARM芯片的实时调试计划(E-TRACE)背景调试模式BDM片上仿真OnCE

'

Nexus标准

提出一个在JTAG之上的嵌入式处理器调试的统一标准将调试开发分成四级

第一级使用JTAG的容易静态调试;其次级支持编程跟踪和实时多任务的跟踪,并允许用户用I/O引脚作为多路复用辅助调试口;第三级包括处理器运行时的数据写入跟踪和存储器的读写跟踪;第四级增强了存储替换并触发复杂的硬件断点。

Nexus标准

通过Nexus标准可以解决以下问题

调试内部总线没有引出的处理器,如含有片内存储器的芯片传统在线仿真器无法实现的高速调试深度流水线和有片上Cache的芯片,能够探测详细哪条指令被取指和终于执行可以稳定地举行多内核处理器的调试

Simulator

交错开发方式存在如下缺点:硬件支持必需有目标机或评估板易使用性一般编程人员不认识便宜性成本高不高可移植性、可扩展性团队开发较难开发周期较长

\

Simulator

一种软件仿真器,在宿主机上创建一个虚拟的目标机环境,再将应用系统下载到这个虚拟目标机上运行/调试。软件仿真的对象

仿真处理器仿真外设仿真环境

软件仿真的级别

指令级仿真开发API级仿真开发

用户IDE应用编程接口API目标操作系统库TOSLib编辑:C、C++编译、链接调试通信虚拟目标环境仿真调试代理EDA应用系统虚拟目标硬件V-Target

宿主机OS应用仿真开发环境暗示图应用仿真开发环境暗示图

设计

/

编码仿真库仿真编译

N

仿真调试

正确

Y

运行库

编译链接

下载

·

交错调试固化运行

调试

固化

测试

结合了仿真的软件开发过程

运行维护

Simulator

优点最大益处就是可以不用真正的目标机,可以在目标机环境并不存在的条件下开发目标机上的应用系统,并且在调试时可以利用Host资源提供更具体的错误诊断信息。

Simulator

缺点1)和实际的运行环境差别很大

2)3)4)

设备模拟的局限性较大实时特性较差对Host的资源要求较高适用范围对时光特性没有严格要求、没有特别外设、只需要验证规律正确的应用程序。

嵌入式软件的测试

测试工具:能够用来辅助测试的工具,主要用来支持测试人员的工作,本身不能直接用来举行测试。测试工具普通都是通用工具,测试人员应当按照实际状况对它们举行适当的调节。嵌入式软件测试中常常用到的测试工具有:

内存分析工具性能分析工具笼罩分析工具缺陷跟踪工具等

嵌入式软件的测试

/

内存分析工具

嵌入式系统的内存资源通常是受限的,内存分析工具可以用来处理在举行动态内存分配时产生的缺陷。当动态分配的内存被错误地引用时,产生的错误通常难以再现,浮现的失效难以追踪,使用内存分析工具可以很好地检测出这类缺陷。目前常用的内存分析工具有软件和硬件两种:

基于软件的内存分析工具可能会对代码的执行性能带来很大影响,从而影响系统的实时性;来很大影响,从而影响系统的实时性;基于硬件的内存分析工具对系统性能影响小,基于硬件的内存分析工具对系统性能影响小,但价格昂贵,并且只能在特定的环境中使用。昂贵,并且只能在特定的环境中使用。

嵌入式软件的测试

性能分析工具

嵌入式系统的性能通常是一个十分关键的因素,开发人员普通需要对系统的某些关键代码举行优化来改进性能。性能分析工具

可以提供有关数据,可以提供有关数据,协助确定哪些任务消耗了过多的执行时光,了过多的执行时光,从而可以打算如何优化软件,以获得更好的时光性能。软件,以获得更好的时光性能。引导开发人员发觉在系统调用中存在的错误以及程序结构上的缺陷。以及程序结构上的缺陷。

嵌入式软件的测试

~

笼罩分析工具

在举行白盒测试时,可以使用代码笼罩分析工具追踪哪些代码被执行过分析过程普通通过插桩来完成,插桩可以是在测试环境中嵌入硬件,也可以是在可执行代码中加入软件,或者是两者的结合。开发人员通过对分析结果举行总结,可以确定哪些代码被执行过,哪些代码被遗漏了。目前常用的笼罩分析工具普通都提供有关功能笼罩、分支笼罩、条件笼罩等信息。

笼罩分析工具实例

测试工具实例:规律分析仪

工作机理:在不打断被测程序运行流程的基础上,对程序运行中的相关信息举行采集和分析,然后通过真切再现程序运行的规律流程和分析程序运行数据,协助用户优化系统设计和解决浮现的问题。与调试工具的对照

调试器:调试器:照相机规律分析仪:规律分析仪:摄像机

测试工具实例:规律分析仪

主要功能:

真切再现程序运行流程发觉系统死锁及软件造成的死机发觉系统内存泄漏指导对任务的合理划分指导关键路径设计与验证指导合理分配任务堆栈CPU使用率统计指导合理设计中断服务程序

测试工具实例:规律分析仪

嵌入式应用软件运行的规律流程

测试工具实例:规律分析仪

系统堆栈使用率分析

嵌入式软件的固化运行

当调试完成之后,程序代码需要被彻低烧入到目标板的非易失性存储器(如ROM或闪存)中,并且在真切的硬件环境上运行,这个过程叫做固化。调试环境与固化环境的区分:代码定位不同初始化部分不同

:

嵌入式软件的固化运行

阶段编译链接调试环境

目标文件需要调试信息应用系统目标代码不需要Boot应用系统目标代码不需要Boot模块,模块,此模块已由目标板上的监控器程序实现。监控器程序实现。程序的全部代码段、程序的全部代码段、数据段都依次被定位到调试空间的RAM依次被定位到调试空间的RAM中。

宿主机上的调试器读入被调试文件,宿主机上的调试器读入被调试文件,并将其下载到目标机上的调试空间中,目标机掉电后全部信息所有走失。被调试程序在目标监控器的控制下运行,并与后者分享某些资源,运行,并与后者分享某些资源,如CPU资源、RAM资源以及通信设备如串口、网口等)资源。(如串口、网口等)资源。

固化环境

目标文件不需要调试信息应用系统目标代码必需以Boot应用系统目标代码必需以Boot模块作为入口模块。模块作为入口模块。程序的各规律段根据其不同的属性分离定位到非易失性存储空间(ROM)或RAM中。空间(ROM)RAM中

在宿主机上利用固化工具将可固化的应用程序写入目标机的非易失性存储器中,存储器中,目标机掉电后信息不走失。

定位

下载

运行

程序在真切的目标硬件环境上运行

嵌入式软件的固化运行

Boot模块:当应用程序在真切的目标环境下运行时将首先执行该程序,它至少由系统加电时执行的代码组成。BootBoot模块的主要功能:初始化CPU环境,使目标CPU机硬件到已知的状态

初始化芯片的引脚初始化系统外部控制寄存器初始化基本输入输出设备初始化MMU,包括片选控制寄存器等执行数据拷贝

嵌入式软件开发工具进展趋势

向着开放的、集成化的方向进展具有系统设计、可视化建模、仿真和验证功能自动生成代码和文档具有更高的灵便性

其次节嵌入式系统开发模式

概述处理器及硬件开发平台的选定操作系统选定开发环境选定

嵌入式系统开发模式概述

最大特点:软硬件综合开发。最大特点:软硬件综合开发。缘由:缘由:

1)嵌入式产品是软硬件的结合体软件针对硬件开发、固化,2)软件针对硬件开发、固化,不能举行随意修改

系统定义时期系统总体设计硬件设计制作

No

软件设计实现

软硬件集胜利能性能测试符合要求

Yes

嵌入式系统开发过程

产品

系统总体设计

系统总体框架

软硬件划分

处理器选定

"

操作系统选定

开发环境选定

硬件设计制作

功能模块图设计硬件概要设计规律电路图设计硬件具体设计

PCB设计与制作

硬件制作

PCB测试

硬件测试

<

软件设计实现

软件概要设计软件具体设计软件实现软件测试

软硬件协同开发

通常的嵌入式系统开发

嵌入式软件开发嵌入式系统集成、测试、集成、测试、验证

嵌入式硬件开发

软/硬件协同开发

嵌入式软件开发

}

嵌入式系统协同设计、测试、协同设计、测试、验证

嵌入式硬件开发

处理器及硬件开发平台的选定

挑选依据:应用的类型及I/O接口主频及功耗对不同类型存储器的支持封装产品生命力和厂家实力、技术支持及第三方软件的支持硬件开发平台的挑选

操作系统选定

挑选依据:挑选嵌入式OS的须要性自建、购买或使用开源软件对嵌入式操作系统的功能、性能要求与硬件平台和开发工具的关系行业标准技术支持版税或服务费

操作系统与硬件平台的关系

操作系统应支持选定的硬件平台假如不支持,需考虑移植工作

不同类型嵌入式微处理器之间的移植:任务上下文切换、时钟、中断等同类型微处理器但不同类型硬件板之间的移植:硬件接口及设备驱动程序

操作系统与开发工具的关系

工具是否能为基于特定操作系统的应用开发提供最大支持:

运行库与OS相结合提供给用工程创建和管理功能,构建基于特定操作系统的应用框架对操作系统的剪裁与配置提供高级调试功能提供配套的应用规律分析工具、笼罩测试工具等

开发环境及工具选定

对硬件平台的支持所使用的编程语言

C/C++汇编语言JAVA……

与嵌入式操作系统的关系

第三节实时软件分析设计办法

DARTS分析设计办法分析设计办法

DARTS分析设计办法

嵌入式实时软件系统的生存周期需求分析与说明系统设计-DARTS设计办法

数据流分析划分任务定义任务接口

任务设计模块构筑任务与系统集成

嵌入式实时软件系统的生命周期

需求分析与具体说明系统设计

:

任务分解,任务分解,定义任务间接口关系

任务设计

按模块方式设计每个任务,定义模块间接口按模块方式设计每个任务,

模块构筑

完成每个模块的具体设计、完成每个模块的具体设计、编码和单元测试

任务与系统集成系统测试

实例说明——机器人控制器系统机器人控制器系统

控制设备由内部控制器和外部控制面板组成控制器控制六个转并与数字I/O轴,并与数字I/O传感器交互作用。传感器交互作用。转轴和I/O由程序转轴和I/O由程序I/O控制该程序由控制面板操作启动执行

'

手动上电运行停止断电结束

程序挑选

控制面板

控制执行过程

按下“上电”按钮,系统进入了上电状态。按下“上电”按钮,系统进入了上电状态。上电胜利后,系统进入了手动状态。此时,上电胜利后,系统进入了手动状态。此时,操可以通过程序挑选开关程序挑选开关挑选程序可以通过程序挑选开关挑选程序按下“运行”按钮,则选定的程序开头运行,按下“运行”按钮,则选定的程序开头运行,系统转为运行态。系统转为运行态。程序运行中假如按下“停止”程序运行中假如按下“停

止”键,程序被挂起。程序被挂起。之后,操可以按下“运行”之后,操可以按下“运行”键,使程序恢复执行,也可按下“结束”结束程序。复执行,也可按下“结束”键,结束程序。按下“结束”键后,系统进入终止态。按下“结束”键后,系统进入终止态。当程序终于终止执行时,系统返回手动状态。终于终止执行时,系统返回手动状态。

需求分析与说明

断电态上电通电态上电胜利断电程序挑选程序终止终止态手动态启动结束启动停止运行态

挂起态

状态变迁图

系统设计

系统设计说明该系统如何被分解成多个任务,如何定义任务间的关系任务划分办法——DARTSDARTS设计办法

DARTS设计办法设计办法

数据流分析:每个数据流图都包含:

变换圈,表示系统完成的功能箭头,表示变换间的数据流淌数据存储区,表示数据的存储场所数据字典,定义了数据流和数据存储区所包含的数据项

按下按钮

程序读面板输入解释程序各语句运行开头结束有效的面板输入处理面板输入动作命令处理动作命令动作块I/O命令处理I/O命令命令输入传感器值读传感器传感器输入

面板输入面板输入有效性检查

传感器输出向传感器输出输出

面板输出显示灯输出到面板

运行停止重启动输出动作轴数据

动作确认接收确认轴确认

轴块轴控制器轴输入轴输出

机器人控制器数据流图

DARTS设计办法设计办法

#

划分任务就是识别出并行性的功能需要考虑的是系统内功能的异步性。分析数据流图中的变换,确定哪些变换可以并行,哪些变换本质上是挨次的。一个任务可对应一个变换,也可对应多个变换。

DARTS设计办法设计办法

划分任务原则

I/O依靠性功能的时光关键性计算需求功能内聚时光内聚周期执行

I/O依靠性

DeviceI/OTask

假如变换依靠于I/O,速度受限I/O,可自立成任务在系统中创建与I/O设备数目相当的I/O任务I/O任务只实现与设备相关的代码I/O任务的执行只受限于I/O设备的速度,而不是处理器在任务中分别设备相关性

功能的时光关键性

,

event1Task1event2Task3Task2deadline1deadline2Task3将有时光关键性(deadline)的功能分别出来,组成自立运行的任务给予这些任务高的优先级,以满足对时光的需要

计算需求

计算量大的功能占用CPU的时光多,把计算功能捆绑成任务,以消耗CPU的剩余时光给予计算任务较低优先级,能被高优先级的任务抢占,保持高优先级的任务是轻量级的多个计算任务可支配成同优先级,按时光片循环轮转

功能内聚

event1F1(x)+F3(x)event2F2(x)

将紧密相关的功能变换组成一个任务,削减通信的开销把每个变换都作为同一任务中一个个自立的模块,不仅保证了模块级的功能内聚,也保证了任务级的功能内聚时光内聚

eventClockTickF1(x)+F2(y)+F3(z)F4(x)+F5(y)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论