awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
blackmagic-debug avatar

blackmagic-debug/blackmagicArchived

0
View on GitHub↗
3,715 stars·844 forks·GPL-3.0·3 vuescodeberg.org/blackmagic-debug/blackmagic↗

Blackmagic

Blackmagic is a GDB server for embedded hardware that translates GDB remote protocol messages into JTAG and SWD commands. It functions as an ARM and RISC-V debugger and hardware debug probe manager, enabling users to inspect memory, control execution, and manage registers on ARM Cortex and RISC-V cores.

The project distinguishes itself by acting as a remote hardware debugging bridge that can stream GDB server traffic over TCP/IP to control physical hardware from a remote machine. It also provides a JTAG and SWD interface to connect host computers to target hardware and serves as an embedded flash programmer for reading, erasing, and writing firmware images to on-chip and SPI flash memory.

The system covers broad capabilities in debug probe management, interfacing with various hardware probes such as CMSIS-DAP, J-Link, and ST-Link. It includes features for embedded device monitoring, such as capturing real-time logs and data using semihosting or serial wire output, and supports automated target identification to remove the need for configuration scripts.

The software communicates with host operating systems using a standard USB CDC ACM virtual serial port to eliminate the need for proprietary drivers.

Features

  • GDB Server Implementations - Implements a GDB server that allows standard debuggers to control ARM Cortex and RISC-V microcontrollers.
  • Embedded Systems Debugging - Performs low-level analysis, watchpoints, and register examinations on ARM Cortex and RISC-V embedded targets.
  • RISC-V Debugging - Acts as a GDB server to control execution and inspect registers and memory on RISC-V processor cores.
  • Flash Memory Access - Provides raw flash memory hardware access for reading and writing persistent data, including SPI flash.
  • Flash Memory Erasing Tools - Provides utilities for clearing specific memory ranges or performing mass erasures of target device flash memory.
  • Flash Storage Managers - Manages non-volatile flash memory including reading, writing, and erasing for various bank configurations.
  • Network Bridging - Streams GDB server traffic over IPv4 and IPv6 networks to enable remote hardware debugging via TCP/IP.
  • Signal Translation - Translates high-level GDB remote protocol commands into low-level JTAG and SWD physical signals.
  • Interface Detection - Automatically detects whether a target microcontroller uses JTAG or SWD communication protocols.
  • ARM Cortex Debugging - Controls and inspects ARM Cortex-M, Cortex-A, and Cortex-R processor cores via JTAG and SWD.
  • ARM Debugging - Enables memory inspection and execution control on ARM Cortex processor cores.
  • Automatic Target Detection - Automatically identifies connected microcontrollers by scanning hardware IDs and ROM tables.
  • Binary Flashing - Writes compiled binary images to microcontroller flash and verifies the data against the source.
  • Firmware Flashing - Uploads firmware images in standard formats like Intel HEX to a microcontroller's non-volatile memory.
  • Debug Probe Abstractions - Interfaces with a variety of debug probes to establish stable communication with target hardware.
  • Probe Managers - Interfaces with various hardware probes like CMSIS-DAP, J-Link, and ST-Link to manage target devices.
  • Microcontroller Flash Programmers - Reads, writes, and verifies binary files directly on the non-volatile flash memory of microcontrollers.
  • GDB-to-Hardware Bridges - Connects GDB to microcontrollers via JTAG and SWD interfaces to enable hardware debugging.
  • Microcontroller Debugging Workflows - Provides workflows for monitoring microcontroller state and diagnostic data via serial interfaces.
  • SPI Flash Programming - Reads and writes to external SPI NOR flash chips through emulated programmer interfaces.
  • Protocol Translation Bridges - Acts as a structural bridge translating GDB remote protocol messages into JTAG and SWD commands.
  • Probe Backend Abstractions - Interfaces with target hardware using multiple probe backends to maintain stable communication links.
  • Hardware Execution Control - Manages target execution through a combination of hardware watchpoints and flash memory breakpoints.
  • Hardware Watchpoint Management - Enables monitoring of specific execution paths by setting hardware watchpoints on ARM and RISC-V processors.
  • Remote Debugging Bridges - Streams debugging traffic over IPv4 or IPv6 network sockets to enable remote control of hardware probes.
  • Hardware Debugging Protocols - Implements protocols to communicate between GDB and remote hardware probes for physical target control.
  • Hardware Watchpoints - Configures hardware watchpoints to trigger execution breaks on specific memory address accesses.
  • Debug Probe Interfaces - Establishes communication links between the host and target hardware using standardized debug probes.
  • Debug Probe Compatibility - Communicates with a diverse range of hardware probes including ST-Link, CMSIS-DAP, J-Link, and FTDI MPSSE.
  • Hardware Capability Probes - Manages various hardware probe types and adaptors to ensure a reliable connection to the target.
  • Processor State Inspection - Analyzes the internal state of the target processor, including registers and memory.
  • Embedded System State Managers - Manages target power states and freezes watchdog timers to prevent system resets during CPU halts.
  • Transfer Stubs - Uses optimized memory-resident code on the target device to accelerate binary image writing to flash.
  • Port-Based Detection - Scans connected hardware ports automatically to identify specific microcontroller devices before attaching a debugger.
  • Hardware Debugging - Provides tools for diagnosing and managing live hardware environments, including sleep modes and option bytes.
  • Host-Target Data Streaming - Exchanges data between the target microcontroller and host computer using semihosting and serial channels.
  • Serial Communication Interfaces - Communicates with host computers using a virtual serial port (USB CDC ACM) to eliminate proprietary drivers.
  • USB Serial Interfaces - Uses standard USB CDC ACM virtual serial ports to communicate with host operating systems without proprietary drivers.
  • Real-Time Target Data Streaming - Captures and displays real-time transfer data from the target microcontroller via a USB serial connection.
  • Semihosting Data Exchange - Exchanges data and logs between target hardware and the host computer using semihosting and serial wire.
  • Interface Protocol Scanning - Implements automated scanning of target devices to determine the active communication protocol for connection automation.
  • Hardware ID Device Discovery - Identifies connected microcontrollers by scanning hardware interfaces for designer IDs and ROM tables.
  • Semihosting Redirections - Redirects microcontroller system calls and real-time transfer data to a host USB serial connection.
  • Hardware Probe Logs - Streams real-time diagnostic and debug logs from the probe's auxiliary serial interface.
  • Probe Hardware Identification - Scans for and identifies connected debug probes across various communication backends.
  • Embedded Log Capture - Captures real-time logs and execution data from embedded microcontrollers using semihosting and serial wire.

Historique des stars

Graphique de l'historique des stars pour blackmagic-debug/blackmagicGraphique de l'historique des stars pour blackmagic-debug/blackmagic

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Blackmagic

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Blackmagic.
  • stlink-org/stlinkAvatar de stlink-org

    stlink-org/stlink

    5,093Voir sur GitHub↗

    stlink is a toolset for ARM Cortex-M flashing, firmware management, and debug server operations, with specific support for STM32 microcontrollers. It provides an ARM Cortex-M flash programmer for writing binary and hex files, an ITM trace logger for real-time instrumentation data, and a SWD/JTAG debug server. The project includes a graphical user interface for managing MCU firmware and exporting memory, as well as a remote server that allows external debuggers to control execution and inspect registers on target hardware. The toolset covers microcontroller memory management through flash era

    Carmboardchip
    Voir sur GitHub↗5,093
  • probe-rs/probe-rsAvatar de probe-rs

    probe-rs/probe-rs

    2,599Voir sur GitHub↗

    probe-rs is an embedded debugging toolset used for flashing, debugging, and inspecting microcontrollers via hardware debug probes. It functions as an embedded firmware flasher, a memory manager for reading and writing to processor registers, and a server implementing the Debug Adapter Protocol to connect hardware debugging to various code editors. The project includes a CMSIS-Pack target parser to extract device metadata and flash configurations from industry-standard definition files. It provides a driver-based probe abstraction to interact with various hardware debug probes regardless of th

    Rustarmarm-corescoresight
    Voir sur GitHub↗2,599
  • earlephilhower/arduino-picoAvatar de earlephilhower

    earlephilhower/arduino-pico

    2,812Voir sur GitHub↗

    This project provides a development framework that enables programming Raspberry Pi Pico microcontrollers using the Arduino environment and standard C++ libraries. It serves as a unified platform for compiling, debugging, and deploying firmware to diverse hardware boards based on the RP2040 and RP2350 architectures. The framework distinguishes itself through native support for symmetric multicore execution, allowing developers to distribute independent tasks across multiple processor cores to manage complex workloads. It also includes a specialized library for USB peripheral emulation, enabli

    Ca2dparduinoarduino-pico
    Voir sur GitHub↗2,812
  • tinygo-org/tinygoAvatar de tinygo-org

    tinygo-org/tinygo

    17,529Voir sur GitHub↗

    TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to resource-constrained microcontrollers and WebAssembly environments. It provides a bare-metal runtime environment that enables high-level code execution without the need for a traditional operating system, utilizing an LLVM-based backend to generate efficient machine instructions. The project distinguishes itself through aggressive optimization techniques tailored for small hardware, including a static memory allocation strategy and whole-program dead code elimination that significantly re

    Goadafruitarduinoarm
    Voir sur GitHub↗17,529
Voir les 30 alternatives à Blackmagic→

Questions fréquentes

Que fait blackmagic-debug/blackmagic ?

Blackmagic is a GDB server for embedded hardware that translates GDB remote protocol messages into JTAG and SWD commands. It functions as an ARM and RISC-V debugger and hardware debug probe manager, enabling users to inspect memory, control execution, and manage registers on ARM Cortex and RISC-V cores.

Quelles sont les fonctionnalités principales de blackmagic-debug/blackmagic ?

Les fonctionnalités principales de blackmagic-debug/blackmagic sont : GDB Server Implementations, Embedded Systems Debugging, RISC-V Debugging, Flash Memory Access, Flash Memory Erasing Tools, Flash Storage Managers, Network Bridging, Signal Translation.

Quelles sont les alternatives open-source à blackmagic-debug/blackmagic ?

Les alternatives open-source à blackmagic-debug/blackmagic incluent : stlink-org/stlink — stlink is a toolset for ARM Cortex-M flashing, firmware management, and debug server operations, with specific support… probe-rs/probe-rs — probe-rs is an embedded debugging toolset used for flashing, debugging, and inspecting microcontrollers via hardware… earlephilhower/arduino-pico — This project provides a development framework that enables programming Raspberry Pi Pico microcontrollers using the… tinygo-org/tinygo — TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to… platformio/platformio-core — PlatformIO Core is a toolset for embedded software development that manages the compilation, flashing, and debugging… hyperdbg/hyperdbg — HyperDbg is a hardware-assisted kernel-mode debugging platform that leverages virtualization to monitor and control…