Install & flash
Everything you need to build a firmware image for a Core tile and flash it over USB. If you only want to build in the browser, you can skip all of this and use Studio instead.
Prerequisites
The C SDK builds with the standard ARM embedded toolchain. You’ll need:
- ARM GCC (
arm-none-eabi-gcc) — the cross-compiler. - make — the build runner.
- dfu-util — flashes firmware over USB.
On macOS with Homebrew:
brew install arm-none-eabi-gcc dfu-util makeOn Debian/Ubuntu, the equivalents are gcc-arm-none-eabi, dfu-util, and make via apt.
Build a firmware image
From a project directory, build for your specific Core variant by passing TILE. The build emits a .bin image:
make TILE=Core.ST.L4.1 # the Core's catalog id
# every Core has one — find yours in the catalogTILE value is the Core’s catalog id (the MCU and pin map differ across the Core family, so each variant builds differently). It’s printed on your tile and shown on the catalog page.Flash over USB
USB-programmable Cores — currently Core.ST.L4 or Core.ST.H5 — support runtime USB DFU: no buttons, no jumpers, no probe. Connect the Core over USB and run:
make flash-dfuThe Makefile handles the whole sequence for you:
- detects the USB serial port (
/dev/tty.usbmodem*), - sends a 1200-baud touch to trigger DFU mode (the same convention Arduino uses),
- downloads the new firmware with
dfu-util, and reboots.
Edit code, make flash-dfu, repeat. That’s the inner loop.
First flash & manual DFU
For the very first flash on a board using the ROM bootloader, hold BOOT0 while plugging in USB, then flash normally — after that, make flash-dfu works on its own. To drive dfu-util by hand:
dfu-util -l # verify the device appears: Found DFU: [0483:df11]
dfu-util -a 0 -s 0x08000000:leave -D build/my-firmware.binSWD debugging
For live debugging, flash via SWD with OpenOCD instead. SWD and USB DFU coexist — use SWD to step through code and make flash-dfu for quick iteration:
make flash # flash via SWD (OpenOCD)
