嵌入式实时操作系统设计及应用
在传统的嵌入式实时操作系统中,内核和应用都运行在同一特权级,应用程序可以无限制的访问整个系统地址空间。因此在某些情况下,应用的潜在危险动作会影响其他应用和内核的正常运行,甚至导致系统崩溃或者误操作。
为了满足航空电子对高可靠性、高可用性以及高服务性的要求, 1997年1月ARINC发布了ARINC653(航空电子应用软件标准接口),并于2003年7月发布ARINC653 Supplement 1,对区间管理、区间通信及健康监测部分进行了补充说明,用以规范航空电子设备和系统的开发。
随即,国外各大嵌入式开发商相继推出此类支持ARINC653,具有内核和应用保护机制的操作系统。但在国内的嵌入式领域,这样的研究还有一定差距。基于此,本文提出了一种航空电子嵌入式实时操作系统(A-RTOS,Avionics RTOS)的一种设计思路,并在具有MMU和支持高级保护模式的目标板上完成了实现。
航空电子标准ARINC653
ARINC653主要阐述了模块化综合航空电子设备IMA(Integrated Modular Avionics)使用的应用软件的基线操作环境。它定义了航空应用与下层操作环境之间的接口和数据交换的模式以及服务的行为,并描述了嵌入式航空电子软件的运行时环境
ARINC653 Supplement 1对ARINC653的补充主要包括以下几点:在系统结构上,提出了System Partition的概念,明确区间上的应用调度应该是区间级别的,这些应用共享区间资源;区间管理方面,阐述区间调度中主时间框架的定义原则,并补充了区间模式的变迁过程;对区间间通信的原则进行更为详尽的说明;增加关于健康监测的错误级别和错误处理的解释。
软件构成
航空电子中的核心模块软件包括两类:应用软件和核心软件。位于应用软件和操作系统OS之间的APEX(APplication EXecutive)接口,定义了系统为应用软件提供的一个功能集合。利用这个功能集合,应用软件可以控制系统的调度,通信和内部状态信息。APEX接口相当于为应用提供的一种高层语言。而对于OS来说,是关于参数和入口机制的定义。
图1给出了ARINC653中各部分之间的关系。
分区和区间管理
分区(Partitioning)是ARINC653中一个核心概念。在IMA(Integrated Modular Avionics)系统中,一个核心模块会包含一个或多个航空电子应用,并且这些应用要能够独立运行。分区就是航空电子应用中的一个功能划分。分区的单位称为区间,区间内的每一个执行单元称为进程。每一个区间具有自己独立的数据、上下文和运行环境,这样做的好处是能够防止一个区间的错误影响到其他区间。另外,它能使得整个系统容易验证、确认和认证。
相关文章
- 2022-01-09嵌入式实时操作系统设计及应用
- 2024-02-06高频电刀主变换器工作原理及故障分析
- 2022-08-30利用F-P干涉仪测量固体材料线膨胀系数
- 2022-12-05新型128导大脑磁刺激仪的研制
- 2023-12-13太阳能半导体制冷装置设计与性能分析
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。