SDK 简介
Ameba Rust SDK 是 Realtek 官方针对 Ameba 系列芯片的 Rust 嵌入式固件开发套件。SDK 以
Embassy 异步运行时为基础,采用 no_std 设计,面向对内存效率和类型安全有较高要求的 IoT
应用场景。
SDK 定位
Rust SDK 的本质是 C ROM 函数的 Rust 安全封装层 + Embassy 异步运行时桥接层,而非纯 Rust 从零实现的 HAL。底层硬件操作仍依赖芯片 ROM 中固化的 C 函数,通过 FFI 调用。
这一设计的优势是与 Realtek 硬件生态深度集成、零额外 Flash 占用;代价是存在少量
unsafe 代码和对 ameba-rtos 预编译产物的依赖。
主要特性
Embassy 异步运行时:协作式调度,无 RTOS 线程切换开销,适合事件驱动型应用
embedded-hal 1.0 兼容:GPIO、I2C、SPI、UART、Timer 等外设均实现标准 trait,可复用社区驱动
零开销 ROM FFI:底层硬件操作调用芯片 ROM 中固化的 C 函数,链接时直接解析为固定地址跳转
WiFi 支持:WHC IPC 双核通信 + smoltcp 协议栈,支持 STA 连接、DHCP、TCP/UDP
严格 no_std:无堆分配器,内存占用可预期,适合 SRAM 受限场景
固件组成
Ameba 芯片的完整固件由三部分组成,Rust SDK 仅开放 App 固件的开发:
固件 |
来源 |
说明 |
|---|---|---|
Bootloader 固件 |
ameba-rtos 预编译提供 |
不对用户开放开发 |
WiFi 核固件 |
ameba-rtos 预编译提供 |
不对用户开放开发 |
App 固件 |
Rust SDK 编译产出 |
Rust 开发的目标 |
支持芯片
芯片 |
说明 |
|---|---|
RTL8721F(AmebaGreen2) |
当前支持,Cortex-M33 双核,AP 核运行 Rust App 固件 |