嵌入式系统/ARM技术中的嵌入式实时操作系统设计探讨
在传统的嵌入式实时操作系统中,内核和应用都运行在同一特权级,应用程序可以无限制的访问整个系统地址空间。因此在某些情况下,应用的潜在危险动作会影响其他应用和内核的正常运行,甚至导致系统崩溃或者误操作。 为了满足航空电子对高可靠性、高可用性以及高服务性的要求, 1997年1月ARINC发布了ARINC653(航空电子应用软件标准接口),并于2003年7月发布ARINC653 Supplement 1,对区间管理、区间通信及健康监测部分进行了补充说明,用以规范航空电子设备和系统的开发。 随即,国外各大嵌入式开发商相继推出此类支持ARINC653,具有内核和应用 嵌入式实时操作系统(RTOS)在嵌入式系统和ARM技术中扮演着至关重要的角色,尤其是在航空电子领域。传统的RTOS中,内核和应用程序运行在相同的特权级别,允许应用程序无限制地访问整个系统地址空间,这可能导致系统稳定性、安全性和可靠性的降低。如果一个应用程序发生错误或恶意行为,可能会对其他应用程序和内核造成破坏,甚至导致系统崩溃。 为了解决这个问题并满足航空电子设备对高可靠性和高可用性的需求,ARINC在1997年发布了一项标准——ARINC653,其目标是为航空电子应用软件定义标准接口。这一标准强调了软件组件的隔离,确保不同应用之间的互不影响,提高了系统的整体安全性。2003年的ARINC653 Supplement 1进一步扩展了标准,涵盖了区间管理、区间通信和健康监测的细节,为航空电子设备和系统的开发提供了更严格的规范。 支持ARINC653的嵌入式RTOS引入了内核和应用保护机制,通过分区(Partitioning)将系统划分为多个独立的区间,每个区间包含一个或多个进程,拥有自己的数据、上下文和运行环境。这样的设计能够有效防止一个区间的问题蔓延到其他区间,增强了系统验证、确认和认证的便利性。 区间管理是ARINC653的核心,操作系统负责管理区间调度,采用基于时间窗的循环调度算法。主时间框架被划分为多个时间窗口,根据预先配置的表在指定窗口内激活相应区间,确保每个应用都能在其分配的时间周期内连续访问公共资源,而不会受到干扰。 ARINC653 Supplement 1对主时间框架的定义做了细化,要求其大小为所有区间周期的最小公倍数的正整数倍,同时考虑每个区间执行的时间长度和频率。此外,它还引入了系统区间属性和启动条件属性,定义了四种工作模式:空闲、冷启动、热启动和正常,以适应不同的运行情况。 在实施ARINC653标准的过程中,嵌入式系统开发者需要设计和实现支持这些特性的RTOS,例如,创建一个名为A-RTOS的航空电子RTOS。这种RTOS需要包含应用软件和核心软件两大部分,其中应用软件通过APEX接口与操作系统交互,而操作系统则负责提供参数和入口机制,实现高效的区间管理和通信。 嵌入式实时操作系统在设计时需充分考虑安全性、可靠性和效率,特别是在航空电子这样的高要求领域。ARINC653及其补充标准为解决这些问题提供了指导,推动了嵌入式系统和ARM技术的发展,确保了航空电子设备的高效、安全运行。在国内,虽然对ARINC653标准的研究和应用尚有差距,但随着技术的进步和市场需求的增长,国内开发者也在逐步追赶,以实现更先进的嵌入式实时操作系统设计。
- 粉丝: 7
- 资源: 961
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助