Skip to content

STM32F446 (NUCLEO-F446RE) ​

Board type: stm32-f446

A real NUCLEO-F446RE, flashed through its onboard ST-LINK and reachable from your browser, CLI, or CI pipeline. The classic Cortex-M4F workhorse.

MCUSTM32F446RE (Arm Cortex-M4F @ 180 MHz)
Flash / SRAM512 KB / 128 KB
BoardNUCLEO-F446RE (ST-LINK V2-1 onboard)
Flash toolst-flash via ST-LINK
SerialST-LINK virtual COM port, 115200 baud

Firmware format ​

Raw .bin, flashed at 0x08000000. If your build produces an ELF, you can convert it yourself:

bash
arm-none-eabi-objcopy -O binary firmware.elf firmware.bin

— or skip that step: hand SiliconRig the .elf or Intel .hex directly (from the CLI, SDK, or API) and it converts to a raw image server-side. Either way, the firmware must be linked at the 0x08000000 flash base. Maximum upload size is 16 MB.

Accepted formats: .bin (at 0x08000000), or .elf / Intel .hex (auto-converted; must link at 0x08000000).

Quickstart ​

bash
# A prebuilt image, so this needs no toolchain
curl -LO https://github.com/raws-labs/srig-examples/releases/latest/download/demo-shell-stm32-f446.bin
srig run demo-shell-stm32-f446.bin --board stm32-f446 --expect "0 failed"

# Your own build: the exit code is 0 when the pattern shows up
srig run build/firmware.bin --board stm32-f446 --expect "boot ok"
python
import siliconrig

client = siliconrig.Client()
with client.session(board="stm32-f446") as session:
    session.flash("build/firmware.bin")
    session.serial.expect("boot ok", timeout=30)

Clean state ​

When your session ends the flash is mass-erased and the board is power-cycled, so it reboots from empty flash. The next session starts from a clean chip; nothing you flashed is visible to other users.

Use it in CI ​