ToolBB-0181

flashgate: a hardware-in-the-loop check for firmware an agent just built

flashgate checks whether firmware an agent just built runs on an STM32 board. It flashes over ST-Link, waits for a boot banner carrying the git hash, drives features over the console and checks register readbacks. Each run ends with an exit code and a JSON record. The README includes console output from an STM32H743 bench.

Open original source github.com · Lion

Shown working
Why this evidence label?

README includes console logs from an STM32H743 bench: flash via OpenOCD, boot banner with git hash and PWM register readbacks.

How we check entries
Preview image for flashgate: a hardware-in-the-loop check for firmware an agent just built
The source's own preview image, from github.com.

Briefing

The firmware prints an identity banner over UART with the git SHA and a dirty marker. It also writes a 64-byte signature with the SHA, build time and a CRC32 to a fixed RAM address. The host reads it through the ST-Link alone, so boot can be confirmed without a serial cable.

After boot, per-board probes send console commands and assert on the replies, such as a TIM3 PWM compare value for an LED. Separate exit codes mark build, flash, silent-board, identity and probe failures, and each run record states what the pass does and does not cover.

A YAML profile describes each bench. CubeProgrammer is the default flasher and OpenOCD the alternative. An optional bench-serve mode accepts runs from a remote agent; the README's sample is a laptop on Wi-Fi driving a wired bench.

From the GitHub API

Repository facts

Repository facts for lion-1209/flashgate, from the GitHub API
Repositorylion-1209/flashgate
Stars1
LicenseMIT Permissive
LanguagePython
Last push12 Oct 2026 17 d ago

Tags

Board
Instrument

Report a problem with this entry