38 Repos
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.
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.
Dieses Projekt ist ein umfassendes C++-Unit-Testing-Framework, das entwickelt wurde, um Codelogik zu verifizieren und Regressionen durch eine Suite von Assertions-Makros, Test-Fixtures und Ausführungs-Runnern zu identifizieren. Es automatisiert die Entdeckung und Registrierung von Testfällen während der statischen Initialisierung, was es Entwicklern ermöglicht, isolierte Testumgebungen zu definieren, die wiederholbare und vorhersehbare Bedingungen für jede Ausführung gewährleisten. Das Framework zeichnet sich durch eine ausgefeilte Mock-Objekt-Bibliothek aus, die die Simulation von Komponenten und die Durchsetzung strenger Interaktionsanforderungen ermöglicht. Durch das Abfangen virtueller Methodenaufrufe erlaubt es eine präzise Validierung von Argumentmustern, Aufrufzahlen und Rückgabeverhalten. Dieser erwartungsgesteuerte Ansatz wird durch eine deklarative Assertions-Sprache und eine datengesteuerte Engine ergänzt, die gemeinsam die komplexe Validierung von Datenstrukturen, Containerinhalten und Funktionsergebnissen über verschiedene Eingabekonfigurationen hinweg unterstützen. Über die Kernverifizierung hinaus bietet das Projekt umfangreiche Lebenszyklus-Überwachungs- und Event-Listener-Schnittstellen, die eine Integration mit externen Berichts- und Protokollierungssystemen ermöglichen. Es umfasst eine robuste Unterstützung für parametrisierte Testgenerierung, benutzerdefinierte Mock-Erweiterungen und die Verifizierung von Prozessbeendigungen, wodurch sichergestellt wird, dass Entwickler diverse Testszenarien und einzigartige Validierungsanforderungen handhaben können. Das Framework integriert sich direkt in Standard-Build-Systeme, verwaltet Projektabhängigkeiten und Compiler-Konfigurationen, um die Konsistenz über Entwicklungsumgebungen hinweg aufrechtzuerhalten. Es wird als quellbasierte Bibliothek vertrieben, die Standard-Konfigurationsdateien verwendet, um das Einrichten der Umgebung und die Ausführung der Test-Binärdateien zu automatisieren.
Comprehensive C++ unit testing framework.
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.
Mosquitto ist ein MQTT-Message-Broker und IoT-Messaging-Server, der für das Routing von Daten zwischen Publishern und Subscribern entwickelt wurde. Er fungiert als zentraler Netzwerkknoten, der eine leichtgewichtige Kommunikation zwischen verteilten Sensoren, Controllern und anderen Internet-of-Things-Geräten ermöglicht. Das Projekt enthält ein MQTT-Bridging-Gateway, das dazu dient, separate Broker zu verknüpfen, wodurch Traffic über verschiedene Netzwerkstandorte oder Sicherheitszonen hinweg geroutet und synchronisiert werden kann. Es bietet zudem eine Client-Implementierung für die Verbindung mit und Interaktion mit dem Broker. Das System verwaltet topic-basiertes Message-Routing und Pub/Sub-Austausch, unterstützt durch Broker-Zugriffskontrolle und Authentifizierung. Es enthält Funktionen für Datenpersistenz zur Wiederherstellung des Zustands nach Neustarts sowie ein webbasiertes Interface für die Broker-Administration und das Monitoring.
Open-source MQTT message broker.
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.
Unity ist ein leichtgewichtiges Unit-Testing-Framework für C, das die erforderliche Assertion-Bibliothek, den Test-Runner und Berichtsmechanismen zur Überprüfung der Code-Korrektheit bereitstellt. Es fungiert als Kern-Testinfrastruktur zur Organisation und Ausführung von Unit-Tests in C-Umgebungen. Das Framework ist für die Validierung von System-Level- und Embedded-Software konzipiert, mit spezifischen Funktionen zur Überprüfung von Firmware und Hardware-Treibern. Es konzentriert sich auf Speicherintegrität und Pointer-Validität, was die Validierung von Pointer-Zuständen und die Inspektion roher Speicherblöcke ermöglicht. Das Toolset deckt ein breites Spektrum an Vergleichstypen ab, einschließlich numerischer Verifizierung für Integer, Bitmuster und Fließkommawerte. Es bietet zudem Dienstprogramme zur Validierung nullterminierter Strings, Array-Inhalte und boolescher Logik, während es benutzerdefinierte Fehlermeldungen unterstützt, um Kontext während des Debuggings bereitzustellen.
Lightweight unit testing framework for embedded systems.
Side-Menu.Android ist eine wiederverwendbare UI-Komponente für Android-Anwendungen, die eine ausziehbare Navigationsleiste (Slide-out Navigation Drawer) bereitstellt. Sie wurde entwickelt, um Entwicklern dabei zu helfen, Anwendungsbereiche und Benutzeroptionen in einem strukturierten, verborgenen Panel zu organisieren, das eine saubere Schnittstelle für den primären Inhaltsbereich beibehält. Die Komponente zeichnet sich durch ihre visuelle Präsentation aus, die den Material Design-Richtlinien folgt, um eine konsistente und intuitive Benutzererfahrung zu gewährleisten. Sie verfügt über eine datengesteuerte Menühierarchie, die eine logische Gruppierung von Navigationselementen ermöglicht, und integriert flüssige kreisförmige Reveal-Animationen, um polierte visuelle Übergänge beim Öffnen oder Schließen des Menüs zu bieten. Durch die Kapselung komplexer Layout- und Interaktionslogik in eine einzige, modulare Klasse vereinfacht die Bibliothek die Implementierung der Navigation über mehrere Bildschirme hinweg. Sie unterstützt ereignisgesteuerte Übergänge, was es Entwicklern ermöglicht, Menüinteraktionen von Inhaltsaktualisierungen zu entkoppeln, um eine saubere und reaktionsschnelle Anwendungsarchitektur zu wahren.
Provides utility libraries and drivers for embedded system development.
EasyLogger ist eine leichtgewichtige C/C++-Logging-Bibliothek und ein asynchrones Framework für eingebettete Systeme, IoT-Geräte und Wearables. Es fungiert als ressourceneffizienter Logger und Flash-Speichermanager und bietet Tools für Low-Level-Debugging und die Aufzeichnung von Systemereignissen bei minimalem ROM- und RAM-Bedarf. Das Projekt zeichnet sich durch ein asynchrones Logging-Modell aus, das Nachrichten in einem separaten Thread puffert, wodurch Logging-Operationen die Echtzeit-Anwendungsausführung nicht blockieren. Es enthält einen spezialisierten Flash-Speichermanager, der zirkuläre Pufferung nutzt, um Logs in nicht-flüchtigem Speicher zu persistieren und so sicherzustellen, dass kritische Daten über Geräte-Reboots hinweg erhalten bleiben. Die Bibliothek deckt ein breites Spektrum an Beobachtbarkeitsfunktionen ab, einschließlich System-Assertions zur Zustandsvalidierung, Severity-Filterung zur Kompilier- und Laufzeit sowie die Generierung von rohen binären Hex-Dumps. Sie unterstützt die Anreicherung von Metadaten mit Zeitstempeln und Thread-IDs sowie eine portable Schnittstelle zur Weiterleitung von Logs an benutzerdefinierte Ziele wie serielle Schnittstellen oder Dateien. Das System stellt die Datenintegrität durch Schreibsynchronisation sicher und bietet Mechanismen für das manuelle Leeren von Puffern und das Abrufen gespeicherter Logs.
Lightweight and high-performance C/C++ logging library.
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.
Simple .INI file parser in C, good for embedded systems
C-based parser for INI configuration files.
Protocol Buffers implementation in C
Protocol buffers implementation for C.
Clone of the mercurial repository http://zbar.hg.sourceforge.net:8000/hgroot/zbar/zbar
Software suite for barcode and QR code scanning.
zlog is a reliable, high-performance, thread safe, flexible, clear-model, pure C logging library.
High-reliability and high-performance C logging library.
Lightweight IoT device information storage solution: KV/IAP/LOG. | 轻量级物联网设备信息存储方案:参数存储、在线升级及日志存储 ,全新一代版本请移步至 https://github.com/armink/FlashDB
Lightweight library for embedded Flash memory storage.
中文页 | English
Automatic error code tracing for ARM Cortex-M MCUs.
一个功能强大的嵌入式shell
Powerful shell interface for embedded systems.
SFUD 是一款开源的串行 SPI Flash 通用驱动库。由于现有市面的串行 Flash 种类居多,各个 Flash 的规格及命令存在差异, SFUD 就是为了解决这些 Flash 的差异现状而设计,让我们的产品能够支持不同品牌及规格的 Flash,提高了涉及到 Flash 功能的软件的可重用性及可扩展性,同时也可以规避 Flash 缺货或停产给产品所带来的风险。
Universal driver library for serial SPI Flash.
Library provides generic FIFO ring buffer implementation.
Lightweight ring buffer manager.
Melon
C framework library designed to simplify development.