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¶
| 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 flashintegration. - 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¶
| 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
sftoolwhen 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
AssertDumpand 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.