awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

38 个仓库

Awesome GitHub RepositoriesEmbedded Software Libraries

Utility libraries, frameworks, and drivers for embedded system development.

Explore 38 awesome GitHub repositories matching part of an awesome list · Embedded Software Libraries. Refine with filters or upvote what's useful.

Awesome Embedded Software Libraries GitHub Repositories

用 AI 发现最棒的仓库。我们将通过 AI 为您搜索最匹配的仓库。
  • ffmpeg/ffmpegFFmpeg 的头像

    FFmpeg/FFmpeg

    61,176在 GitHub 上查看↗

    FFmpeg is a cross-platform multimedia framework designed for the recording, conversion, and streaming of audio and video content. It functions as a comprehensive toolkit that provides both a command-line utility for direct media manipulation and a collection of low-level libraries for integration into custom applications. At its core, the project utilizes a packet-based stream engine and a format-agnostic abstraction layer to handle diverse media standards, containers, and network protocols. The framework distinguishes itself through a modular, graph-based filter execution model that allows f

    Library for processing multimedia content.

    Caudiocffmpeg
    在 GitHub 上查看↗61,176
  • google/googletestgoogle 的头像

    google/googletest

    38,713在 GitHub 上查看↗

    本项目是一个全面的 C++ 单元测试框架,旨在通过一套断言宏、测试夹具和执行运行器来验证代码逻辑并识别回归。它在静态初始化期间自动发现并注册测试用例,允许开发者定义隔离的测试环境,确保每次执行都有可重复且可预测的条件。 该框架的独特之处在于其复杂的模拟对象(mock object)库,能够模拟组件并强制执行严格的交互要求。通过拦截虚方法调用,它允许对参数模式、调用次数和返回行为进行精确验证。这种基于期望的方法辅以声明式断言语言和数据驱动引擎,共同支持对各种输入配置下的数据结构、容器内容和函数结果进行复杂验证。 除了核心验证外,该项目还提供广泛的生命周期监控和事件监听器接口,支持与外部报告和日志系统集成。它包括对参数化测试生成、自定义模拟扩展和进程终止验证的强大支持,确保开发者能够处理多样化的测试场景和独特的验证要求。 该框架直接集成到标准构建系统中,管理项目依赖项和编译器配置,以保持开发环境的一致性。它作为基于源码的库分发,利用标准配置文件来自动化环境设置和测试二进制文件的执行。

    Comprehensive C++ unit testing framework.

    C++
    在 GitHub 上查看↗38,713
  • davegamble/cjsonDaveGamble 的头像

    DaveGamble/cJSON

    12,466在 GitHub 上查看↗

    cJSON is a lightweight library for parsing, creating, and modifying JSON data structures within C applications. It provides a comprehensive set of utilities for transforming raw text into navigable objects, manipulating data fields within collections, and serializing complex structures into formatted or unformatted strings. The library is designed for memory-sensitive and resource-constrained environments, utilizing manual memory management and type-tagged union structures to maintain a minimal footprint. It employs recursive descent parsing and in-place string manipulation to process data ef

    Lightweight JSON parsing library written in C.

    C
    在 GitHub 上查看↗12,466
  • eclipse/mosquittoeclipse 的头像

    eclipse/mosquitto

    11,008在 GitHub 上查看↗

    Mosquitto 是一个 MQTT 消息代理和物联网(IoT)消息服务器,旨在在发布者和订阅者之间路由数据。它作为一个中心化网络枢纽,实现了分布式传感器、控制器和其他物联网设备之间的轻量级通信。 该项目包含一个用于链接不同代理的 MQTT 桥接网关,允许流量在不同的网络位置或安全区域之间进行路由和同步。它还提供了一个用于连接并与代理交互的客户端实现。 该系统管理基于主题的消息路由和发布/订阅交换,并由代理访问控制和身份验证提供支持。它包括用于在重启后恢复状态的数据持久化功能,以及用于代理管理和监控的 Web 界面。

    Open-source MQTT message broker.

    C
    在 GitHub 上查看↗11,008
  • armmbed/mbedtlsARMmbed 的头像

    ARMmbed/mbedtls

    6,712在 GitHub 上查看↗

    Mbed TLS is an open-source TLS and DTLS library with a small footprint, designed for embedded systems and IoT devices. It provides a portable cryptographic library that includes symmetric ciphers, hashing, and public-key cryptography, along with a reference implementation of the PSA Cryptography API for standardized cryptographic operations across platforms. The library also offers X.509 certificate management for parsing, validating, and managing certificate chains in secure communications. The library is built around a platform abstraction layer that decouples it from OS-specific services t

    Portable and flexible SSL/TLS library.

    C
    在 GitHub 上查看↗6,712
  • throwtheswitch/unityThrowTheSwitch 的头像

    ThrowTheSwitch/Unity

    5,265在 GitHub 上查看↗

    Unity 是一个用于 C 语言的轻量级单元测试框架,提供了验证代码正确性所需的断言库、测试运行器和报告机制。它作为在 C 环境中组织和执行单元测试的核心测试基础设施。 该框架专为系统级和嵌入式软件验证而设计,具有验证固件和硬件驱动程序的特定功能。它专注于内存完整性和指针有效性,允许验证指针状态并检查原始内存块。 该工具集涵盖了广泛的比较类型,包括针对整数、位模式和浮点值的数值验证。它还提供用于验证以空字符结尾的字符串、数组内容和布尔逻辑的实用程序,同时支持自定义失败消息以在调试期间提供上下文。

    Lightweight unit testing framework for embedded systems.

    C
    在 GitHub 上查看↗5,265
  • yalantis/side-menu.androidYalantis 的头像

    Yalantis/Side-Menu.Android

    5,212在 GitHub 上查看↗

    Side-Menu.Android is a reusable UI component for Android applications that provides a slide-out navigation drawer. It is designed to help developers organize application sections and user options into a structured, hidden panel that maintains a clean interface for the primary content area. The component distinguishes itself through its visual presentation, which follows Material Design guidelines to ensure a consistent and intuitive user experience. It features a data-driven menu hierarchy that allows for logical grouping of navigation items, and it incorporates fluid circular reveal animatio

    Provides utility libraries and drivers for embedded system development.

    Javaandroidanimationdrawer-layout
    在 GitHub 上查看↗5,212
  • armink/easyloggerarmink 的头像

    armink/EasyLogger

    4,641在 GitHub 上查看↗

    EasyLogger 是一个轻量级的 C/C++ 日志库和异步框架,专为嵌入式系统、物联网设备和可穿戴设备设计。它作为资源高效的记录器和闪存管理器,为低级调试和系统事件记录提供了工具,且对 ROM 和 RAM 的要求极低。 该项目的特色在于异步日志模型,将消息缓冲到独立线程,防止日志操作阻塞实时应用执行。它包含一个专门的闪存管理器,利用循环缓冲将日志持久化到非易失性存储中,确保关键数据在设备重启后得以保留。 该库涵盖了广泛的可观测性功能,包括用于状态验证的系统断言、编译时和运行时的严重性过滤,以及原始二进制十六进制转储的生成。它支持通过时间戳和线程标识符进行元数据增强,并提供了一个可移植接口,用于将日志路由到串口或文件等自定义目的地。 该系统通过写入同步确保数据完整性,并提供了手动缓冲区刷新和存储日志检索的机制。

    Lightweight and high-performance C/C++ logging library.

    C
    在 GitHub 上查看↗4,641
  • zserge/jsmnzserge 的头像

    zserge/jsmn

    4,065在 GitHub 上查看↗

    jsmn is a lightweight JSON parser library written in C. It provides zero-copy tokenization and incremental parsing designed for use in embedded systems and memory-constrained environments. The library identifies structural JSON elements by providing offsets into the original string rather than allocating new memory for data. It uses a single-pass scanning method and requires static-buffer allocation, meaning the caller provides the memory for tokens to avoid dynamic allocation during the parsing process. The parser supports incremental streaming, allowing it to process JSON data in chunks fr

    Compact JSON parsing library for C.

    Cjson-datajson-stringparsing
    在 GitHub 上查看↗4,065
  • benhoyt/inihbenhoyt 的头像

    benhoyt/inih

    3,007在 GitHub 上查看↗

    Simple .INI file parser in C, good for embedded systems

    C-based parser for INI configuration files.

    C++cconfigparserembedded-systems
    在 GitHub 上查看↗3,007
  • protobuf-c/protobuf-cprotobuf-c 的头像

    protobuf-c/protobuf-c

    2,973在 GitHub 上查看↗

    Protocol Buffers implementation in C

    Protocol buffers implementation for C.

    C++
    在 GitHub 上查看↗2,973
  • zbar/zbarZBar 的头像

    ZBar/ZBar

    2,540在 GitHub 上查看↗

    Clone of the mercurial repository http://zbar.hg.sourceforge.net:8000/hgroot/zbar/zbar

    Software suite for barcode and QR code scanning.

    C
    在 GitHub 上查看↗2,540
  • hardysimpson/zlogHardySimpson 的头像

    HardySimpson/zlog

    2,534在 GitHub 上查看↗

    zlog is a reliable, high-performance, thread safe, flexible, clear-model, pure C logging library.

    High-reliability and high-performance C logging library.

    C
    在 GitHub 上查看↗2,534
  • armink/easyflasharmink 的头像

    armink/EasyFlash

    2,327在 GitHub 上查看↗

    Lightweight IoT device information storage solution: KV/IAP/LOG. | 轻量级物联网设备信息存储方案:参数存储、在线升级及日志存储 ,全新一代版本请移步至 https://github.com/armink/FlashDB

    Lightweight library for embedded Flash memory storage.

    Cembeddedflashiap
    在 GitHub 上查看↗2,327
  • 0x1abin/multibutton0x1abin 的头像

    0x1abin/MultiButton

    2,281在 GitHub 上查看↗

    Event-driven button driver module.

    C
    在 GitHub 上查看↗2,281
  • armink/cmbacktracearmink 的头像

    armink/CmBacktrace

    2,120在 GitHub 上查看↗

    中文页 | English

    Automatic error code tracing for ARM Cortex-M MCUs.

    C
    在 GitHub 上查看↗2,120
  • nevermindzzt/letter-shellNevermindZZT 的头像

    NevermindZZT/letter-shell

    1,813在 GitHub 上查看↗

    一个功能强大的嵌入式shell

    Powerful shell interface for embedded systems.

    C
    在 GitHub 上查看↗1,813
  • armink/sfudarmink 的头像

    armink/SFUD

    1,678在 GitHub 上查看↗

    SFUD 是一款开源的串行 SPI Flash 通用驱动库。由于现有市面的串行 Flash 种类居多,各个 Flash 的规格及命令存在差异, SFUD 就是为了解决这些 Flash 的差异现状而设计,让我们的产品能够支持不同品牌及规格的 Flash,提高了涉及到 Flash 功能的软件的可重用性及可扩展性,同时也可以规避 Flash 缺货或停产给产品所带来的风险。

    Universal driver library for serial SPI Flash.

    C
    在 GitHub 上查看↗1,678
  • majerle/lwrbMaJerle 的头像

    MaJerle/lwrb

    1,482在 GitHub 上查看↗

    Library provides generic FIFO ring buffer implementation.

    Lightweight ring buffer manager.

    C
    在 GitHub 上查看↗1,482
  • water-melon/melonWater-Melon 的头像

    Water-Melon/Melon

    1,457在 GitHub 上查看↗

    Melon

    C framework library designed to simplify development.

    C
    在 GitHub 上查看↗1,457
上一个12下一个
  1. Home
  2. Part of an Awesome List
  3. Developer Tools
  4. Embedded Software Libraries