固件更新
板载有两颗 MCU,每颗芯片都有独立的 SWD 下载接口。需要将固件分别烧录到两颗芯片;两颗芯片使用相同功能时,可以烧录同一个固件文件。
重要:不要执行全片擦除。 全片擦除会删除出厂识别信息、已保存的通信参数和离线批次。正常更新只需要下载固件并执行校验。
重要:不要使用第三方SDK。 SANPO 出品全部采用原装STM32芯片,请使用 ST 原厂工具 STM32CubeIDE 中的SDK开发,请不要使用第三方厂商的工程,尤其是 Keil 工程 SDK 未经原厂认证,请谨慎使用。刷入非 ST 原厂 SDK,会锁死芯片,SANPO 有权拒绝修复。
固件下载
下载最新的 STM32G0B1 V83 发布固件包。解压后使用其中的 spine_v8_v83_g0b_release.bin,并通过同目录的 SHA-256 文件校验完整性。
准备工作
下载并安装 STM32CubeProgrammer。
准备 ST-LINK 下载器和 SWD 连接线。
SANPO SPINE 通信板接入 USB 供电。

重要提醒
不要执行全片擦除。 开发板 Flash 高地址可能保存设备身份、授权信息、通信配置和批量任务。全片擦除会删除这些数据,普通固件镜像无法自动恢复。
固件从 0x08000000 下载;使用“下载并校验”或“Program & Verify”即可。请勿选择全片擦除。
使用 STM32CubeProgrammer 更新
准备 ST-LINK、STM32CubeProgrammer,以及选定的 release 固件,然后按以下步骤操作:
将 ST-LINK 接到第一颗 MCU 的 SWD 接口。
在 STM32CubeProgrammer 中选择
ST-LINK并连接。选择选定版本目录中的
*_release.bin,下载地址填写0x08000000。直接执行下载并校验,不要先做全片擦除。
断开 ST-LINK,连接第二颗 MCU 的 SWD 接口,重复步骤 3~5。
重新上电。

更新后检查
分别打开2颗 MCU 对应的USB管理串口,通常在Windows中显示为 SANPO Studio Management Port,发送:
AT+VER
行尾选择 CRLF。返回值应与刚刚烧录的固件版本一致,例如返回:
V83
随后可查询通信参数:
AT+SETFDCAN?
AT+SETRS485?
AT+SPIMODE?
AT+RS485RAWCH?
AT+BATAUTO?
升级通常保留原通信配置,因此返回值可能与出厂默认值不同。如果确实要恢复通信默认值,可发送 AT+CFGERASE;执行前请确认它适用于当前固件。
出厂通信默认值
项目 |
默认值 |
|---|---|
经典 CAN / CAN FD 仲裁段 |
1 Mbit/s |
CAN FD 数据段 |
5 Mbit/s,BRS 开启 |
RS485 |
4 Mbit/s、1 个停止位、无校验、8 数据位 |
SPI |
|
SPI 主控需要 CAN FD 时,发送:
AT+SPIMODE=LONG