Product
One workspace for the full hardware loop.
A generic AI answers from training data. Prescaler answers from your SVD, your ELF, and your live debug session.
Reads real state
Every answer is pulled live off your chip, not guessed from training data, and says exactly where it came from.
One surface
Edit, build, flash, debug, and serial in one app. No context lost switching tools.
Runs on your machine
A real desktop app, not a browser tab. Local work stays fast, with nothing waiting on a network round trip.
Peripheral Browser
Every register on the chip, indexed from the SVD before you type a word. Pause a debug session and fields read live off the target.
HardwarePilot
The agent that reads all of the above. Every answer cites which tool ran and which register or symbol it came from, live in the same window as the code.
RTOS
Live FreeRTOS and Zephyr task state read out of target memory while execution is paused: priority, stack high-water mark, and a SystemView-style event trace.
| Name | State | Priority | Handle | Stack free |
|---|---|---|---|---|
vLEDTask | Running | 2 | 0x20001A40 | 128 words |
vUARTTask | Blocked | 1 | 0x20001B80 | 212 words |
IDLE | Ready | 0 | 0x20001CC0 | 56 words |
ELF Browser
DWARF-backed symbol and section inspection on the actual built binary. Sizes and addresses come from the ELF you just linked, not a guess.
| Name | Addr | Size |
|---|---|---|
.text | 0x08000000 | 8.5 KB |
.rodata | 0x08002214 | 588 B |
.data | 0x20000000 | 312 B |
.bss | 0x20000138 | 4.0 KB |
.heap | 0x20001138 | 512 B |
.stack | 0x20001338 | 1.0 KB |
.debug_info | — | 21.0 KB |
.debug_frame | — | 2.1 KB |
| Name | Type | Addr | Size |
|---|---|---|---|
xTaskIncrementTick | FUNC | 0x080007A0 | 412 B |
xQueueGenericSend | FUNC | 0x08000D50 | 288 B |
prvCheckTasksWaitingTermination | FUNC | 0x08000B20 | 256 B |
vTaskSwitchContext | FUNC | 0x08000620 | 212 B |
uart_printf | FUNC | 0x08001A30 | 188 B |
led_toggle | FUNC | 0x08001B60 | 48 B |
pxCurrentTCB | OBJECT | 0x200001A0 | 4 B |
xSchedulerRunning | OBJECT | 0x200001A4 | 4 B |
Logic Analyzer
Import a sigrok capture and decode I2C, SPI, or UART frames against the same timeline as your debug session.
Core Dump
Capture a full register and memory snapshot at a fault or breakpoint, and hand it to HardwarePilot for offline analysis later.
Build Config
CMake and PlatformIO build targets, flash and RAM usage, and toolchain status in the same window as the code that produced them.
cmake -S . -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=Debug -DENABLE_LOGGING=ON
Your editor, debugger, and hardware in one loop.
Full chip support matrix →