7 dépôts
Specialized tools for inspecting memory and execution flow on microcontroller hardware using debug probes.
Distinct from Debugging and Inspection Tools: Focuses on hardware-level firmware inspection via probes, whereas the parent covers general application state and execution tools.
Explore 7 awesome GitHub repositories matching development tools & productivity · Firmware Debugging. Refine with filters or upvote what's useful.
This project is a keyboard firmware framework and programmable keyboard ecosystem designed for Atmel AVR and ARM microcontrollers. It provides the embedded software necessary to implement the USB Human Interface Device standard, allowing hardware to communicate keystrokes and mouse movements to a host computer. The framework distinguishes itself by offering a comprehensive toolchain for custom hardware development, including a command line interface for project scaffolding, firmware flashing, and configuration linting. It supports a variety of flexible configuration methods, allowing users to
Provides real-time firmware inspection tools for ARM microcontrollers using hardware debug probes.
PlatformIO is an embedded development platform and cross-platform build system for writing, compiling, and uploading firmware to various microcontroller architectures. It provides a unified environment for managing embedded software development across different hardware platforms. The project functions as an embedded library manager through a centralized registry for discovering and integrating third-party drivers and libraries. It also serves as a firmware debugging tool and an embedded unit testing framework, allowing for real-time hardware inspection and the execution of test suites direct
Provides a suite for real-time hardware inspection and runtime error analysis across different microcontroller debug probes.
This project is a software-defined radio platform designed to capture, analyze, and broadcast radio frequency signals across a wide spectrum. It provides a programmable hardware interface for transmitting and receiving radio signals, enabling spectrum analysis and wireless data monitoring. The system is distinguished by its ability to synchronize multiple devices using a shared external clock and hardware triggers to ensure precise timing and sample accuracy. It supports advanced signal routing, allowing ports to be mapped based on frequency or time to enable specialized operations like pseud
Allows inspection of processor registers and setting of breakpoints to analyze runtime behavior and hard faults.
edk2 est un projet de développement pour créer un firmware système conforme à la spécification UEFI. Il fournit l'infrastructure nécessaire pour initialiser les plateformes matérielles et démarrer les systèmes d'exploitation sur plusieurs architectures CPU. Le projet utilise une architecture de firmware modulaire qui découple les protocoles de gestion de haut niveau des couches de transport physiques. Il implémente des fonctionnalités de sécurité critiques, notamment une chaîne de démarrage mesurée (measured boot), des primitives cryptographiques pour l'authentification d'images et la prise en charge des implémentations matérielles et logicielles du Trusted Platform Module (TPM). Sa surface de capacité s'étend aux standards de gestion de plateforme tels que Redfish, IPMI et MCTP, ainsi qu'à la génération de tables ACPI dynamiques. Le projet inclut également une suite complète d'outils pour la compilation multi-architecture, la simulation de firmware et l'émulation de plateforme virtuelle pour des hyperviseurs comme KVM, Xen et QEMU. Le projet inclut un système de build multi-cible et une orchestration de tests automatisés pour valider la fonctionnalité du firmware dans des environnements émulés et physiques.
Redirects internal firmware debug messages to files or serial ports for system analysis and troubleshooting.
EasyLogger est une bibliothèque de journalisation C/C++ légère et un framework asynchrone conçu pour les systèmes embarqués, les appareils IoT et les objets connectés. Il fonctionne comme un logger efficace en ressources et un gestionnaire de mémoire flash, fournissant des outils pour le débogage bas niveau et l'enregistrement d'événements système avec des besoins minimaux en ROM et RAM. Le projet se distingue par un modèle de journalisation asynchrone qui met en mémoire tampon les messages dans un thread séparé, empêchant les opérations de journalisation de bloquer l'exécution de l'application en temps réel. Il inclut un gestionnaire de mémoire flash spécialisé qui utilise une mémoire tampon circulaire pour conserver les journaux dans un stockage non volatil, garantissant que les données critiques sont préservées lors des redémarrages de l'appareil. La bibliothèque couvre un large éventail de capacités d'observabilité, notamment les assertions système pour la validation d'état, le filtrage de sévérité à la compilation et à l'exécution, et la génération de dumps hexadécimaux binaires bruts. Elle prend en charge l'enrichissement des métadonnées avec des horodatages et des identifiants de thread, ainsi qu'une interface portable pour acheminer les journaux vers des destinations personnalisées telles que des ports série ou des fichiers. Le système garantit l'intégrité des données grâce à la synchronisation des écritures et fournit des mécanismes pour le vidage manuel des tampons et la récupération des journaux stockés.
Provides low-level debugging capabilities for firmware, including severity filters and raw binary dumps.
CircuitPython is a specialized derivative of the MicroPython runtime designed as an embedded Python interpreter for microcontrollers. It provides a high-level language environment that allows for direct hardware access through a dedicated hardware abstraction layer and a Python microcontroller runtime. The project is distinguished by firmware that exposes the microcontroller as a native USB mass storage device. This allows users to edit code directly on the device as if it were a removable drive, eliminating the need for specialized flashing tools and enabling filesystem-triggered code reload
Provides specialized tools for inspecting memory and execution flow on microcontroller hardware using debug probes.
picorv32 is a size-optimized RISC-V CPU core and synthesizable processor IP designed for integration into FPGA and ASIC hardware designs. It serves as an open-source CPU architecture and embedded system-on-chip component that implements a standard RISC-V instruction set. The design features a modular architecture that allows for the integration of external coprocessors to implement custom non-branching instructions. It includes a parameterized integer unit with configurable multiplication and division cores to balance performance against total logic gate count. The project covers a broad ran
Executes code from memory and traces instruction flow to debug embedded software.