如开头所述,RTIC其实是一种中断驱动的嵌入式任务调度思想的rust实现【增强了数据隔离与保护】,而Embassy则是rust语言用于嵌入式环境的一种实现【所以其有两个发力点:运行时和基于自己HAL的各种芯片的适配】。 显然,RTIC更容易上手,更针对固定功能的嵌入式开发;而Embassy更有rust味道,更灵活、更强大,给予了程序员更...
由于rust有强大的借用约束,所以系统数据和任务数据的隔离非常简单:所有的数据都由rtic拥有并管理,在需要调度任务函数执行【不管是硬件中断函数还是用户任务函数】时,rtic从用户数据区中引用【借出】该函数所指定的数据,然后创建相应的上下文,然后作为参数交给该函数执行。 也就是说,任务函数所需要的数据,不管是local的还...
与传统的基于轮询或抢占式调度的 RTOS 相比,RTIC 具有以下优势: ·更低的开销:RTIC 的基于中断的调度机制极大地减少了调度开销,从而提高了系统的实时性。 ·更强的安全性:RTIC 利用 Rust 的类型系统和编译时检查,在编译时就能够保证系统的安全性,避免了运行时错误。 ·更易于分析:RTIC 的静态调度机制使得系统的...
embedded-hal:为嵌入式设备提供硬件抽象层。 RTIC:实时中断驱动的并发框架,适用于ARM Cortex-M微控制器。 机器学习开发 tch-rs:Torch库的Rust绑定,用于深度学习和机器学习。 rusty-machine:一个纯Rust编写的机器学习库。 小结 Rust的库和框架越来越全面,涵盖了从低级系统编程到高级Web开发的各个方面。这些库大多以...
GitHub 存储库 japaric/msp430-rtfm 上有一个可用于 MSP430 MCU 的 RTFM(Real-Time For the Masses,RTIC 的旧名称)版本,最近一次提交已经是 7 年前了。仓库地址:https://github.com/japaric/msp430-rtfm ESP32 (Espressif Systems) 作为物联网产业的领先方案商,乐鑫 对目前主流的 ESP32 单片机都做了 Rust ...
RTIC:实时中断驱动的并发框架,适用于ARM Cortex-M微控制器。 机器学习开发: tch-rs:Torch库的Rust绑定,用于深度学习和机器学习。 rusty-machine:一个纯Rust编写的机器学习库。 这些库和框架展示了Rust在多个领域的强大能力,从系统编程到Web开发,Rust都能提供高效、安全的解决方案。无论是构建高性能的服务器端应用...
RTFM - Real-Time for the Masses 的缩写,这是 RTIC 框架的旧命名。 Tokio-Tokio是用于编写多线程异步应用程序的 Rust 运行时。Tokio 基于 Rust 的异步特性提供运行时、API(网络、文件系统操作等)和异步任务工具等。 Embassy- 可以被视为 Tokio 的嵌入式版本,尽管更紧凑且功能更少。Embassy 是一个更全面的 HAL...
社区中提供了大量成熟的操作系统运行时。如rCore系列操作系统是第一个基于RISC-V架构的完整Rust操作系统,尤其适合教学使用。RTIC框架是中断驱动的异步实时系统,完全针对应用使用Rust的宏语法生成,拥有极高的效率。Tock系统是针对微处理器的安全实时系统,已经用于手表、智能路标和加密狗等产品。
但现在发现这个rtic完全就是框架的舒爽,我用java和python都实现过ORM的框架,对框架的好处自然非常清楚。
主要原因是Rust生态相较于C在嵌入式领域的成熟度较低,需要花费大量精力开发底层功能部件,如数据锁。然而,使用RTIC框架的情况会简单许多,但对于特定需求而言,RTIC框架的能力有限,可能不足以满足公司当前需求。开发过程中,我们遇到了复杂的海上环境问题,如恶劣天气导致的设备检查需求,以及调试、对象锁...