Ariel OS: 一款适用于 MCU 的嵌入式库操作系统
Ariel OS 首个版本发布,这是一款基于 Rust 语言的嵌入式库操作系统。艾瑞尔操作系统可以在诸如 nRF5x、RP2xxx、STM32 和 ESP32 等小型微控制器上运行。它基于 Embassy 构建,并将其转变为一个功能完备的实时操作系统(RTOS),具备抢占式多核调度功能以及许多类似操作系统的便利特性。
它提供了一组可能很有趣的新特性组合:支持以异步代码和多线程代码的形式编写应用程序,并且可以混合使用这两种方式;网络功能、线程与多核支持、随机数生成、闪存存储等功能都可以开箱即用,并且具有合理且通常可自定义的默认配置。
它有助于编写可移植的应用程序。艾瑞尔操作系统的应用程序一开始就可以完全移植到所有支持的开发板上,然后再进行特定优化。对于库的开发者来说,这也可能很有吸引力,因为这样可以简化在多个平台上的测试工作。
它有可以很好地处理不同微控制器之间的细微差异。例如,rustc
目标配置、是否使用 defmt
、使用 probe-rs
还是 esp-flash
等,都只是构建系统的标志。Ariel OS 的元构建系统会处理必要的 Cargo 和工具配置。
它集成了 embedded-test
模块,可在真实硬件上进行一站式测试。
在底层,它集成了 Embassy、smoltcp、embedded-hal (-async)、embedded-nal (-async) 等组件,并且如果有需要,不使用这些抽象层也很容易。
目前正在进行的工作有:
- 基于稳定版的 Rust 进行开发
- 支持蓝牙低功耗(BLE)
- 开发一个优秀的领域特定语言(DSL)来定义开发板,目标是实现应用程序的无代码移植
- 低功耗处理
- 开发一个原生的 “端口”,使 Ariel OS 能够作为 Linux 或 OSX 应用程序运行
Github 仓库:https://github.com/ariel-os/ariel-os
promkit v0.9.0 发布
promkit 是一个构建交互式提示的工具包,此次 v0.9.0 的主要变化是调整了项目的包的机构:
- promkit-core: 完成终端基本操作和窗格管理的核心函数
- promkit-widgets: 文本框、列表框、树型等各种 UI 组件
- promkit: 高级预置设置以及用户界面
- promkit-derive: 简化交互式输入的派生宏(新增加的)
Github 仓库:https://github.com/ynqa/promkit/tree/v0.9.0
uniocr: 一个用 Rust 编写的通用 OCR 库
uniOCR
是一个用 Rust 编写的通用 OCR 引擎,旨在提供跨平台的 OCR 解决方案,支持多种 OCR 提供者,包括 macOS 原生 Vision Kit API、Windows OCR 引擎、Tesseract OCR 以及自定义的云服务提供商。以下是对该仓库的详细介绍:
主要特性
- 多平台支持:支持 macOS、Windows 和 Linux 等主流操作系统,针对不同平台提供原生的 OCR 解决方案。
- 多 OCR 提供者集成:
- macOS:使用原生的 Vision Kit API 进行 OCR 识别。
- Windows:利用 Windows OCR 引擎进行识别。
- Tesseract:支持 Tesseract OCR,并可使用自定义模型,具备快速初始化和缓存功能。
- 自定义云服务:支持自定义的 OCR 提供者,可通过 API 进行识别。
- 统一 API 接口:提供单一的接口来调用不同的 OCR 提供者,方便切换和使用,同时支持批量处理。
- 高性能设计
- 采用 async/await 机制,支持并行处理。
- 注重内存效率,对不安全代码的内存泄漏进行了严格测试。
Github 仓库:https://github.com/mediar-ai/uniOCR
--
From 日报小组 Yuan YQ
社区学习交流平台订阅:
评论区
写评论还没有评论