This example demonstrates STM32H563 capabilities in two environments:
- LabWired emulator
- Real NUCLEO-H563ZI board
The goal is simple: run the same demo story in both places and prove deterministic, repeatable behavior.
For the hardware-vs-simulation parity pipeline that backs this demo, see ../../docs/golden_reference.md.
- Boot/reset flow for STM32H563 image loading.
- UART logging through board VCP path (
USART3). - Board IO behavior for LEDs (
PB0,PF4,PG4) and button (PC13). - Full-chip smoke path for currently modeled H563 peripherals (
RCC,SYSTICK,UART,GPIOA..GPIOG). - Hardware-in-the-loop parity: blink + UART output on a physical NUCLEO-H563ZI board.
- Golden Reference: Standardized determinism proof between hardware and simulation.
Run from the repo root.
- Open
examples/nucleo-h563zias the workspace folder. - Run
LabWired: Run in LabWired(or clickRun in LabWiredin the status bar).
The example root Makefile builds firmware-h563-io-demo and writes target/firmware,
which is the firmware path the extension launches.
Run in LabWired now starts execution immediately and UART text appears in the LabWired output panel.
examples/nucleo-h563zi/scripts/run_full_example.shThis builds demo firmware and runs deterministic smoke checks. No generated artifacts are written into the repo by default.
examples/nucleo-h563zi/scripts/run_blink_uart_dual.sh --port /dev/ttyACM0This prints emulator UART evidence first, then live UART from the real board.
examples/nucleo-h563zi/scripts/run_video_demo.sh --mode all --port /dev/ttyACM0 --keep-artifactsIf you only want hardware:
examples/nucleo-h563zi/scripts/run_blink_uart_hardware.sh --port /dev/ttyACM0Emulator checks:
OKH563-IOPB0=1 PF4=1 PG4=1 ...PB0=0 PF4=0 PG4=0 ...RCC=1 SYSTICK=1 UART=1ALL=1
Command Center note:
system.yamlboard_iois the board wiring source of truth.- VS Code shows LED/button state from emulated GPIO register values (no LED-specific emulation path).
Real board checks:
H563-BLINK-UARTBLINK ... PB0=1 ...BLINK ... PB0=0 ...
VALIDATION.md: step-by-step reproducible runbooksystem.yaml: local system profile used by emulator runsMakefile: VS CodeRun in LabWiredbridge for this example folderboard_firmware/: native C firmware for real-board blink+UARTscripts/run_full_example.sh: one-command emulator showcasescripts/run_blink_uart_dual.sh: one-command emulator + hardware blink demoscripts/run_blink_uart_hardware.sh: hardware-only flash + UART checkscripts/run_blink_uart_emulator.sh: emulator-only blink checkscripts/run_video_demo.sh: concise recording-oriented end-to-end rungolden-reference/: determinism proof artifactsdeterminism_report_h563.json: PASS/FAIL evidencehw_trace.json: hardware instruction tracesim_trace.json: simulation instruction trace Repository hygiene note:
- Recording artifacts/logs are written to
/tmpunless--artifacts-diris provided.
- Chip config:
../../configs/chips/stm32h563.yaml - System config:
../../configs/systems/nucleo-h563zi-demo.yaml - Hardware-vs-simulation parity pipeline:
../../docs/golden_reference.md