< 返回版块

Mike Tang 发表于 2026-10-03 11:18

单用途设备用 Rust 裸机,不必再塞一整套 Linux

这是 Sylvain Kerkour 的一篇短文,讨论单用途设备直接跑 Rust 固件。文中也提到 Linux 上的 Rust for Linux、Android、Windows,iOS/macOS 上的 Swift,以及从零写的 Rust 内核。

作者举路由器和摄像头为例:设备只做有限几件事,软件来自同一厂商,却常常带着过时的 Linux 或 Android 镜像。对硬件的描述包括新的 ESP32-S31:双核 RISC-V、320MHz,带蓝牙、WiFi、USB,最多 32MB RAM。固件侧可以做成单文件静态链接,经过死代码消除和 LTO;同类功能可以放到数 KB/MB 内存和 2MB flash。文中建议用 Embassy 和 embedded-io trait 当框架,驱动当普通 crate 依赖,再用 cargo feature 在 ESP32-C6 和 nRF52840 等目标之间切换,build.rs 按 CARGO_FEATURE_ 选 memory.x。仓库级示例代码没有公开。

原文链接:https://kerkour.com/rust-kernel

Rust Glancer 0.3:换上新 trait solver

Rust Glancer 是一个用 Rust 写的语言服务实现,0.3.0 把内部对照 rust-analyzer 的 141 条静态查询做到约 88.5%。作者说明这不是完整 LSP 完成度,主要反映定义跳转、inlay hint 和 hover 的进展。

类型推断从整棵函数体反复跑不动点,改成递归调度,只在必要时装填推断变量。trait solver 从 Chalk SLG 迁到 rustc 新 solver。内置 Clone/Debug 等 derive 不再走 proc-macro 展开。文档注释加上 Rust 语法高亮和 rustdoc 链接。?、索引和 range 有了对应推断。goto definition 点 trait 方法会进相关 impl。发行配置打开 LTO 和单 codegen unit。索引结束后强制 mimalloc 回收,降低空闲内存。编辑器侧有 VS Code、OpenVSX,Zed 扩展的 0.3.0 PR 当时仍开放;nvim 可用预编译产物。仓库:rust-glancer/rust-glancer。

原文链接:https://rust-glancer.github.io/blog/0-3-0/

maillon:给同步原语用的并发侵入式链表

maillon 是一个并发侵入式链表 crate,仓库 wyfo/maillon。节点自带链接指针,可以放在栈上,适合异步 wait-list 登记 waker,也接近 Tokio 和标准库 Once 的用法。作者在做 MPSC channel,需要 notify_one 在没有等待者时尽量只读,并且能按场景选择 SeqCst 原子操作或 fence。

现有实现多半用 mutex 保护链表。maillon 把插入做成 lock-free,用原子尾指针判断空表;空表时尾指针低位还可以存信号量计数或 mutex 状态。作者用它重做了兼容 Tokio 的 Semaphore 和 Notify,并写到在 Tokio 自己的基准以及 futures-intrusive、asyncband 等对照里更快。正确性用 loom 和 miri 测,Semaphore/Notify 也过 Tokio 的 loom 套件。

原文链接:https://github.com/wyfo/maillon

Arm64JS:在浏览器里跑精简 ARM64 Linux

Arm64JS 是一个把 ARM64 解释器编成 wasm32、在浏览器里模拟最小硬件栈的项目。每个 Web Worker 实例化一个模块,共用一块 SharedArrayBuffer 当虚拟机内存。作者写它是为了让 2MB 的 TUI 工具不必本机安装就能试。

文中给出的数字:shell 输入延迟 8ms,vim 37ms,从快照启动略多于 1 秒(远程数据另加下载)。解释器源码目前未开源。对外提供非商用免费的 JS SDK,仓库 kooler/arm64js-sdk。说明页:https://arm64js.com/blog/tui-apps-in-the-browser/

原文链接:https://www.reddit.com/r/rust/comments/1wv1j19/arm64_emulator_in_rust_that_compiles_into_wasm/


From Rust中文社区 Mike

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页