探索安全关键应用的未来:aerugo实时操作系统
aerugo Safety-critical applications oriented Real-Time Operating System written in Rust 项目地址: https://gitcode.com/gh_mirrors/ae/aerugo
项目介绍
aerugo 是一款面向安全关键应用的实时操作系统(RTOS),采用Rust语言编写。该项目是欧洲航天局(ESA)活动 Evaluation of Rust Usage in Space Applications by Developing BSP and RTOS Targeting SAMV71 的一部分。aerugo 针对基于32位ARM Cortex-M7处理器的ATSAMV71Q21微控制器设计,其架构灵感来源于纯函数式编程范式和transputers架构。
项目技术分析
核心技术
- 无抢占式调度:aerugo 采用执行器(executor)而非传统的调度器,不支持抢占式调度。执行器运行细粒度的计算单元——任务(tasklets),这些任务在有限的时间内执行处理步骤。
- 纯函数式编程范式:aerugo 的设计深受纯函数式编程的影响,确保系统的稳定性和可预测性。
- 跨平台支持:支持Cortex-M7和x86平台,方便开发者在不同环境中进行开发和测试。
项目结构
- aerugo-hal:系统使用的HAL(硬件抽象层)特性。
- arch:特定架构的代码。
- calldwell:嵌入式测试框架。
- examples:系统使用示例。
- scripts:自动化脚本。
- src:核心系统代码。
- testbins:测试二进制文件。
- tests:测试脚本。
- utils:附加工具代码。
构建与测试
- 构建:aerugo 需要 nightly Rust 工具链。通过
rustup
安装目标平台后,使用cargo
进行构建。 - 测试:提供多种测试方式,包括使用
run_tests.sh
脚本或cargo test
进行测试。SAMV71 测试需要额外的环境设置。
项目及技术应用场景
aerugo 特别适用于以下场景:
- 安全关键系统:如航天器、医疗设备等,对系统的可靠性和安全性有极高要求的应用。
- 实时系统:需要快速响应和高性能的嵌入式系统。
- 跨平台开发:支持Cortex-M7和x86平台,方便开发者在不同环境中进行开发和测试。
项目特点
- 安全可靠:采用Rust语言编写,结合纯函数式编程范式,确保系统的安全性和稳定性。
- 高性能:针对ARM Cortex-M7处理器优化,提供高效的实时性能。
- 灵活易用:提供丰富的示例和自动化脚本,简化开发和测试流程。
- 开源免费:采用Apache 2.0和MIT双许可证,方便开发者自由使用和贡献。
结语
aerugo 是一款专为安全关键应用设计的实时操作系统,结合了Rust语言的安全性和纯函数式编程的稳定性,为开发者提供了一个高效、可靠的开发平台。无论你是嵌入式系统开发者,还是对实时操作系统感兴趣的研究者,aerugo 都值得你一试。立即访问 aerugo GitHub 仓库,开始你的探索之旅吧!
aerugo Safety-critical applications oriented Real-Time Operating System written in Rust 项目地址: https://gitcode.com/gh_mirrors/ae/aerugo
版权归原作者 余洋婵Anita 所有, 如有侵权,请联系我们删除。