天脉ACoreOS嵌入式实时操作系统入门培训.ppt

上传人:暗伤 文档编号:70027197 上传时间:2023-01-14 格式:PPT 页数:76 大小:2.61MB
返回 下载 相关 举报
天脉ACoreOS嵌入式实时操作系统入门培训.ppt_第1页
第1页 / 共76页
天脉ACoreOS嵌入式实时操作系统入门培训.ppt_第2页
第2页 / 共76页
点击查看更多>>
资源描述

《天脉ACoreOS嵌入式实时操作系统入门培训.ppt》由会员分享,可在线阅读,更多相关《天脉ACoreOS嵌入式实时操作系统入门培训.ppt(76页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、天脉2嵌入式实时操作系统入门培训教程目录2航空软件开发中心核心操作系统和分区调度3分区操作系统和进程调度4分区间通信5健康监控6ARINC653标准1天脉2操作系统概述2应用移植8ARINC653标准(一)ARINC653标准是什么?ARINC Specification 653,Avionics Application Software Standard Interface,Supplement 2.ARINC653是一个用于现代飞机综合化航电系统(IMA)的应用执行标准。3联合方式航电综合化航电系统(IMA)航空数据计算机飞行管理系统航空数据计算机 飞行管理系统 具有分区功能的操作系统AR

2、INC 429ARINC653标准(二)4联合方式航电飞行控制系统飞行管理系统惯性导航系统显示系统导航计算机任务计算机发动机控制系统发动机监控系统火控系统武器控制系统存储管理系统目标计算机雷达系统传感器系统前视红外雷达ARINC653标准(三)5综合化航电系统雷达系雷达系统传感器系感器系统前前视红外雷达外雷达武器控制系武器控制系统存存储管理系管理系统显示系统发动机控制系机控制系统发动机机监控系控系统火控系火控系统飞行控制系统飞行管理系统惯性导航系统ARINC653标准(四)6q目的:解决由于综合化、模块化带来的故障隔离问题。q定义:航电计算机操作系统与应用的通用接口;q作用:标准服务接口,包括

3、:控制调度、通信和获得内部处理单元的信息等;q目标:应用软件可独立开发,运行在同一硬件平台上。ARINC653标准(五)q分为4个部分:lPART 1-Required Services:基本服务lPART 2-Extended Services:扩展服务lPART 3-Confirmity Test Specification:符合性测试规范lPART 4-Subset Services:受限制的服务子集。ARINC653标准(六)qPART 1提供的标准服务接口:l分区管理(2个)l进程管理(14个)l时间管理(5个)l存储管理l分区内通信(23个)l分区间通信(10个)l健康监控(4个)

4、目录9航空软件开发中心核心操作系统和分区调度3分区操作系统和进程调度4分区间通信5健康监控6ARINC653标准1天脉2操作系统概述2应用移植8ACoreOS653基本描述信息描 述名称天脉2机载嵌入式实时操作系统代号ACoreOS653主要功能支持分区管理和调度、分区间通信、健康监控管理、进程管理、时间管理等功能.开发语言C 语言/汇编开发平台LambdaAE 运行平台支持机载常用的Intel 80486及以上系列单核处理器和PowerPC 6xx、7xx、74xx、85xx单核处理器为目标机代码规模 20余万行软件版本V1.0.0重要度等级 关键10ACoreOS653操作系统特点11技术

5、特征技术特征强实时性l中断可嵌套,响应快速中断可嵌套,响应快速lAPPSAPPS实现分区可抢占实现分区可抢占l分区内进程优先级抢占分区内进程优先级抢占l分区按时间表调度分区按时间表调度lWorkWork任务预防阻塞任务预防阻塞可靠性l基于基于MMUMMU的空间隔离的空间隔离l可预防故障蔓延可预防故障蔓延l提供健康监控机制提供健康监控机制l提供错误处理动作提供错误处理动作l强化鲁棒性设计强化鲁棒性设计安全性l按按DO-178B ADO-178B A级要求开发级要求开发l编码符合编码符合GJB 5369-2005GJB 5369-2005l开展开展FTAFTA和和FMEAFMEA分析分析确定性l静

6、态空间配置分配静态空间配置分配l分区调度时间可配置分区调度时间可配置l分区间通信可配置分区间通信可配置l故障处理可配置故障处理可配置l系统运行资源可配置系统运行资源可配置充分验证l基于需求的测试基于需求的测试l失效场景测试失效场景测试l开展开展MC/DCMC/DC测试测试l典型机载设备地面试验典型机载设备地面试验验证和试飞确认验证和试飞确认适应性l支持机载常用处理器支持机载常用处理器l三层栈支持可升级三层栈支持可升级l支持机载常用功能组件支持机载常用功能组件l支持系统、分区级和进程支持系统、分区级和进程级三级调试级三级调试l可裁剪、可定制可裁剪、可定制ACoreOS653体系结构12模块支持层

7、 核心操作系统(CoreOS)可配置组件 文件系统运行时库BIT管理IMAIMA硬件平台硬件平台分区操作系统(PartitionOS)分区操作系统(PartitionOS)分区操作系统(PartitionOS)分区操作系统(Vthread OS)分区操作系统(Posix OS)分区应用1分区应用2分区应用3分区应用4分区应用5分区1分区2分区3分区4分区5调度表管理健康监控分区时/空管理配置数据虚中断管理分区间通信进程管理通信管理时间管理虚中断管理基本概念(一)q分区l软件运行的逻辑单元,包括:软件运行所需的空间资源、时间资源以及分区本身所需具备的资源;l分区包括u空间分区u时间分区13航空软

8、件开发中心基本概念(二)q进程l分区中程序单元l周期、非周期l分区资源q应用l分区中运行的软件l分区-房间、应用-人q虚中断l紧急事件通知机制14基本概念(三)q配置数据l配置整个系统的属性q调度表l多个分区运行时序、运行时间、频率q系统调用l应用分区请求核心操作系统提供服务的机制q共享数据区l分区之间确定性存储器共享的机制15航空软件开发中心功能组成16航空软件开发中心模块支持层qCPU体系结构支持包qBIT测试q映像管理q系统级通信代理q系统级调试代理q模块支持层故障处理17航空软件开发中心核心操作系统q运行在系统态q主要实现l分区的管理和调度l分区间通信l系统的故障监控l系统内资源管理l

9、设备管理l中断/异常管理18航空软件开发中心分区操作系统q运行在用户态q驻留于每个分区q主要实现l分区内进程管理和调度l分区内资源管理19航空软件开发中心可配置组件qC运行时库qC+运行时库qBIT管理q文件系统q分区级调试代理q任务级通信代理20航空软件开发中心目录21航空软件开发中心核心操作系统和分区调度3分区操作系统和进程调度4分区间通信5健康监控6ARINC653标准1天脉2操作系统概述2应用移植8核心操作系统功能(一)q提供单个CPU目标平台的资源管理和分区时空管理q将应用隔离到不同的分区l系统所有地址空间全部在配置时确定q分区管理和创建l分区创建为内部接口(基于确定性和安全性)q根

10、据配置表为每一个分区分配执行时间q实现分区的轮转调度22航空软件开发中心q管理分区间通信q为分区操作系统提供系统调用服务q模块级/分区级健康监控q配置记录的加载和存储q共享数据区q管理所有共享的资源l中断/异常l系统时间l内存lI/O服务23航空软件开发中心核心操作系统功能(二)核心操作系统-存储器保护(一)q使用存储器MMU单元l逻辑地址和物理地址的转换l空间访问权限的定义l创建多个MMU存储器上下文(核心操作系统上下文空间、每个分区独立的上下文空间)q分区之间的隔离保护l每个分区的逻辑地址空间相同(可配置)l通过分区独立的上下文空间映射到不同的物理地址q分区和核心操作系统的隔离保护l核心操

11、作系统上下文空间l系统态可访问24航空软件开发中心核心操作系统-存储器保护(二)q使用存储器MMU单元完成其他功能l向量表的保护l核心操作系统的任务栈保护l核心操作系统的中断栈保护l分区操作系统的进程栈保护l分区之间共享数据区的访问权限设置25航空软件开发中心核心操作系统-任务调度q任务功能l分区/模块级健康监控l驻留于核心操作系统的代理功能l分区操作系统l其他核心操作系统功能和用户自定义功能q任务和分区的关系l任务跟随分区调度l任务跟随核心操作系统调度l指定任务执行所占用的时间窗口26航空软件开发中心核心操作系统-分区状态定义q冷启动态q热启动态q空闲态q正常态27航空软件开发中心分区状态转

12、换图分区状态转换图核心操作系统-分区重启动q分区重启动的分类l冷启动以COLD_START为参数调用SET_PARTITION_MODEl热启动以WARM_START为参数调用SET_PARTITION_MODEq冷/热启动的区别l冷启动将重新复制分区的代码段,重新复制分区及共享库的数据段、只读数据段、永久数据段,重新初始化分区及共享库的BSS段、永久BSS段l热启动只复制分区及共享库的数据段,重新初始化分区及共享库的BSS段28航空软件开发中心核心操作系统-分区调度(一)29q调度策略l时间调度表(XML文件配置)l可定义256个调度表l通过程序完成调度表的切换l最小时间窗口是100微秒l时

13、间窗口和系统时钟TICK的关系(向上取整)l分区没有优先级q核心OS中与分区关联的任务在本分区的时间窗口内执行核心操作系统-分区调度(二)q在一个主时间框架内,可以对分区进行多次调度 30航空软件开发中心核心操作系统-分区调度(三)q多调度表l缺省调度表q多调度表切换l下一主时间框l下一时间窗口l下一时钟tickq调度表切换动作l冷启动l热启动l挂起l忽略31核心操作系统-虚中断(一)q分区响应核心操作系统紧急事件q由核心操作系统向指定分区发送q8种虚中断类型lVT_EVENT_RELEASE_POINT(周期进程释放点)lVT_EVENT_WARM_RESTART(热启动)lVT_EVENT

14、_USER(用户扩展)lVT_EVENT_CLOCK_TICK(时钟)lVT_EVENT_SC_COMPLETE(阻塞性系统调用)lVT_EVENT_UC_RAPHSODY(RHAPSODY代理)lVT_EVENT_DEBUG(其他事件,用于操作系统扩展)lVT_EVENT_EXTEND32航空软件开发中心核心操作系统-虚中断(二)q响应虚中断时机q响应方式qAPI接口l虚中断注册STATUS vIntEventHandlerRegister (VT_EVENT_HANDLER handler)33航空软件开发中心核心操作系统-系统调用(一)q分区操作系统和应用软件(用户态)可通过系统调用对核

15、心操作系统(系统态)进行访问;l为分区操作系统提供统一的系统调用入口访问核心操作系统l为应用软件提供专用的系统调用服务访问核心操作系统q系统调用由核心操作系统进行分类、分派。34航空软件开发中心核心操作系统-系统调用(二)q系统调用的划分l阻塞性系统调用l非阻塞性系统调用q提供系统调用扩展能力35航空软件开发中心核心操作系统-共享数据区q共享数据区l共享内存区需要核心操作系统为其分配物理地址空间l共享IO需要分区及核心操作系统共同访问的IO空间36航空软件开发中心目录37航空软件开发中心核心操作系统和分区调度3分区操作系统和进程调度4分区间通信5健康监控6ARINC653标准1天脉2操作系统概

16、述2应用移植8分区操作系统(一)q分区操作系统以共享库方式存在l代码段为所有分区共有l每个分区有自己的数据拷贝q运行在用户态q每个分区都存在一个分区操作系统q应用程序可以通过系统调用,请求核心操作系统服务38航空软件开发中心分区操作系统(二)q功能l进程管理和调度(优先级抢占调度)l系统对象管理(信号量,缓冲,事件等)l分区内堆管理(malloc)(可以通过配置禁止或者使能)l运行时库(C库,数学库,标准输入输出库,APEX,VThreads)l软看门狗定时器l进程级健康监控39航空软件开发中心分区操作系统(三)q提供支持APEX接口的分区操作系统q分区操作系统使用的所有空间分配均在应用分区的

17、空间内分配q所有对资源的申请,都在分区初始化过程中进行q中断和异常l分区操作系统处理虚中断l异常由核心操作系统统一分派40航空软件开发中心分区操作系统-进程(一)q分区操作系统调度的单元是进程q调度策略l优先级抢占优先级范围0-63不同优先级进程,优先级高的进程先运行同优先级进程,采取先来先服务策略对于同优先级进程,若当前占用CPU的进程不释放处理器时间,则其他同等优先级以及低优先级进程将永远得不到执行l时间片轮转缺省禁止41航空软件开发中心分区操作系统-进程(二)q进程栈保护l在进程栈顶通过使用保护页机制实现栈溢出保护l根据分区需求,在XML配置文件中设置保护页的数目;l保护页仅仅是系统态可

18、R/W访问的:因为进程运行在用户模式,任何对保护页的访问导致数据访问异常q限制:l栈下溢是不可检测的l栈溢出过大时,可能会越过保护页而不被检测到42航空软件开发中心分区操作系统-进程(三)q进程状态l休眠态:进程已经创建,但不具备竞争CPU的权利。进程在启动前和停止后处于该状态l就绪态:可以调度、准备执行的进程,该进程一旦获得CPU的控制权就能执行l运行态:拥有CPU控制权并正在执行的进程。l等待态:由于资源条件未满足,暂无资格竞争CPU的控制权,当等待条件满足后,可转换到其它状态。进程可能由于以下原因处于等待态:等待一定的延迟时间、等待信号量、等待进程周期到、等待事件、等待消息、等待解挂43

19、航空软件开发中心分区操作系统-进程(四)q基于优先级的抢占44航空软件开发中心分区操作系统-进程(五)q时间片轮转调度45航空软件开发中心分区操作系统-进程(六)q时间片l允许进程在时间片到达时,抢占正在运行的与其优先级相同的进程;kernelTimeSlice(ticks):(如果ticks为0,时间片轮转禁止)l优先级调度用于不同优先级进程之间的调度,时间片轮转调度仅用于相同优先级进程的调度;l基于优先级的重调度可以在任何时刻发生,时间片轮转重调度每间隔若干tick发生。46航空软件开发中心分区操作系统-进程(七)q进程上下文切换l当一个进程停止运行,一个新的进程启动时,发生上下文切换 当

20、前进程的上下文被存储到自己的TCB中 新启动进程的上下文从TCB中复制到CPU中l一个OS调用或者虚中断可能导致上下文切换47航空软件开发中心分区操作系统-分区内通信(一)q缓冲l缓冲提供进程间的排队消息l可按先进先出或优先级进行排队l每个消息可携带不同的数据,传送时不允许覆盖l消息缓冲区中可存放消息的数量由创建缓冲时给定的大小决定48航空软件开发中心分区操作系统-分区内通信(二)q黑板l通过黑板,可以将消息发布给分区内的所有进程l黑板上的消息是当前的最新消息,除非被清除或被新消息所覆盖,或者黑板中未发布任何消息l黑板消息不可排队,可进行覆写l任何时刻都允许写黑板消息的进程发送消息l任何时刻都

21、允许读黑板消息的进程访问黑板消息49航空软件开发中心分区操作系统-分区内通信(三)q信号量l提供对资源的受控访问,用于进程间的同步和互斥l两种信号量:计数信号量和互斥信号量l计数信号量功能与标准一致,用于多个资源的互斥访问l互斥信号量作为扩展功能,既可以实现同步,也可以实现互斥,且可以嵌套访问50航空软件开发中心分区操作系统-分区内通信(四)q事件l事件是针对进程的,它可以把某种情况的发生告知给等待进程l一个事件标记被进程(或ISR)用来通知其他进程事件的发生l进程可以同时等待超过一个以上的事件,事件相互之间是独立的。l事件不排队、不携带或传输数据51航空软件开发中心目录52航空软件开发中心核

22、心操作系统和分区调度3分区操作系统和进程调度4分区间通信5健康监控6ARINC653标准1天脉2操作系统概述2应用移植8分区间通信(一)qARINC653规范定义的、分区之间通信的唯一方式同一模块内分区间不同模块分区间分区与设备间q通过消息(数据实体)、端口及通道实现q消息发送方式1:1方式1:N方式q通信模式:队列、采样、服务访问点q端口和通道连接关系,通过XML配置文件进行配置q端口对于用户是可见的,而通道则是逻辑的、透明的,可配置但是不可直接操作53航空软件开发中心分区间通信(二)q通道l定义一个源到一个或者多个目的之间的逻辑连接l通道在核心OS启动时创建,通过XML配置定义通道l通道上

23、指明发送端口及其所属分区,及接收端口及其所属分区54航空软件开发中心分区间通信(三)55航空软件开发中心分区间通信(四)q队列模式l此模式下端口的运行方式与消息队列类似l等待进程以先进先出或优先级方式进行排队l如果接收端口为空则接收者等待q适用范围l适用于需要连续数据的通信方式56航空软件开发中心分区间通信(五)q采样模式l此模式下端口的运行方式与共享存储区相似l接收者不会以等待方式读数据l新消息覆盖原有消息l数据一致性可以保证q适用范围l适用于需要最新数据的通信方式57航空软件开发中心分区间通信(六)q服务访问点模式(Service Acess Point)l一种特殊的队列端口,与普通队列端

24、口的区别在于使用这些端口发送和接收消息时包括地址信息(IP地址和端口)q适用范围l适用于以太网通信(AFDX)58航空软件开发中心分区间通信(七)q虚分区l不是实体分区l不存在代码和数据l为模块间通信配置使用q虚端口l隶属于虚分区l虚端口对应外部设备l需用户提供设备驱动程序与外部通信59航空软件开发中心分区间通信(八)q分区间通信方式60航空软件开发中心目录61航空软件开发中心核心操作系统和分区调度3分区操作系统和进程调度4分区间通信5健康监控6ARINC653标准1天脉2操作系统概述2应用移植8健康监控(一)q为提高系统健壮性,操作系统提供健康监控机制,用于监控应用软件、操作系统和硬件的故障

25、。q健康监控与错误分级:l进程级l分区级l模块级62航空软件开发中心健康监控(二)q某一级别处理不了的错误,会逐级上报至更高级别的健康监控进行处理。q处理原则:l由该级别对应的健康监控任务或更高级别的健康监控任务处理;l高级别系统模式(如:模块模式)下发生的故障,不应由低级别健康监控(如:进程级健康监控)处理。63航空软件开发中心健康监控(三)q进程级HMl在分区内处理进程相关的错误和事件,包含于分区内l调用CREATE_ERROR_HANDLER()注册应用错误处理进程l进程级健康监控不是必须,进程级错误响应和恢复动作为应用驱动。q进程健康监控所占用时间l仅占用本分区的时间窗口q进程级可检测

26、的故障l截止期超时、应用错误、数字错误、非法请求、栈溢出、内存访问违反、硬件故障、电源故障64航空软件开发中心健康监控(四)q分区级HMl用于处理分区内影响分区OS运行的错误及事件;l分区级健康监控作为核心OS任务来运行,其优先级要高于与分区OS相关联的核心OS任务。l存储空间及任务上下文属于核心OS;q分区级健康监控所占用时间l仅在所隶属分区的时间窗口执行,占用该分区的执行时间,不会影响其他分区的执行时间65航空软件开发中心健康监控(五)q模块级HMl模块级健康监控是核心OS中唯一拥有最高优先级的任务,其优先级要高于分区健康监控任务,一旦激活,将首先执行q模块级健康监控所占用时间l抢占分区时

27、间窗口,且可以先于所有分区、分区HM及核心OS任务运行66航空软件开发中心健康监控(六)q分区级HM和模块级HM均为表驱动l由系统集成者在XML配置记录中定义l每个故障代码对应一个处理程序q健康监控动作定义67航空软件开发中心目录68核心操作系统和分区调度3分区操作系统和进程调度4分区间通信5健康监控6ARINC653标准1天脉2操作系统概述269应用移植(一)q应用移植流程l系统分析l板级支持包软件移植l移植低层驱动软件l应用配置记录的移植l单分区应用移植l多分区进行集成l开展集成测试70应用移植(二)q第一步:进行系统分析l处理器、编译器l板级支持包l外设和驱动软件l文件系统l软件构成及功

28、能划分l通信方式选择71应用移植(三)q第二步:板级支持包软件移植l串口l中断控制器l以太网l定时器l目标操作系统能正常运行,开发环境下载及调试功能正常72应用移植(四)q第三步:移植低层驱动软件l驱动部署层次核心OS分区OSl通信方式端口通信共享IOl功能测试73应用移植(五)q第四步:应用配置l已有类似配置?l内存空间lIO空间l调度l通信l健康监控74应用移植(六)q第五步:单分区应用移植l以分区为单位,逐个移植分区应用l编译器编译选项l接口适应性更改或适配l完成编译链接l单分区运行75应用移植(七)q第六步:多分区进行集成l将移植后的多分区进行集成l配置数据l分区和进程调度l分区间通信76应用移植(八)q第七步:开展集成测试l在仿真平台或真实硬件平台上,进行移植后应用软件的集成测试

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 实施方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁