待补充 iDoka/awesome-embedded-software

3/5 🧩 软硬件结合 已发布
iDoka 404 Stars 未知 BOM 完整度: 0/5 教程完整度: 0/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界面开发(如智能家电面板)
实时性要求不高的电机控制或机器人基础项目
嵌入式系统学习与教学实验