技术栈导航
MCU 开发常用的开源组件和芯片原厂资料:实时内核、图形界面、网络与通信协议、加密、存储、USB、引导程序、常用小组件、DSP 与端侧 AI、调试和测试工具。每项列出许可证和官方链接,均为外部网站。
RTOS / 实时内核
嵌入式实时操作系统与内核
FreeRTOS
AWS 维护的小型实时内核,移植覆盖面广,资源占用低
许可证:MIT · 适用:Cortex-M/A/R、RISC-V、Xtensa、AVR、x86 等
Zephyr
Linux 基金会托管的 RTOS,采用设备树与 Kconfig,内置网络和蓝牙协议栈
许可证:Apache-2.0 · 适用:Cortex-M/A/R、RISC-V、Xtensa、ARC、x86
RT-Thread
国产开源 RTOS,有标准版和 Nano 版,组件和软件包生态丰富
许可证:Apache-2.0 · 适用:Cortex-M/A/R、RISC-V、MIPS 等
Eclipse ThreadX
原 Azure RTOS ThreadX,现由 Eclipse 基金会托管,具备安全认证资料
许可证:MIT · 适用:Cortex-M/A/R、RISC-V、ARC、Xtensa 等
Apache NuttX
Apache 基金会项目,兼容 POSIX 接口,从 8 位到 64 位都可运行
许可证:Apache-2.0 · 适用:Cortex-M/A/R、RISC-V、Xtensa、AVR、x86 等
RIOT
面向物联网的低功耗 OS,内置 IPv6/6LoWPAN 网络协议栈
许可证:LGPL-2.1-only · 适用:Cortex-M、RISC-V、Xtensa、AVR、MSP430
ChibiOS
小巧高效的 RTOS 加 HAL 驱动层,对 STM32 支持完善
许可证:GPL-3.0-only · 适用:Cortex-M、Cortex-R、AVR 等
Embox
可配置 RTOS,在资源受限设备上不依赖 Linux 运行 Linux 软件
许可证:BSD-2-Clause · 适用:ARM Cortex-M/A、RISC-V、MIPS、SPARC、x86 等
LuatOS
在 MCU 和 4G 模组上用 Lua 写应用的嵌入式运行框架
许可证:MIT · 适用:合宙 Air 系列 4G 模组、ESP32 系列、Air001/101/103 等
Tock
Rust 编写的嵌入式 OS,在低内存 MCU 上隔离运行多个互不信任的应用
许可证:Apache-2.0 OR MIT · 适用:ARM Cortex-M、RISC-V(nRF52、STM32、SAM4L、ESP32-C3 等)
Trampoline
符合 OSEK/VDX OS 与 AUTOSAR OS 4.2 的静态配置 RTOS,常用于汽车电子
许可证:GPL-2.0-only · 适用:Cortex-M0+/M3/M4、Cortex-R52、RISC-V、AVR、MSP430、PowerPC、RH850
µC/OS-III
经典抢占式实时内核 µC/OS-III,开源后由 Weston Embedded 维护
许可证:Apache-2.0 · 适用:Cortex-M/A/R、RISC-V、MSP430、RX、PIC32 等
OpenHarmony LiteOS-M
OpenHarmony 轻量系统内核,适用于资源受限的 MCU 级物联网设备
许可证:BSD-3-Clause · 适用:Cortex-M3/M4/M7/M33/M55、RISC-V、Xtensa、C-SKY
Embassy
Rust 异步嵌入式框架,含执行器与 STM32、nRF、RP 等 HAL
许可证:MIT OR Apache-2.0 · 适用:Cortex-M、RISC-V(STM32、nRF、RP2040/RP2350、ESP32 等)
RTIC
Rust 中断驱动的实时并发框架,用 NVIC 优先级调度任务
许可证:MIT OR Apache-2.0 · 适用:Cortex-M、RISC-V
embedded-hal
Rust 嵌入式驱动的通用硬件接口标准(trait)
许可证:MIT OR Apache-2.0 · 适用:所有支持 Rust 的 MCU
图形界面(GUI)
MCU 上的图形界面库与绘图库
LVGL
轻量级嵌入式图形库,提供丰富控件、动画和多种显示/输入驱动接口
许可证:MIT · 适用:32 位 MCU(Cortex-M、RISC-V、ESP32 等),也可跑在 Linux/PC
u8g2
单色显示屏图形库,支持大量 OLED/LCD 控制器和字体
许可证:BSD-2-Clause · 适用:8/32 位 MCU(AVR、ARM、ESP 等),Arduino 及纯 C
AWTK
ZLG 开源的跨平台 GUI 引擎,支持嵌入式 RTOS、Linux 和桌面
许可证:Apache-2.0 · 适用:Cortex-M3 及以上 MCU、嵌入式 Linux、Windows/macOS/Linux
Slint
声明式 UI 工具包,支持 Rust/C++/JS,可运行于 MCU 和桌面
许可证:GPL-3.0-only OR LicenseRef-Slint-Royalty-free OR LicenseRef-Slint-Software-3.0 · 适用:Cortex-M(如 STM32、RP2040)、ESP32、嵌入式 Linux、桌面
Adafruit GFX Library
Arduino 生态常用的基础图形库,提供点线形状、文字绘制
许可证:BSD-2-Clause · 适用:Arduino 兼容平台(AVR、SAMD、ESP32、RP2040 等)
AnimatedGIF
轻量 GIF 动画解码库,可从内存或 SD 卡播放
许可证:Apache-2.0 · 适用:Arduino、ESP32、STM32、RP2040 等
embedded-graphics
Rust 无缓冲 2D 图形库,画图元、文字、图片
许可证:MIT OR Apache-2.0 · 适用:任意支持 Rust 的 MCU(Cortex-M、RISC-V、ESP32)
FreeType
开源字体渲染引擎,支持 TrueType/OpenType 矢量字体
许可证:FTL OR GPL-2.0-or-later · 适用:Cortex-M4/M7、ESP32 等 RAM 较大的 MCU
GUIX
ThreadX 配套嵌入式图形界面库,附 GUIX Studio 设计工具
许可证:MIT · 适用:Cortex-M/A、RISC-V 等,跑在 ThreadX 上
HAGL
与硬件无关的轻量图形库,提供基本图形、位图、字体与混合
许可证:MIT · 适用:任意 MCU,靠 HAL 适配(ESP32、RP2040、STM32 等)
LovyanGFX
高速 LCD/OLED/墨水屏图形库,支持 SPI/I2C/8 位并口
许可证:BSD-2-Clause-Views AND BSD-2-Clause AND MIT · 适用:ESP32 全系、ESP8266、RP2040、SAMD51、SAMD21
MiniGUI
老牌国产嵌入式窗口系统,有多窗口和控件集,支持 Linux 和多种 RTOS
商用需授权
许可证:GPL-3.0-or-later OR LicenseRef-FMSoft-Commercial · 适用:高端 MCU(大 RAM,RTOS)/ MPU,ARM、MIPS 等
网络协议栈
TCP/IP 协议栈与 MQTT、CoAP、LwM2M 等物联网协议
lwIP
轻量级 TCP/IP 协议栈,支持 IPv4/IPv6、TCP、UDP、DHCP、DNS 等,可裸机或配 RTOS
许可证:BSD-3-Clause · 适用:通用 32 位 MCU(Cortex-M、RISC-V 等)
FreeRTOS-Plus-TCP
FreeRTOS 官方 TCP/IP 协议栈,采用 Berkeley 风格 socket 接口,支持 IPv4/IPv6
许可证:MIT · 适用:运行 FreeRTOS 的 MCU(Cortex-M、RISC-V 等)
NetX Duo
Eclipse ThreadX 配套的 IPv4/IPv6 协议栈,附带 MQTT、HTTP、TLS 等组件
许可证:MIT · 适用:运行 ThreadX 的 MCU(Cortex-M、RISC-V 等)
Mongoose
单文件嵌入式网络库,内置 TCP/IP 栈及 HTTP、WebSocket、MQTT、TLS
许可证:GPL-2.0-only OR LicenseRef-Commercial · 适用:Cortex-M、ESP32 等 MCU,也可跑在 Linux/Windows
coreMQTT
FreeRTOS 出品的 MQTT 3.1.1/5.0 客户端库,不依赖特定 RTOS 和传输层
许可证:MIT · 适用:通用 MCU
Eclipse Paho MQTT Embedded C
面向嵌入式的 MQTT 客户端库,包含底层报文编解码和客户端两层
许可证:EPL-2.0 OR BSD-3-Clause · 适用:通用 MCU
libcoap
CoAP 协议的 C 实现,支持 DTLS,可用于受限设备
许可证:BSD-2-Clause · 适用:MCU(配 lwIP/RIOT/Zephyr/Contiki 等)及 Linux
Eclipse Wakaama
OMA LwM2M 协议的 C 实现,提供客户端、服务端和引导服务端
许可证:EPL-2.0 OR BSD-3-Clause · 适用:通用 MCU 及 POSIX 平台
CycloneTCP
面向嵌入式的 IPv4/IPv6 双栈 TCP/IP 协议栈,自带大量网卡驱动
许可证:GPL-2.0-or-later · 适用:Cortex-M、RISC-V 等 32 位 MCU,裸机或 RTOS
加密与安全
TLS、加密算法库与安全固件框架
Mbed TLS
面向嵌入式的 TLS/DTLS 与加密库,实现了 PSA Crypto API
许可证:Apache-2.0 OR GPL-2.0-or-later · 适用:通用 MCU(Cortex-M 等)及各类主机
wolfSSL
嵌入式 TLS 1.3/DTLS 库,含 wolfCrypt 加密引擎,有 FIPS 版本
许可证:GPL-3.0-or-later OR LicenseRef-Commercial · 适用:通用 MCU 及各类 RTOS/OS
Trusted Firmware-M (TF-M)
Armv8-M 安全侧参考实现,提供安全启动、PSA 加密、存储和认证服务
许可证:BSD-3-Clause · 适用:Armv8-M / Armv8.1-M(带 TrustZone 的 Cortex-M23/M33/M55/M85)
BearSSL
小体积 TLS 库,实现常数时间运算,不需要动态内存分配
许可证:MIT · 适用:通用 MCU 及主机
CycloneCRYPTO
嵌入式加密工具包:对称/非对称、哈希、ECC、后量子等
许可证:GPL-2.0-or-later · 适用:Cortex-M、RISC-V、PIC32 等,裸机或各类 RTOS
LibHydrogen
面向受限设备的轻量易用密码库,只依赖两个原语
许可证:ISC · 适用:8/16/32 位 MCU,Cortex-M、AVR、ESP32 等
LibTomCrypt
模块化可裁剪的 C 语言密码工具包,算法覆盖面广
许可证:Unlicense · 适用:任意 32 位 MCU,按需裁剪
micro-ecc
小体积 ECDH/ECDSA 实现,支持 secp160/192/224/256 曲线
许可证:BSD-2-Clause · 适用:8 位 AVR、Cortex-M、RISC-V 等
Monocypher
可移植 C 写的小型密码库:X25519、EdDSA、ChaCha20、Argon2
许可证:BSD-2-Clause OR CC0-1.0 · 适用:任意 32 位 MCU,单文件集成
wolfTPM
可移植的 TPM 2.0 协议栈,支持 SPI/I2C 直连 TPM 芯片
许可证:GPL-3.0-or-later · 适用:裸机 / RTOS,STM32、Cortex-M 等,也支持 Linux
文件系统 / 存储
Flash / SD 卡文件系统与键值存储
FatFs
ChaN 编写的通用 FAT/exFAT 文件系统模块,常用于 SD 卡和 U 盘
许可证:LicenseRef-FatFs · 适用:与平台无关(纯 C,8~64 位都可用)
LittleFS
为 NOR/NAND Flash 设计的掉电安全文件系统,带磨损均衡,RAM 占用固定
许可证:BSD-3-Clause · 适用:与平台无关
Yaffs2
面向 NAND Flash 的日志结构文件系统,可用于 Linux 和无 OS 环境
许可证:GPL-2.0-only OR LicenseRef-AlephOne-Commercial · 适用:与平台无关(YaffsDirect 用于 RTOS/裸机)
FlashDB
国产超轻量 Flash 数据库,提供键值库和时序库,可跑在裸 Flash 或文件系统上
许可证:Apache-2.0 · 适用:与平台无关
LevelX
NOR/NAND 闪存磨损均衡与坏块管理,可配 FileX 或单独使用
许可证:MIT · 适用:Cortex-M/R/A、RISC-V 等,ThreadX 或裸机
SdFat
Arduino 平台 SD 卡 FAT16/FAT32/exFAT 文件系统库
许可证:MIT · 适用:AVR、SAMD、STM32、ESP32、RP2040 等 Arduino 内核
SFUD
基于 JEDEC SFDP 的串行 SPI Flash 通用驱动库
许可证:MIT · 适用:任意 MCU,裸机或 RTOS
USB 协议栈
USB 设备 / 主机协议栈
TinyUSB
开源跨平台 USB 主机/设备协议栈,线程安全,不用动态内存
许可证:MIT · 适用:多家 MCU:STM32、NXP、RP2040、ESP32-S2/S3、nRF、SAMD、CH32 等
CherryUSB
面向嵌入式的小型 USB 主机/设备协议栈,支持多种 USB IP
许可证:Apache-2.0 · 适用:带 USB 的 MCU(DWC2/MUSB/FSDEV/EHCI 等 IP,覆盖 STM32、GD32、HPM、CH32、ESP32 等)
Eclipse ThreadX USBX
Eclipse ThreadX 的 USB 主机/设备协议栈,工业级,常与 ThreadX 配合使用
许可证:MIT · 适用:Cortex-M/A/R、RISC-V 等,通常跑在 ThreadX 上,也支持裸机
libusb_stm32
STM32 轻量 USB 设备协议栈,不依赖 HAL,代码小
许可证:Apache-2.0 · 适用:STM32 F0/F1/F3/F4/F7/L0/L1/L4/G4 等
Bootloader / OTA
安全启动、固件升级与 UF2 引导程序
MCUboot
面向 32 位 MCU 的安全引导程序,支持镜像签名校验与 A/B 交换升级
许可证:Apache-2.0 · 适用:Cortex-M、RISC-V、ESP32 等;可配合 Zephyr、NuttX、Mbed、裸机
OpenBLT
开源通用 bootloader,可经 UART、CAN、USB、以太网等接口更新固件
许可证:GPL-3.0-or-later · 适用:STM32、XMC4/1、S32K、TM4C、HCS12 等多种 MCU
TinyUF2
基于 TinyUSB 的 UF2 引导程序,开发板插电脑后拖拽文件即可升级
许可证:MIT · 适用:ESP32-S2/S3、STM32F3/F4/H7、i.MX RT、LPC55、RP2040 等带 USB 的 MCU
Katapult
支持经 CAN、USB、UART 刷写的 MCU bootloader,常配合 Klipper 使用
许可证:GPL-3.0-only · 适用:STM32、RP2040/RP2350、LPC176x(CAN 仅 STM32 F 系列与 RP2040/RP2350)
dapboot
基于 libopencm3 的 STM32 USB DFU bootloader,可用 dfu-util 升级
许可证:ISC AND LGPL-3.0-or-later · 适用:官方仅支持 STM32F103(Blue Pill、Maple Mini、ST-Link 克隆等)
wolfBoot
跨平台安全 bootloader,固件签名校验、A/B 更新、回滚
许可证:GPL-3.0-or-later · 适用:Cortex-M/A、RISC-V、PowerPC;STM32、nRF、NXP 等
调试与开发工具
开源调试器、烧录、GDB 服务、RTT 日志与构建工具
OpenOCD
开源片上调试器,经 JTAG/SWD 实现烧录、调试并提供 GDB 服务
许可证:GPL-2.0-or-later · 适用:ARM、RISC-V、MIPS 等;支持 ST-Link、J-Link、CMSIS-DAP、FTDI 等调试器
pyOCD
Python 编写的 Cortex-M 烧录与调试工具,支持 CMSIS-Pack
许可证:Apache-2.0 · 适用:Arm Cortex-M;支持 CMSIS-DAP/DAPLink、ST-Link、J-Link
probe-rs
Rust 编写的嵌入式调试与烧录工具集,提供 CLI 和 VS Code 调试支持
许可证:MIT OR Apache-2.0 · 适用:ARM Cortex-M/A、RISC-V、Xtensa;支持 CMSIS-DAP、ST-Link、J-Link、ESP USB-JTAG 等
DAPLink
Arm 开源调试器固件,提供 CMSIS-DAP、拖拽烧录和虚拟串口
许可证:Apache-2.0 · 适用:调试器固件,跑在 STM32F103、LPC11U35、K20、NRF52820 等接口芯片上,用来调试 Cortex-M 目标
Black Magic Probe
内置 GDB 服务的开源调试器固件,无需 OpenOCD 即可直接调试
许可证:GPL-3.0-or-later · 适用:ARM Cortex-M/A、RISC-V;支持原生 BMP 硬件及多种 STM32 板(如 Blue Pill)
esptool
乐鑫官方串口烧录工具,用于 ESP 系列芯片的固件下载与 Flash 操作
许可证:GPL-2.0-or-later · 适用:ESP8266、ESP32 全系列(S2/S3/C3/C6/H2/P4 等)
stlink (stlink-org)
开源 ST-Link 命令行工具,可在多平台为 STM32 烧录、擦除和调试
许可证:BSD-3-Clause · 适用:STM32 全系列;ST-Link V1/V2/V2-1/V3 调试器
dfu-util
USB DFU 协议主机工具,可经 USB 为支持 DFU 的设备下载和读取固件
许可证:GPL-2.0-or-later · 适用:所有支持 USB DFU 1.0/DfuSe 的设备,如 STM32 系统 bootloader、GD32、nRF 等
mspdebug
MSP430 调试与烧录工具,支持 eZ430、FET、TI 原厂驱动,可作 GDB server
许可证:GPL-2.0-or-later · 适用:TI MSP430 系列(工具在主机上运行)
SEGGER RTT
经 SWD / JTAG 调试口高速收发日志,不占用串口
许可证:BSD-1-Clause · 适用:Cortex-M、RISC-V 等,配 J-Link 等调试器
PlatformIO Core
跨平台嵌入式构建、烧录与依赖管理命令行工具
许可证:Apache-2.0 · 适用:电脑端工具,支持数百种开发板
CMSIS-Toolbox
Arm 官方 CMSIS-Pack 命令行工具链(csolution、cbuild 等)
许可证:Apache-2.0 · 适用:电脑端工具,面向 Cortex-M 工程
常用组件 / 中间件
JSON、日志、按键、软件定时器、命令行、环形缓冲、内存管理、printf、压缩、故障追溯等常用小组件
BabyOS
面向 MCU 裸机项目的驱动与功能模块框架,复用常用器件驱动和算法
许可证:MIT · 适用:通用 MCU(STM32 等,裸机,可配合 RTOS)
cJSON
ANSI C 编写的超轻量 JSON 解析/生成库
许可证:MIT · 适用:任意 C89 平台,Cortex-M/RISC-V/ESP32 等
CmBacktrace
Cortex-M 硬件错误自动诊断与调用栈回溯,可配合 addr2line 定位代码
许可证:MIT · 适用:ARM Cortex-M0/M3/M4/M7/M33 等,裸机或 RTOS
EasyLogger
超轻量 C 日志库,ROM<1.6K、RAM<0.3K,支持分级、过滤、异步和 Flash 存储
许可证:MIT · 适用:任意 MCU,裸机或 RTOS(RT-Thread、FreeRTOS 等)
embedded-cli
单头文件的嵌入式命令行库,支持历史记录、Tab 补全和命令绑定
许可证:MIT · 适用:任意 MCU(Arduino/STM32 等),裸机/RTOS
ETLCPP
嵌入式 C++ 模板库,容器大小编译期固定,不用动态内存
许可证:MIT · 适用:任意支持 C++03/11 及以上的 MCU(Cortex-M、RISC-V 等)
inih
极简 C 语言 INI 配置文件解析器,可不依赖堆内存
许可证:BSD-3-Clause · 适用:任意 MCU,纯 C
lwbtn
嵌入式轻量按键处理库,支持消抖、单击、连击、长按,不用动态内存
许可证:MIT · 适用:任意 MCU,C11,裸机/RTOS
lwjson
面向嵌入式的轻量 JSON 解析器,静态 token、无 malloc,支持流式解析
许可证:MIT · 适用:任意 MCU,C11,Cortex-M 常用
lwmem
轻量动态内存管理,提供 malloc/calloc/realloc/free,支持多块内存区
许可证:MIT · 适用:裸机/RTOS,任意 MCU
lwprintf
面向嵌入式优化的轻量 printf,支持浮点、可重入、多输出实例
许可证:MIT · 适用:任意 MCU,裸机/RTOS
LwRB
轻量通用环形缓冲区,单生产者单消费者无锁,适合配合 DMA/中断使用
许可证:MIT · 适用:任意 MCU,裸机/RTOS
lwshell
嵌入式轻量 shell,用于串口命令行交互
许可证:MIT · 适用:任意 C99 平台
MicroPython
面向 MCU 的精简 Python 3 实现,带 REPL 和硬件模块
许可证:MIT · 适用:STM32、ESP32、RP2040、nRF、SAMD 等
modm
C++23 嵌入式库生成器,按器件生成 HAL、驱动和启动代码
许可证:MPL-2.0 · 适用:STM32、SAM、AVR、nRF、RP2040
MultiButton
小巧的按键驱动,支持单击、双击、长按等事件回调
许可证:MIT · 适用:任意 MCU,裸机
nanoprintf
单头文件的极小 printf 实现,可裁剪浮点、宽度/精度等功能
许可证:Unlicense OR 0BSD · 适用:任意 MCU,裸机/RTOS
nr_micro_shell
资源占用极少的 MCU 命令行 Shell,支持 TAB 补全和历史记录
许可证:MIT · 适用:任意 MCU,裸机/RTOS
o1heap
O(1) 常数时间、确定性的堆分配器,面向硬实时高可靠系统
许可证:MIT · 适用:任意 MCU,裸机/RTOS
perf_counter
共享 SysTick 的 Cortex-M 性能计数器与延时/计时库
许可证:Apache-2.0 · 适用:Cortex-M0/M3/M4/M7/M33 等
PikaPython
超轻量 Python 解释器,4KB RAM 可运行,零依赖
许可证:MIT · 适用:STM32、CH32、ESP32 等 Cortex-M/RISC-V
PLOOC
用宏实现的 C 语言面向对象框架,支持封装、继承和多态,开销低
许可证:Apache-2.0 · 适用:任意 MCU(Arm Compiler / GCC / IAR)
qpc
基于主动对象和层次状态机的实时事件框架,自带内核
商用需授权
许可证:GPL-3.0-or-later OR LicenseRef-QL-commercial · 适用:Cortex-M、MSP430 等;裸机或跑在 FreeRTOS/Zephyr 上
printf(mpaland)
小巧、无依赖的 printf/sprintf 实现,不依赖 libc,带测试套件
许可证:MIT · 适用:任意 MCU(纯 C,与架构无关)
trice
类 printf 的极小追踪代码,可在中断中使用,配 PC 工具实时解码日志
许可证:MIT · 适用:任意 MCU(Cortex-M 等),通过 UART/RTT 输出
umm_malloc
面向小型 MCU 的堆内存管理器,按块分配、碎片少、开销低
许可证:MIT · 适用:任意 32 位 MCU,裸机/RTOS
picolibc
面向嵌入式的轻量 C 标准库,Zephyr 与 Arm GNU 工具链可选用
许可证:BSD-3-Clause AND BSD-2-Clause(多来源 BSD 类许可,以各文件为准) · 适用:Cortex-M/A/R、RISC-V、Xtensa 等 32 位 MCU
newlib / newlib-nano
嵌入式 GCC 常用的 C 标准库,nano 版面向小容量 Flash
许可证:LicenseRef-newlib-BSD-like(多来源 BSD 类许可,见 COPYING.NEWLIB) · 适用:arm-none-eabi、RISC-V 等 GCC 工具链
miniz
单文件 deflate / inflate 与 zip 库,可用于固件和数据解压
许可证:MIT · 适用:32 位 MCU,可裁剪为只解压
LZ4
高速无损压缩算法,库本体可直接放进 MCU 工程
许可证:BSD-2-Clause(库本体(lib/)为 BSD-2-Clause;命令行工具与测试为 GPL-2.0-or-later) · 适用:任意 32 位 MCU(只用 lib/ 目录)
OpenAMP
多核异构通信框架(RPMsg / remoteproc),用于双核 MCU 核间通信
许可证:BSD-3-Clause AND BSD-2-Clause · 适用:STM32H7 / MP1 双核、i.MX RT 等多核芯片
通信协议栈
Modbus、CAN / CANopen、BLE、Thread、LoRaWAN、蜂窝 / Wi-Fi 模组 AT 指令、GNSS、序列化等
Agile Modbus
轻量 Modbus RTU/TCP 协议栈,主从机都支持,不依赖硬件
许可证:Apache-2.0 · 适用:任意 MCU,裸机或 RTOS(RT-Thread 软件包)
Apache NimBLE
Apache Mynewt 的 BLE 5 协议栈,含 Host 和 Controller
许可证:Apache-2.0 · 适用:nRF5x、ESP32 等 BLE MCU,多种 RTOS
at_chat
MCU 端 AT 指令收发与解析框架,适合对接各类通信模组
许可证:Apache-2.0 · 适用:任意 MCU,裸机或 RTOS
CANopenNode
开源 CANopen 协议栈,支持 NMT/SDO/PDO/LSS 等
许可证:Apache-2.0 · 适用:带 CAN 控制器的 MCU,裸机或 RTOS
FreeModbus
老牌嵌入式 Modbus ASCII/RTU/TCP 从机协议栈
许可证:BSD-3-Clause · 适用:各类 MCU,裸机或 RTOS
iso14229(UDS)
ISO 14229 UDS 诊断协议的服务端与客户端 C 库,内置 ISO-TP
许可证:MIT · 适用:带 CAN 的 MCU(例程有 STM32/S32K144/ESP32/Zephyr),也支持 Linux
libcanard
Cyphal/CAN 传输层的紧凑 C 实现,兼容 DroneCAN(UAVCAN v0)
许可证:MIT · 适用:带 CAN / CAN FD 的 8/16/32/64 位 MCU,最低约 32KB ROM + 32KB RAM
LoRa Basics Modem
Semtech 官方 LoRaWAN 终端协议栈,支持 SX126x/SX127x/LR11xx 等射频
许可证:BSD-3-Clause-Clear · 适用:Cortex-M 等 MCU 配 Semtech 射频芯片(例程用 STM32L476)
LwESP
MCU 端 ESP-AT 主机库,用 AT 指令驱动 ESP32/ESP8266 联网
许可证:MIT · 适用:任意 MCU(C11),需 RTOS,经 UART/SPI 连 ESP 模组
LwGPS
轻量 GNSS NMEA 0183 语句解析库,支持全星座
许可证:MIT · 适用:任意 MCU,裸机或 RTOS
LwCELL
用 AT 指令驱动 SIMCom SIM800/SIM900/SIM7070G 蜂窝模组的轻量库
许可证:MIT · 适用:任意 MCU(C11,常见 Cortex-M),需 RTOS 和串口
minmea
纯 C99 编写的轻量 GPS NMEA 0183 解析库,无动态内存分配
许可证:WTFPL · 适用:任意 MCU,裸机/RTOS
mqttclient
基于 socket API 的跨平台 MQTT 客户端,支持 QoS2,可接 mbedtls 走 TLS
许可证:Apache-2.0 · 适用:FreeRTOS、LiteOS、RT-Thread、TencentOS tiny,以及 Linux/Windows/Mac
nanoMODBUS
小巧的 Modbus RTU/TCP 客户端与服务端 C 库,无动态内存
许可证:MIT · 适用:任意 MCU,裸机或 RTOS
nanoPB
小体积 ANSI C Protocol Buffers 实现,专门为单片机设计
许可证:Zlib · 适用:任意 MCU(ANSI C,8/16/32 位)
TinyGSM
SIM800/SIM7000/BG96 等 GSM/LTE 模组的 AT 指令驱动库,提供 TCP 客户端接口
LGPL:静态链接时需提供可重新链接的目标文件
许可证:LGPL-3.0-only · 适用:Arduino 框架(ESP32/STM32/AVR 等)
OpenThread
Thread(802.15.4 IPv6 Mesh)协议栈开源实现,Matter 的常用底层
许可证:BSD-3-Clause · 适用:nRF52/53、EFR32、ESP32-H2/C6 等 802.15.4 芯片
TinyCBOR
小体积 CBOR 编解码库,MCUboot、Mynewt 等在用
许可证:MIT · 适用:任意 32 位 MCU
BTstack
支持经典蓝牙与 BLE 的可移植蓝牙主机协议栈
商用需授权
许可证:LicenseRef-BlueKitchen · 适用:裸机 / RTOS,ESP32、RP2040(Pico W)、STM32、nRF 等
芯片原厂 SDK / HAL
芯片原厂官方外设库、SDK 与 CMSIS 等底层支持包
CMSIS 6
ARM 官方 Cortex-M/A 内核访问层与 RTOS2 API 标准
许可证:Apache-2.0 · 适用:所有 Cortex-M(各家 Arm MCU)
STM32 HAL 驱动
意法 STM32 各系列官方 HAL 与 LL 外设驱动库
许可证:BSD-3-Clause · 适用:STM32 各系列(Cortex-M),每个系列一个仓库,此链接为 F1
ESP-IDF(乐鑫)
乐鑫官方 IoT 开发框架,基于 FreeRTOS,含 Wi-Fi/BLE 协议栈
许可证:Apache-2.0 · 适用:ESP32 全系列(Xtensa / RISC-V)
新唐 M480 BSP
新唐官方 M480 系列 BSP:驱动、例程和库
许可证:Apache-2.0 · 适用:新唐 NuMicro M480 系列(Cortex-M4F);其他系列各有 BSP 仓库
灵动 MM32F3270 库
灵动官方 MM32F3270 器件库和 LibSamples 例程
许可证:BSD-3-Clause AND Apache-2.0 AND MIT · 适用:灵动 MM32F3270 系列(Cortex-M3);其他型号各有仓库
雅特力 AT32 固件库
雅特力 AT32 各系列官方外设驱动库与例程
许可证:BSD-3-Clause · 适用:AT32F435/437(Cortex-M4F),其他 AT32 系列各有仓库
libopencm3
开源的 Cortex-M 底层固件库,覆盖 STM32、GD32、LPC、EFM32 等
LGPL:静态链接时需提供可重新链接的目标文件
许可证:LGPL-3.0-or-later · 适用:Cortex-M0/M3/M4/M7
沁恒 CH32 EVT 资料包
沁恒 CH32V/CH32F 系列官方评估板资料与外设例程(EVT)
许可证:厂家许可,见官网 · 适用:CH32V00x/V10x/V20x/V30x/V31x/X03x/L10x(青稞 RISC-V)、CH32F10x/F20x(Cortex-M3)
兆易 GD32 固件库
GD32 全系列官方外设固件库、驱动与示例程序,兼容 CMSIS
许可证:厂家许可,见官网 · 适用:GD32 F / E / C / L / A / H / G 系列(Arm Cortex-M),GD32VF103、GD32VW55x(RISC-V),GD32W51x(Wi-Fi)
极海 APM32 SDK
极海 APM32/G32 系列官方 SDK、DFP Pack 与例程下载
许可证:厂家许可,见官网 · 适用:APM32F0/F1/F4/E0/E1 等 Arm Cortex-M 系列,另含 G32 和 GW 无线 MCU
国民技术 N32 SDK
N32 全系列 MCU 官方软件开发包(外设库+例程),下载需登录
许可证:厂家许可,见官网 · 适用:N32G/N32L/N32H/N32A/N32WB/N32M 系列,Arm Cortex-M0/M4/M7 等内核
普冉 PY32 固件库
PY32 系列 MCU 官方固件库(HAL/LL)与例程下载
许可证:厂家许可,见官网 · 适用:PY32F0xx/F0 系列、F4xx、L0、M、MD 电机、T 触摸、E407;Arm Cortex-M0+/M4
航顺 HK32 SDK
航顺 HK32 全系列官方 SDK 包、库函数、器件库与例程下载
许可证:厂家许可,见官网 · 适用:HK32F0/F1/F4、HK32L0、HK32C、HK32G003、HK32M070、HK32A/AUTO 车规系列(Arm Cortex-M0/M3/M4)
STC 库函数与例程
STC8G/8H/8A、STC32G、Ai8051U 官方库函数、例程包及 USB/数学库
许可证:厂家许可,见官网 · 适用:8051 内核:STC8G / STC8H / STC8A8K64D4、STC32G(80251)、Ai8051U(8/32 位)
DSP / 电机控制 / 端侧 AI
信号处理、定点数学、FOC 电机控制与 MCU 上的神经网络推理
CMSIS-DSP
ARM 官方 DSP 函数库:滤波、FFT、矩阵、统计,含 q7/q15/q31 定点
许可证:Apache-2.0 · 适用:Cortex-M0~M85 / Cortex-A,Helium/NEON 优化
CMSIS-NN
ARM 官方神经网络内核库,给 Cortex-M 做 int8/int16 推理加速
许可证:Apache-2.0 · 适用:Cortex-M(DSP / Helium 扩展优化)
Edge Impulse SDK
Edge Impulse 的 C++ 推理 SDK:信号处理 + 模型推理,可部署到 MCU
许可证:BSD-3-Clause-Clear AND Apache-2.0 AND BSD-3-Clause · 适用:Cortex-M、ESP32、RISC-V 等
KISS FFT
简洁的混合基 FFT 库,支持定点和浮点
许可证:BSD-3-Clause · 适用:纯 C,任意 MCU
libfixmath
Q16.16 定点数学库,提供三角、开方、指数等函数,适合无 FPU 的 MCU
许可证:MIT · 适用:任意 C99 平台,适合 Cortex-M0/M3、AVR、RISC-V
SimpleFOC
BLDC / 步进电机 FOC 控制库,支持多种驱动器与编码器
许可证:MIT · 适用:STM32、ESP32、RP2040、AVR、SAMD 等(Arduino / PlatformIO)
TensorFlow Lite Micro
Google 的微控制器推理框架,可在 KB 级内存上运行 TFLite 模型
许可证:Apache-2.0 · 适用:Cortex-M、ESP32、RISC-V、ARC、Xtensa 等
测试与质量
单元测试框架、模拟器、静态检查与覆盖率工具(在电脑上运行)
Ceedling
嵌入式 C 测试构建系统,整合 Unity、CMock 和覆盖率报告
许可证:MIT · 适用:主机运行(Ruby),测 MCU C 代码
CMock
根据 C 头文件自动生成 mock,用于隔离硬件依赖做单元测试
许可证:MIT · 适用:主机运行(Ruby),生成的代码可在任意 C 平台运行
Cppcheck
C/C++ 静态分析工具,查未定义行为、越界、内存泄漏,支持 MISRA 插件
检查工具,在电脑上运行,不进固件
许可证:GPL-3.0-or-later · 适用:主机运行,可分析任意 MCU 工程
CppUTest
面向嵌入式的 C/C++ 单元测试与 mock 框架,带内存泄漏检测
许可证:BSD-3-Clause · 适用:主机或嵌入式目标(需 C++ 编译器)
gcovr
把 GCC gcov 数据生成 HTML / XML / JSON 覆盖率报告
许可证:BSD-3-Clause · 适用:主机运行(Python),配合 GCC 编译的测试
GoogleTest
Google 的 C++ 测试与 mock 框架,常用于在主机上测试固件逻辑
许可证:BSD-3-Clause · 适用:主机运行(C++17),一般不上 MCU
Renode
Antmicro 的多节点嵌入式模拟框架,可在无硬件条件下跑 MCU 固件并做自动化测试
许可证:MIT · 适用:模拟 Cortex-M/A、RISC-V、Xtensa 等,主机运行
Unity
面向嵌入式的轻量 C 单元测试框架,可在主机或目标板上运行
许可证:MIT · 适用:任意 C 编译器;主机或 MCU 目标板
只列外部链接,本站不提供这些组件的下载。许可证以项目官方为准,商用前请自行核对;芯片原厂资料按各厂家许可使用;信息核对于 2026-11-07。