Rust 实现的 embassy 框架,成为了嵌入式开发一流选择!

大家好,我是渔夫。

今天分享主题,Rust 实现嵌入式异步开发框架,成为今天嵌入式开发的主流选择。采集了 Rust 结合异步编程,给嵌入式领域开发带来了革命性的变化。

Embassy 什么?

Embassy 它是一个用 Rust 语言实现的现代嵌入式异步开发框架,它致力于让 async/await 模式成为嵌入式编程的首选。该框架可以看作是嵌入式版本的 Tokio,后者是 Rust 在服务器端异步编程中广泛使用的运行时环境。

Embassy 也是未来嵌入式应用程序的下一代框架,采集了 Rust 编写、其异步功能和 Embassy 库,从而更快地编写安全、正确且节能的嵌入式代码。

Rust + async ❤️ 嵌入式

大家都知道,Rust 是一种速度极快、内存效率极高的编程语言,它不需要运行时、垃圾收集器或操作系统的介入。Rust 的内存安全保证和强大的类型系统能够在编译时期捕捉各种潜在错误,从而减少运行时的问题。

那么,在嵌入式系统中,Rust 的 async/await 特性使得多任务处理变得异常简单和高效,异步任务在编译时被转换成状态机,避免了动态内存分配的需求,并且所有任务都在单个堆栈上运行,无需担心堆栈大小调整的问题。这种设计消除了传统实时操作系统(RTOS)所需的内核上下文切换,使得系统运行更快、占用空间更小。

图片

Embassy 框架特点

  • 专用硬件抽象层(HAL):Embassy 拥有为嵌入式设备定制的硬件抽象层,这有助于简化硬件交互,并为开发者提供一致的接口。

  • 统一的 STM32 支持:给所有受支持的 STM32 设备提供统一的 API 和单一库,使得与 STM32 系列微控制器的接口和操作更加直接和高效了。

  • 统一 API:Embassy 旨在为所有支持的 STM32 设备提供统一的应用程序接口(API)。这种方法简化了跨不同 STM32 设备的代码移植和适配,因为开发者可以依赖一致的编程模型。

  • 独立使用:通过使用独立的 metapac crate 作为单独的库使用,好处就是不用 Embassy 的异步框架或 HAL,开发者也可以根据自己的需求利用 metapac 进行硬件抽象。

  • 低功耗就绪:让你轻松构建具有多年电池寿命的设备,当没有工作要做时,异步执行器自动将核心置于睡眠状态。任务由中断唤醒,等待时没有忙碌循环轮询。

  • 蓝牙:nrf-softdevice crate 为 nRF52 微控制器提供了蓝牙低功耗 4.x 和 5.x 支持。embassy-stm32-wpan crate 为 stm32wb 微控制器提供了蓝牙低功耗 5.x 支持。

  • 网络:embassy-net 网络栈实现了广泛的网络功能,包括如以太网、IP、TCP、UDP、ICMP 和 DHCP。

原创文章,作者:guozi,如若转载,请注明出处:https://www.sudun.com/ask/89770.html

(0)
guozi's avatarguozi
上一篇 2024年6月5日 上午10:31
下一篇 2024年6月5日 上午10:33

相关推荐

  • 未备案网站被攻击,网站不备案的后果

    您听说过“未注册的网站正在遭受攻击”这句话吗?从事互联网行业的人无疑都会熟悉它。注册对于网站来说就像身份证对于个人一样重要。那么,什么是备案?未注册的网站为何会被攻击?如何避免?一…

    行业资讯 2024年5月19日
    0
  • 如何查看网页被屏蔽内容,怎么查询被屏蔽的网站

    通过分析网站访问日志,您可以了解搜索引擎爬虫是否访问过您的网站。如果没有爬虫的访问,您的关键字可能会被屏蔽。 4. 如何防止我网站上的文字被屏蔽? 为了防止您网站上的文字被屏蔽,您…

    行业资讯 2024年5月11日
    0
  • Xcode简明教程:快速入门指南

    你是否想要快速入门Xcode,但又不知道从何开始?或许你对Xcode这一名词并不陌生,但它究竟是什么?它有哪些主要功能和用途?如何安装Xcode?Xcode的界面又是怎样的,有哪些…

    行业资讯 2024年4月19日
    0
  • 关键词与seo

    关键词与SEO,这是搜索引擎优化行业中不可或缺的两个关键词。它们之间的关系非常密切,可以说是相辅相成的。那么,什么是关键词?为什么在SEO中如此重要?如何选择和使用关键词?这些问题…

    行业资讯 2024年4月1日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注