实时嵌入式系统设计触动未来启航智能世界
在嵌入式实时操作系统的设计探讨中,传统的内核与应用共享同一特权级,导致潜在危险动作可能影响其他应用和内核,甚至引发系统崩溃或误操作。为了满足航空电子领域对高可靠性、高可用性和高服务性的要求,ARINC653标准应运而生,并随之推出了ARINC653 Supplement 1,对区间管理、通信及健康监测进行了补充。此类支持ARINC653保护机制的操作系统国外有所发展,而国内仍有一定差距。本文提出了一种基于MMU和支持高级保护模式的A-RTOS设计思路,并在目标板上实现。A-RTOS以模块化为核心,为航空电子设备提供了一个安全、可靠、高效的运行环境。
软件构成方面,我们将应用软件与核心软件分开,其中APEX接口作为桥梁,为应用提供调度、通信及内部状态信息控制能力。分区(Partitioning)是ARINC653中的关键概念,每个分区包含独立运行的航空电子应用,以防止单一错误对整个系统造成破坏。OS通过时间窗循环调度算法保证每个分区按计划访问公共资源。在主时间框架中,每个时间窗口激活对应区间运行,以确保周期性调度。
隔离与保护机制是A-RTOS设计的一大亮点,我们采用MMU地址转换以及系统调用来实现内核与用户态之间,以及用户态之间相互隔离和保护。TRAP方式下的软中断处理函数允许用户态请求进入系统态执行必要功能,而CALL-LIB库则支持动态加载更新组件。此外,我们引入了优先级排序和两级调度策略来提高效率,使得A-RTOS不仅符合ARINC653规范,还能更好地适应实际需求。
综上所述,本文提出的A-RTOS设计思路不仅解决了传统嵌入式实时操作系统中的安全问题,而且还结合了现代技术标准,如ARINC653及其补充文件,为航空电子领域提供了一套全面的解决方案。这项工作有助于提升国内嵌入式开发商在国际竞争中的地位,同时也为相关研究方向奠定基础。