待补充
iDoka/awesome-embedded-software
3/5
🧩 软硬件结合
已发布
项目简介
:stars: List of software (HW interfaces, libs, protocols, etc) specifically suitable for resource-constrained Embedded S
iDoka/awesome-embedded-software 是一个专为嵌入式系统开发者精心整理的开源资源清单,旨在解决资源受限环境下(如8位、16位和32位微控制器)开发时缺乏高质量、轻量化软件库的痛点。该项目不涉及Linux相关主题(如树莓派等单板计算机),专注于低内存、低功耗的嵌入式场景。
标签
项目特点
**专注低资源环境**:所有收录的库都针对8位、16位、32位微控制器优化,不涉及Linux或单板计算机。
**高质量筛选**:清单中的每个项目都经过精心挑选,确保在内存和功耗受限下依然稳定可靠。
**分类清晰**:按功能模块(如通信、传感器、GUI、RTOS等)组织,方便快速定位所需库。
**社区驱动**:由开源社区维护更新,持续收录最新、最实用的嵌入式软件库。
**轻量化导向**:强调代码体积小、依赖少,适合裸机或轻量级RTOS环境。
技术规格
| 目标平台 | 8位、16位、32位微控制器(如AVR、PIC、STM32、ESP32等) |
|---|---|
| 操作系统支持 | 裸机(Bare-metal)及轻量级RTOS(如FreeRTOS、uC/OS) |
| 资源限制 | 典型RAM < 512KB,Flash < 2MB |
| 编程语言 | 主要C/C++,部分汇编 |
| 收录库数量 | 数百个(持续增长) |
| 许可证类型 | 各库独立(MIT、BSD、GPL等) |
| 维护状态 | 活跃(社区提交PR) |
项目资源
搜索资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| TinyFrame | 1 | — | 轻量级帧协议库 |
| Micro-Ethernet | 1 | — | 小型以太网协议栈 |
| BME280驱动 | 1 | — | 温湿度气压传感器 |
| MPU6050驱动 | 1 | — | 六轴惯性测量单元 |
| u8g2 | 1 | — | 单色OLED/LCD图形库 |
| LVGL | 1 | — | 嵌入式图形库(轻量版) |
| FreeRTOS | 1 | — | 实时操作系统内核 |
| ChibiOS | 1 | — | 紧凑型RTOS |
| CMSIS-DSP | 1 | — | ARM Cortex-M数字信号处理库 |
| libfixmath | 1 | — | 定点数数学库 |
能力画像
**记忆与知识检索**:4/5 — 清单本身就是一个知识索引,需要开发者快速查找和记忆库的功能与适用场景。
**动手与操作**:3/5 — 需要动手下载、配置和集成库到实际项目中,但核心是选择而非制造。
**编程与算法**:4/5 — 使用这些库通常需要编写C/C++代码,并理解底层算法(如DSP、协议栈)。
**设计与建模**:2/5 — 项目本身不涉及硬件设计或系统建模,但库的选择影响整体架构。
**实验与调试**:3/5 — 集成库后需要调试硬件接口和软件逻辑,验证库的兼容性。
**协作与分享**:3/5 — 可以通过提交PR向清单贡献新库,或参与社区讨论。
**学习与研究**:5/5 — 清单是绝佳的学习资源,通过阅读库源码和文档可以深入理解嵌入式技术。
**系统集成**:4/5 — 核心能力是将多个轻量级库组合成完整的嵌入式系统解决方案。
项目图库
所需技能
嵌入式C/C++编程基础
微控制器架构理解(如ARM Cortex-M、AVR、PIC)
基本硬件接口知识(I2C、SPI、UART、GPIO)
版本控制工具使用(Git)
构建系统基础(Makefile、CMake)
阅读英文技术文档的能力
调试工具使用(逻辑分析仪、示波器、调试器)
适用场景
基于8位/16位MCU的传感器数据采集与处理项目
低功耗物联网(IoT)终端设备开发
便携式医疗设备或可穿戴设备固件开发
工业控制中的小型控制器编程
嵌入式GUI界面开发(如智能家电面板)
实时性要求不高的电机控制或机器人基础项目
嵌入式系统学习与教学实验