Skip to content

Tools

SF32 development uses more than a compiler. A practical firmware workflow needs download tools, serial monitors, crash analysis, trace capture, image conversion, RF/audio tuning utilities, and factory programming procedures.

This page is a tool map, not a replacement for each tool's manual. Use it to decide which tool belongs in your workflow and what SiFli should document next.

Tool Map

Table: Tool Map
Tool Use
sftool Cross-platform SF32 download / flashing tool used by OpenSiFli Zephyr and Arduino flows.
SDK UART download scripts First-run flashing scripts generated by SiFli-SDK builds.
CodeKit actions VS Code setup, build, flash, and monitor actions.
AssertDump Crash/assert dump analysis.
SiFli_Trace / UsartServer Trace and UART log capture workflows.
Impeller SiFli flashing/programming workflow documented in SiFli tooling.
eZip / image tooling Asset conversion for compressed graphics pipelines.
RF/audio/factory tools Production calibration, test, and tuning workflows.

Flashing Tools

Use SDK-generated UART scripts for first bring-up because they are produced by the build you just made. Add sftool when you need:

  • A consistent command-line flashing tool across workflows.
  • Zephyr west flash integration.
  • ArduinoCore-zephyr upload behavior.
  • Automation in CI, factory, or regression testing.

Keep both paths documented in your project until the team standardizes on one.

Logging and Trace Tools

For normal development, a serial terminal is enough. For hard failures, capture structured logs and crash data:

  • Save a full boot log from reset.
  • Save the exact ELF/map/symbol files matching the flashed image.
  • Record whether RT-Thread shell, Zephyr shell, or Arduino debug mode was active.
  • Use SiFli diagnostic tools for assert dumps and trace capture when available.

Asset and Production Tools

Display-heavy products should document the asset conversion path, especially when eZip compression or hardware-accelerated graphics are involved. Production products should document RF/audio/factory utilities separately from developer flashing tools so factory operators do not depend on developer-only commands.

Tool Selection Checklist

Table: Tool Selection Checklist
Need Tooling direction
First SDK flash SDK UART download script.
Cross-platform scripted flash sftool.
VS Code build and monitor CodeKit.
Crash after boot Serial log plus assert dump tooling.
Long trace capture Trace/UART server tooling.
Display asset pipeline eZip/image tooling.
Factory programming SiFli production/factory utilities plus locked procedures.

Practical Advice

  • Learn one reliable flash path before adding a second.
  • Save known-good serial logs for every board.
  • Use SDK-generated scripts for first bring-up.
  • Use sftool when you need repeatable command-line flashing across Zephyr, Arduino, or automation.
  • Add crash-analysis tooling before the first hard-to-reproduce bug.

SiFli Team Should Add

  • One page per official tool with install, command examples, supported OSes, and common errors.
  • A unified "which flashing tool should I use?" decision table.
  • Links from crash tutorials to AssertDump and trace tools.
  • Version compatibility between tools, SDK releases, and boards.
  • A factory-safe programming flow that is separate from developer experimentation.

Auto-generated content

This page was compiled/drafted without an existing source document. Verify technical claims against SiFli's official documentation before relying on them.