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 固件