嵌入式系统导论课件 Lecture3 嵌入式系统设计方法_第1页
嵌入式系统导论课件 Lecture3 嵌入式系统设计方法_第2页
嵌入式系统导论课件 Lecture3 嵌入式系统设计方法_第3页
嵌入式系统导论课件 Lecture3 嵌入式系统设计方法_第4页
嵌入式系统导论课件 Lecture3 嵌入式系统设计方法_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

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

文档简介

嵌入式系统的开发方法1324传统的嵌入式系统开发方法

模型驱动的嵌入式系统开发方法嵌入式系统的软硬件协同设计

信息-物理融合的嵌入式开发方法5嵌入式系统的测试技术问题:功能、性能要求价格、开发周期等约束设计:

选择折衷分析比较计算评价嵌入式系统传统的嵌入式系统开发方法方法工具嵌入式系统开发内容提出问题,系统规划选用适合的系统分方法,并找到相应的支持与辅助工具需求分析设计说明体系结构设计构件开发系统集成自顶向下设计自底向上设计嵌入式系统分析方法Top——DownDown——Top传统的嵌入式系统开发方法传统的嵌入式系统开发方法系统概念系统硬件需求分析系统软件需求分析运行测试分析评估软件需求分析概要设计详细设计编码及测试软件开发软硬件集成测试CSCI测试系统集成集成测试硬件需求分析概要设计详细设计布线.硬件开发嵌入式系统开发模型军用嵌入式系统软件开发规范DOD-STD-2167A嵌入式系统快速原形开发流程软硬件设计分离目标机/运行平台开发应用软件开发交叉编译传统的嵌入式系统开发方法系统集成仿真测试固化软件产品发布系统定义软件设计VIRTUALPROTOTYPE重用设计库或数据PrimarilysoftwarePrimarilyhardware代码实现功能设计软硬件划分硬件设计硬件FAB系统集成与测试系统设计传统的嵌入式系统设计过程传统嵌入式系统开发方法的基本特征:系统在一开始就被划分为软件和硬件两大部分软件和硬件独立进行开发设计“Hardwarefirst”approachoftenadopted问题:软硬件之间的交互受到很大限制软硬件之间的相互性能影响很难评估系统集成相对滞后,NRE较大NRE(NonRecurrentExpense)—集成电路生产成本中非经常性发生的开支结果Poorqualitydesigns(设计质量差)Costlymodifications(设计修改难)Scheduleslippages(研制周期不能有效保障)嵌入式系统开发模式——宿主机/目标机嵌入式应用软件的开发需要借助软硬件和人机接口功能丰富的启发计算机进行传统的嵌入式系统开发方法嵌入式系统开发模式——宿主机/目标机目标机执行嵌入式应用软件的硬件平台根据系统的性能和功能需求进行定制一般不具备软件系统的开发能力传统的嵌入式系统开发方法嵌入式系统开发模式——宿主机/目标机宿主机承当嵌入式应用软件开发的计算机一般的PC机、工控机、笔记本计算机装有完成嵌入式应用软件开发所需的开发环境源代码编辑、编译、连接和调试等开发工具传统的嵌入式系统开发方法嵌入式系统开发模式——宿主机/目标机交叉编译宿主机通过穿/并口或网络与目标及通信通过交叉编译声称能够在目标机运行或调试的可执行代码目标机运行或调试结果反馈到宿主机上显示传统的嵌入式系统开发方法嵌入式系统快速原型开发的基本要素系统定义(需求分析)软硬件划分结构规划–处理器类型,软硬件之间的接口类型,等.划分目的–满足系统速度,延迟,体积,成本等方面的要求.划分策略-highlevelpartitioningbyhand,automatedpartitioningusingvarioustechniques,etc.调度OperationschedulinginhardwareInstructionschedulingincompilersProcessschedulinginoperatingsystems软硬件设计过程中的建模嵌入式系统的开发方法1324传统的嵌入式系统开发方法

模型驱动的嵌入式系统开发方法嵌入式系统的软硬件协同设计

信息-物理融合的嵌入式开发方法5嵌入式系统的测试技术嵌入式系统的软硬件协同设计嵌入式系统应用软件与硬件关联度很大软硬件分离的传统设计方法问题需反复对软硬件之间的关联功能和性能设计进行实验和修改设计周期长经常返工,开发成本大硬件优先的传统设计方法带来软硬件开发间的矛盾使得软硬件设计中的一些错误将使开发过程付出昂贵的代价“Hardwarefirst”approachoftencompounds

softwarecostbecausesoftwaremustcompensateforhardwareinadequacies)软硬件协同设计定义Themeetingofsystem-levelobjectivesbyexploitingthetrade-offsbetweenhardwareandsoftwareinasystemthroughtheirconcurrentdesign通过同时设计嵌入系统来达成系统中的软件和硬件平衡,进而满足系统级的设计目标主要概念并发(Concurrent):hardwareandsoftwaredevelopedatthesametimeonparallelpaths一体化(Integrated):interactionbetweenhardwareandsoftwaredevelopmentstoproducedesignsthatmeetperformancecriteriaandfunctionalspecifications嵌入式系统的软硬件协同设计软硬件协同设计的基本需求统一的软硬件描述方式软硬件支持统一的设计和分析工具(技术)允许在一个集成环境中仿真(评估)系统软硬件设计支持系统任务在软件和硬件设计之间的相互移植交互式软硬件划分技术允许多个不同的软硬件划分设计进行仿真和比较辅助最优系统实现方式决策将软硬件划分应用到模块设计,以便最佳地实现系统的设计指标Partitioningappliedtomodulestobestmeetdesigncriteria(功能和性能目标达成)嵌入式系统的软硬件协同设计传统的嵌入式系统开发方法嵌入式系统协同设计模型系统概念系统硬件需求分析系统软件需求分析运行测试分析评估软件需求分析概要设计详细设计编码及测试软件开发软硬件集成测试CSCI测试系统集成集成测试硬件需求分析概要设计详细设计布线.硬件开发协同设计VIRTUALPROTOTYPE重用设计库或数据PrimarilysoftwarePrimarilyhardware系统定义软件设计代码实现功能设计软硬件划分硬件设计硬件FAB系统集成与测试系统设计软硬件协同设计软硬件协同设计过程在系统设计的每一步都是软件和硬件一起协同考虑在设计阶段对系统的软硬件特性进行验证嵌入式系统的软硬件协同设计嵌入式系统的软硬件协同设计软硬件协同过程中的多层次综合系统划分软件综合硬件综合接口综合系统综合划分优化迭代开发系统需求描述系统综合嵌入式系统的软硬件协同设计基于软硬件协同设计的嵌入式系统开发流程系统结构设计功能设计与验证性能分析硬件设计设计验证设计优化软件设计软件验证仿真测试系统综合仿真测评优化软硬件协同设计硬件设计工具(EDA工具)系统级设计工具Cadence的SPWSystemView模拟电路系统仿真工具PspiceEWBPCB设计工具ProtelPADs

的PowerPCB&ToolKitMentor的Expedition&ToolKit可编程逻辑器件设计工具MentorFPGAAdvantage&ModelSimXilinxFoundationISE&ToolKit各种综合和仿真第三方工具软硬件协同设计的优势在设计初始阶段就可进行软硬件交互设计和调整Providescontinualverificationthroughoutthedesigncycle(贯穿整个设计周期)SeparateHW/SWdevelopmentpathscanleadtocostlymodificationsandscheduleslippages(软硬件分离设计导致代价昂贵的纠错成本和开发进度的下降)关键技术进步使得软硬件交互设计变得简单起来可编程逻辑综合技术器件接口技术功能模型描述技术构件化开发方法模型化系统设计方嵌入式系统的设计方法1324传统的嵌入式系统开发方法

模型驱动的嵌入式系统开发方法嵌入式系统的软硬件协同设计

信息-物理融合的嵌入式开发方法5嵌入式系统的测试技术HelenGatesfromNSFin2006

Cyber-physicalsystemswilltransform

howwe

interactwiththephysicalworldjustliketheInternet

transformedhowweinteractwithoneanotherEdwardA.LeefromUCBerkeleyCyber-PhysicalSystems(CPS)areintegrationsofcomputationandphysicalprocessesEmbeddedcomputerandnetworksmonitorandcontrolthephysicalprocess,usuallywithfeedbackloopswherethephysicalprocessaffectcomputationsandvicevisa信息-物理融合的嵌入式开发方法信息-物理融合的嵌入式开发方法信息物理融合系统(Cyber-PhysicalSystem,

)是嵌入式系统的高级阶段CPS是一个综合计算过程和物理过程的复杂系统CPS通过计算技术、通信技术和控制技术的有机融合与深度协作,实现信息世界与物理世界的紧密融合BodyNetworksRoadandStreetNetworksBattlefieldNetworksVehicleNetworksIndustrialNetworksBuildingNetworksEnvironmentalNetworksCPSComputinginPhysicalsystemCyberforPhysicalsystemCyber-PhysicalSystems信息-物理融合的嵌入式开发方法CPS系统特征CPS系统是一种融合嵌入式计算机、网络通信与开环反馈控制新型复杂嵌入式系统计算系统中计算过程和物理过程在开放环境下持续交互、相互作用和深度融合信息-物理融合的嵌入式开发方法CPS系统特征集成了离散的计算过程与连续的物理过程二者持续交互,紧密耦合,相互作用和影响物理过程是时间依赖、并发、连续的,往往不可逆,但可模拟计算过程是离散的,可调度顺序执行计算过程的设计是时间无关,对物理意义的变量进行离散处理,希望可重用、可回放将力矩作为输入,与输出角速度关系信息-物理融合的嵌入式开发方法计算过程

实时性/时序

可靠性安全性保密性验证方法模型检查定理证明软件测试物理过程

因果性

无记忆性线性和时间不变量稳定性分析方法数字仿真物理实验综合描述计算过程与物理过程的属性融合信息-物理融合的嵌入式开发方法多尺度的CPS系统模型设计与模型综合系统的体系结构框架模型(物理过程+计算过程)CPS计算实体与物理环境的交互行为模型单一计算实体及其对应物理过程监控与演化模型异构CPS系统的计算实体网络通信及控制模型计算环境交互接口计算实体模型物理实体模型交互实体模型物理应用单元规约、物理实体接口定义、物理实体接口特性计算软构件规约、运行平台接口定义、软硬件绑定机制和接口特性环境感知与控制感知与控制单元定义及其信息流、控制流、实时通信网络、网络化控制策略信息-物理融合的嵌入式开发方法ICP处理机硬件平台综合核心处理机硬件平台实时容错操作系统综合核心处理机软件平台1553B总线专用计算机专用计算机专用计算机专用计算机专用计算机专用计算机专用计算机专用计算机专用计算机1专用计算机2专用计算机专用计算机专用计算机专用计算机1553B总线航空电子CPS系统举例管理软件管理软件管理软件管理软件管理软件管理软件管理软件管理软件管理软件管理软件管理软件管理软件管理软件管理软件核心综合处理机(ICP)平台任务软件惯导软件DTE软件采集器软件雷达外挂无源干扰电子对抗显控显控通讯导航识别大气处理NAMP监控飞行控制实时容错操作系统系统管理任务软件◆各种传感器信息融合◆导弹发射申请◆图象融合处理◆自动目标提示◆无源测距◆发射控制◆传感器管理◆通信管理◆协同工作火控/武器分离◆悬挂管理,干扰弹投放◆导航 ◆航路规划管理◆飞行员操纵提示◆航路再规划◆任务评估◆战术管理 ◆嵌入培训◆响应管理 ◆构形管理雷达◆信号处理◆数据处理◆雷达管理电子战◆信号处理◆数据处理◆电子战管理通信导航识别◆信号处理◆数据处理◆CNI管理分布式红外传感器◆态势感知◆导弹威胁告警◆前视红外导航前视红外探测器◆指定◆测向预兆和健康管理◆任务系统区域管理应用功能综合化地面开发环境航空电子CPS系统举例ICP处理机硬件平台综合核心处理机硬件平台实时容错操作系统综合核心处理机软件平台前视红外探测器◆指定◆测向分布式红外传感器◆态势感知◆导弹威胁告警◆前视红外导航任务软件◆各种传感器信息融合◆导弹发射申请◆图象融合处理◆自动目标提示◆无源测距◆发射控制◆传感器管理◆通信管理◆协同工作火控/武器分离◆悬挂管理,干扰弹投放◆导航 ◆航路规划管理◆飞行员操纵提示◆航路再规划◆任务评估◆战术管理 ◆嵌入培训◆响应管理 ◆构形管理通信导航识别◆信号处理◆数据处理◆CNI管理预兆和健康管理◆任务系统区域管理电子战◆信号处理◆数据处理◆电子战管理雷达◆信号处理◆数据处理◆雷达管理窄带公共射频系统雷达多功能阵列宽带公共射频系统通信导航识别孔径电子战孔径前视红外探测器分布式红外传感器悬挂接口单元对抗控制(电子战分系统分系统)综合核心处理机CPS系统的可靠性与可预测性分析物理世界中,由不健壮个体可以组成可靠的系统蚁群、蜂群在计算过程中,即便每一个部件可靠,组装成系统也不能保证可靠智能电网的控制与管理系统CPS系统的集成中如何预置可监控系统演化的部件,提高系统的预测能力32信息-物理融合的嵌入式开发方法P基于模型的CPS系统仿真测试验证代码与模型的一致性验证物理功能的正确性验证物理与信息融合程度信息-物理融合的嵌入式开发方法嵌入式系统的开发方法1324传统的嵌入式系统开发方法

模型驱动的嵌入式系统开发方法嵌入式系统的软硬件协同设计

信息-物理融合的嵌入式开发方法5嵌入式系统的测试技术模型驱动的嵌入式软件开发方法模型是软件的另外一种普适性的存在形态Everythingismodelwhichcandescribesanyartifactofsoftware模型驱动架构(ModelDrivenArchitecture,MDA)2001年3月OMG(ObjectManagementGroup)提出的一个基于UML以及其它工业标准的软件开发框架(framework)支持软件设计和模型的可视化、存储和交换MDA

也是一种软件方法学又称为模型驱动方法(

ModelDrivenApproach,MDA)模型驱动开发(Model-DrivenDevelopment,MDD)软件设计与代码实现融为一体,并且过程是可逆的模型驱动的嵌入式软件开发方法模型驱动架构开始于应用模型研究,提炼计算无关模型CIMComputationIndependentMode确立系统的领域模型(DomainModel)以及它们之间的关系抽象出一个平台无关模型PIMPlatformIndependentModel描述个业务逻辑中的计算关系(构件、组装)研究应用模型的实现和应用模式形成平台相关模型PSMPlatformSpecificModel

开发平台:.net或J2EE运行平台(windows或unix)采用软件代码生成工具生成相应的软件系统模型驱动的嵌入式软件开发方法模型驱动开发(Model-DrivenDevelopment,MDD)使用模型驱动框架完成一个软件开发过程,根据模型实现系统表现层、业务服务层和持久层SystemCodesCIMRequirement模型驱动的嵌入式软件开发方法

MDA的开发流程与传统的软件开发方法的区别

统一建模语言UMLUnified

Model

LanguageUML是MDA的基础及思想来源UML被MDA用来描述各种模型UML是目前最为流行的建模语言UML已经占据了全球建模语言领域90%的市场份额UML是面向对象软件技术思想的集中体现已成为软件建模语言事实上的工业标准模型驱动的嵌入式软件开发方法UML由5类图来设计系统模型用例图:从用户的角度描述系统功能,指出各功能的操作者静态图:包括类图、对象图和包图行为图:描述系统的动态模型和组成对象间关系:活动图、状态图交互图:描述对象间交互关系:合作图、时序图实现图:包括组件图和配置图模型驱动的嵌入式软件开发方法模型驱动的嵌入式软件开发方法SEA针对嵌入式软件对硬件运行环境的依赖性,提出架构分析与设计语言AADL对嵌入式系统架构建模AvionicAnalysis&DesignlanguageArchitectureAnalysis&Designlanguage2024/6/4

西工大陕西省嵌入式系统技术重点实验室422024/6/4

西工大陕西省嵌入式系统技术重点实验室42AADL架构分析与设计语言—AS5506技术规范是一种模型驱动的嵌入式系统设计与分析技术,可用于设计嵌入式系统的软件构件、硬件构件和应用系统分析实时嵌入式系统非功能属性建立了软件构件与硬件构件之间的映射关系categorycomponentabstractionapplicationsoftwareProcess、Thread、threadgroup、datasubprogramexecutionplatform(hardware)Processor、memory、device、buscompositesystem模型驱动的嵌入式软件开发方法2024/6/4

西工大陕西省嵌入式系统技术重点实验室43AADL图形化表示模型驱动的嵌入式软件开发方法2024/6/4

西工大陕西省嵌入式系统技术重点实验室442024/6/4

西工大陕西省嵌入式系统技术重点实验室44AADL架构提供了定义嵌入式系统所需要的手段系统静态结构端口(Port)连接(Connection)属性(Property)架包(Package)系统交互行为特征(Feature)模态(Mode)流(Flow)软件构件与硬件构件之间的映射关系:Binding语言扩展附件——Annex,Errormodel,Behaviormodel模型驱动的嵌入式软件开发方法2024/6/445模型驱动的嵌入式软件开发方法一个AADL构件由type和implementation进行层次化定义模型驱动的嵌入式软件开发方法一个AADL软件构件定义例子process

control_processingfeaturesinput:indataportsensor_data;output:outdataportcommand_data;end

control_processing;processimplementationcontrol_processing.speed_controlsubcomponentscontrol_input:threadcontrol_in.input_processing_01;control_output:threadcontrol_out.output_processing_01;end

control_processing.speed_control;thread

control_inend

control_in;threadimplementationcontrol_in.input_processing_01endcontrol_in.input_processing_01;thread

control_outend

control_out;threadimplementationcontrol_out.output_processing_01endcontrol_out.output_processing_01;data

sensor_dataend

sensor_data;data

command_dataend

command_data;模型驱动的嵌入式软件开发方法一个AADL软件构件定义例子TextualRepresentationGraphicalRepresentationprocessorIntel_RTOSfeaturesA1553:requiresbusaccessX_1553.HS_1553;end

Intel_RTOS;deviceRoll_Rate_SensorfeaturesA1553:requiresbusaccessX_1553.HS_1553;raw_roll_rate:outdataport;end

Roll_Rate_Sensor;模型驱动的嵌入式软件开发方法一个AADL硬件构件定义例子device

brake_pedalfeaturesbrake_event:outeventdataportfloat_type;flowsFlow1:flowsourcebrake_event;end

brake_pedal;system

cruise_controlfeaturesbrake_event:ineventdataport;throttle_setting:outdataportfloat_type;flowsbrake_flow:flowpathbrake_event->throttle_setting;end

cruise_control;devicethrottle_actuatorfeaturesthrottle_setting:indataportfloat_type;flowsFlow1:flowsinkthrottle_setting;end

throttle_actuator;模型驱动的嵌入式软件开发方法一个AADL交互行为定义例子一条短到端的流systemimplementationcruise_control_system.implsubcomponentsdriver_input_unit:device

driver_input_unit;speed_sensor:device

speed_sensor;CCU:system

CCU_system;throttle_actuator:device

throttle_actuator;M555:processorM555;CANBus:bus

CANBus.impl;connectionsbus_access_01:busaccessCANBus->driver_input_unit.bus_access;bus_access_02:busaccessCANBus->speed_sensor.bus_access;bus_access_03:busaccessCANBus->throttle_actuator.bus_access;bus_access_04:busaccessCANBus->M555.bus_access;endcruise_control_system.impl;…模型驱动的嵌入式软件开发方法一个AADL软件构件与硬件构件binding的组成系统的例子嵌入式系统的开发方法1324传统的嵌入式系统开发方法

模型驱动的嵌入式系统开发方法嵌入式系统的软硬件协同设计

信息-物理融合的嵌入式开发方法5嵌入式系统的测试技术52软件测试的概念错误(Error)Incorrectimplementationintosoftwareartifactsamongsoftwaredevelopingpocesses缺陷(Fault)Anincorrectdefinitionorprocessinthesoftware失效(Failure)Anobservableviolationagainstthespecifications嵌入式系统的测试技术53Errors,FaultsandFailures之间的关系M.Roper:“Whendevelopingsoftware,peoplemakeerrors,thesebecomefaultsinthesoftwarewhichthenmanifestthemselvesasfailureswhenthesoftwareisrun.”“Oneerrormayleadtoseveraldifferentfaults,eachofwhichinturnleadstoseveraldifferentfailures.”嵌入式系统的测试技术54软件的确认与验证ValidationandVerification:Validation–Arewebuildingtherightproduct?Verification–Arewebuildingtheproductright?——fromBoehm嵌入式系统的测试技术55Costoffixingafault软件的验证成本嵌入式系统的测试技术56软件验证的方法DebuggingLocatingandfixingtheerrorTestingAnattempttorevealerrorsProvingProvingthecorrectnessoftheprogram嵌入式系统的测试技术57ComplexityQualityTestingProvingDebugging软件验证方法间关系嵌入式系统的测试技术58测试的主要活动DefinetheobjectivesDesignthetestcasesGeneratethetestcasesExecutethetestcasesAnalyzethetestresults嵌入式系统的测试技术59嵌入式系统的测试技术软件测试的目的软件测试的目的是发现程序中的错误是为了证明软件有错而不是证明软件无错没有查找到错误的实时活动可能是无效的工作嵌入式软件测试的特点由于嵌入式系统自身特点非功能属性高:如实时性、可靠性内存不丰富I/O通道少开发工具昂贵与硬件紧密相关CPU种类繁多嵌入式软件的开发和测试不同于桌面系统开发和测试嵌入式软件测试需要仿真环境支持嵌入式系统的测试技术嵌入式软件测试阶段嵌入式系统使用交叉开发环境,分为宿主机/目标机嵌入式软件测试定义为host-target测试和cross-testing两个阶段嵌入式系统的测试技术Compilation/LinkEditionTargetPackageHostSimulatorEmulatorSpecificTargetExecution报告分析TestReports被测代码测试用例假如测试都在目标机上,看看有什么问题:可能会与开发者争夺时间、资源避免它只有提供更多的目标环境;目标环境可能还不可行;比起主机平台环境,目标环境通常是不精密和不方便;提供给开发者的目标环境和联合开发环境通常很昂贵;开发和测试工作可能会妨碍目标环境已存在持续的应用。嵌入式系统的测试技术2024年6月4日63交叉测试(Host/Target测试)与目标环境无关的部分在PC机上完成充分利用高级语言的可移植性借鉴常规的软件测试方法与模拟测试不同与硬件密切相关的部分在Target上完成需要调试环境支持测试工具需要支持目标环境最后在目标环境中确认主机平台嵌入式系统调试环境嵌入式系统的测试技术2024年6月4日64如何开展交叉测试(Host/Target测试)选用带有目标支持包(TargetPackage)的软件测试工具确定哪些模块与硬件无关,哪些与硬件相关配置相应的调试环境和目标环境分别进行Host和Target测试Host:源代码+测试用例->编译连接->执行->测试结果Target:源代码+测试用例+目标包->编译连接->下载->执行->反馈测试结果交叉测试的嵌入式调试环境SimulatorEmulatorBDM/JTAGEmulator嵌入式系统的测试技术嵌入式软件测试策略单元测试集成测

温馨提示

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

评论

0/150

提交评论