littlebot
Published on 2025-04-03 / 0 Visits
0

【源码】基于Rust语言的FreeRTOS嵌入式开发库

项目简介

本项目是基于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】