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
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
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
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
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 main features of blackmagic-debug/blackmagic are: GDB Server Implementations, Embedded Systems Debugging, RISC-V Debugging, Flash Memory Access, Flash Memory Erasing Tools, Flash Storage Managers, Network Bridging, Signal Translation.
Open-source alternatives to blackmagic-debug/blackmagic include: 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…