SiFli-SDK¶
本指南从一块刚拆箱的 SF32 开发板开始,使用面向 SF32 器件的、基于 RT-Thread 的官方 SDK SiFli-SDK,通过 UART 跑通 hello_world 示例。
即使计划使用 Arduino、Zephyr 或 MicroPython,也建议先完整走一遍本指南。这样可以在引入其他框架前,先确认开发板、数据线、串口、烧录流程和基础工具链都能正常工作。
你需要准备什么¶
硬件
- 一块 SF32 开发板,例如 SF32LB52-DevKit-LCD,或通过SF32 系列确定的其他开发板。
- 一根连接到开发板 USB-to-UART 端口的 USB Type-C 数据线,不能使用仅支持充电的线,也不要接到另一个 USB 功能端口。
- 一台运行 Windows、macOS 或 Linux 的电脑。
软件
官方参考资料
更想用 IDE?
思澈科技(SiFli)还提供了 VS Code 扩展 SiFli-SDK-CodeKit,把 SDK 安装、构建和烧录流程封装成了引导式操作。如果你更喜欢 IDE 工作流,可以参考 SiFli CodeKit。
安装工具链¶
为保证基线可复现,请使用已发布的 tag,而不是 main。截至本次核对,最新发布 tag 为 v2.5.1;开始前请查看官方发布列表,确认是否已有更新版本。release/v2.5 分支会继续接收该发布线的更新,但分支内容可能变化。
SiFli-SDK 包含子模块
GitHub 的 “Download ZIP” 不包含所需子模块。请使用 git clone --recursive。如果已克隆 SDK 但未获取子模块,请在 SDK 根目录运行 git submodule update --init --recursive。
在中国大陆环境下工作?
安装前,请在当前 Shell 中将 SIFLI_SDK_MIRROR_CHINA 设为 1:macOS/Linux 使用 export SIFLI_SDK_MIRROR_CHINA=1,PowerShell 使用 $env:SIFLI_SDK_MIRROR_CHINA = "1"。也可以从 Gitee 镜像克隆,而不是从 GitHub 克隆。详情请参阅安装指南。
install.sh / install.ps1 会下载匹配版本的编译器、调试器和 Python 依赖。SDK 版本变化后,建议重新运行。export.sh / export.ps1 会在当前终端激活该环境;每次新开终端构建前,都需要重新执行。Windows 上请在 PowerShell 中运行 .ps1 脚本。
选择开发板构建目标¶
传给 scons --board 的值就是 customer/boards 下对应的开发板目录名。请按手中开发板实际搭载的存储器和屏幕配置选择目标;以下名称区分大小写。
SiFli-SDK 开发板构建目标
| 开发板 | 精确的 scons --board 目标 |
|---|---|
| SF32LB52-DevKit-Core-3p3 | sf32lb52-core_e8r16sf32lb52-core_n16r16 |
| SF32LB52-DevKit-LCD | sf32lb52-lcd_52dsf32lb52-lcd_n16r8sf32lb52-lcd_a128r16 |
| SF32LB52-DevKit-Nano | sf32lb52-nano_n4sf32lb52-nano_n16r16sf32lb52-nano_a128r16 |
| 黄山派(SF32LB52-LCHSPI-ULP) | sf32lb52-lchspi-ulp |
| SF32LB56-DevKit-LCD | sf32lb56-lcd_a128r12n1sf32lb56-lcd_n16r12n1 |
| SF32LB58-DevKit-LCD | sf32lb58-lcd_a128r32n1_dsisf32lb58-lcd_a128r32n1_qspisf32lb58-lcd_n16r32n1_dpisf32lb58-lcd_n16r32n1_dsisf32lb58-lcd_n16r32n1_qspisf32lb58-lcd_n16r64n4 |
对于双核开发板,省略内核后缀时默认构建 HCPU 配置。需要时可显式指定 _hcpu;如需构建 LCPU 配置,则追加 _lcpu,例如 scons --board=eh-lb551_lcpu。如果表中没有你的开发板配置,请查阅思澈科技(SiFli)的支持开发板列表,以获取最新信息。
构建“Hello World”示例¶
环境加载完成后,用下面的命令为你的开发板构建 RT-Thread hello_world 示例:
将 sf32lb52-lcd_n16r8 替换为你的开发板名称。可用名称请参考支持的开发板列表。-j8 表示使用 8 个并行任务构建,可按电脑性能调整。本示例未指定内核后缀,因此默认构建 HCPU,生成的二进制文件位于 build_sf32lb52-lcd_n16r8_hcpu/。如果在目标名称中显式指定 _lcpu,输出目录也会使用 _lcpu 后缀。
需要自定义配置?
在工程目录下运行 sdk.py menuconfig --board=<board_name> 打开交互式配置菜单。按 Esc 两次后,根据提示选择保存配置并退出。
给开发板烧录固件¶
保持开发板通过 USB 连到电脑,然后运行构建生成的下载脚本:
脚本提示输入串口时,请填写操作系统显示的串口设备路径。macOS 使用 /dev/cu.* 设备(例如 /dev/cu.usbserial-12345678),不要使用 /dev/tty.*;Linux 则填写对应的设备路径,例如 /dev/ttyUSB0。
Tip
如果下载工具无法进入 UART 下载模式,请在开始传输前立即复位开发板。问题仍未解决时,请按对应开发板的烧录说明排查。
查看程序运行结果¶
烧录完成后,手动复位开发板或等待其自动复位。然后使用串口终端以开发板默认波特率连接相应串口。此时应能看到启动日志和 hello_world 示例通过 UART 输出的内容。
成功判定标准¶
满足以下条件后,就可以继续下一步:
- 工程能够无报错构建完成。
- UART 下载脚本执行成功。
- 串口控制台能看到可读的启动输出。
- 开发板复位后能打印
hello_world示例内容。
接下来可以做什么¶
- 挑选芯片: 在 SF32 系列概览中比较 LB52、LB55、LB56 和 LB58 系列。
- 探索更多示例: 除了
hello_world,SDK 还自带 BLE、经典蓝牙(Bluetooth)、LVGL 图形、音频和低功耗示例。 - 尝试其他框架: 接下来可继续看 Arduino、Zephyr 或 MicroPython。
- 遇到问题: 可以先查 SiFli FAQ 中关于工具链、J-Link 和调试的常见问题。
让配置可复现¶
请记录 SiFli-SDK 的 tag 或分支、准确的 scons --board target、主机操作系统、串口端口,以及适用于当前开发板的下载流程。升级 SDK 或更换开发板时,请重新核对官方支持开发板列表和发布列表。
最后更新: