项目简介
本项目是基于Rust语言的FreeRTOS嵌入式开发库,旨在为嵌入式开发提供更便捷、安全的开发方式,利用Rust语言的特性增强FreeRTOS的功能和安全性。
项目的主要特性和功能
已完成特性
- 任务可获取自身句柄。
- 编译器强制防止在ISR中调用非ISR安全的函数。
- 方便且相对安全地将资源移交给ISR。
计划实现特性
- 实现任务间队列和其他数据结构的安全共享。
- 实现安全的延迟中断。
- 提供原始句柄访问,以应对API受限的情况。
- 尝试让FreeRTOS使用Rust全局堆(不确定是否可行)。
底层支持功能
- 初始化任务栈、启动调度器、处理中断和进行任务切换等。
- 管理中断的屏蔽状态,确保临界区代码不被中断。
- 设置定时器中断以生成tick中断,用于调度器的时钟节拍功能。
- 验证中断优先级设置是否正确。
安装使用步骤
假设用户已经下载了本项目的源码文件。
1. 确保 freertos-cargo-build
作为构建依赖项,它会将FreeRTOS的原始C源文件编译成一个存档文件,以便与Rust应用程序链接。需要在 build.rs
中提供以下信息:
- FreeRTOS Sources
的路径。
- 应用特定的 FreeRTOSConfig.h
的路径。
- 要使用的 FreeRTOS port
的相对路径,例如针对ARM Cortex - M3内核。
- 可选:要编译的额外C代码。
2. 将 freertos-rust
作为依赖项,它提供了从嵌入式Rust应用程序访问所有FreeRTOS功能的接口。
3. 根据具体的硬件环境对代码进行适配和优化,确保底层支持函数能正确运行。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】