固件更新

板载有两颗 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 供电。

SCH-V8-G0B1

重要提醒

不要执行全片擦除。 开发板 Flash 高地址可能保存设备身份、授权信息、通信配置和批量任务。全片擦除会删除这些数据,普通固件镜像无法自动恢复。

固件从 0x08000000 下载;使用“下载并校验”或“Program & Verify”即可。请勿选择全片擦除。

使用 STM32CubeProgrammer 更新

准备 ST-LINK、STM32CubeProgrammer,以及选定的 release 固件,然后按以下步骤操作:

  1. 将 ST-LINK 接到第一颗 MCU 的 SWD 接口。

  2. 在 STM32CubeProgrammer 中选择 ST-LINK 并连接。

  3. 选择选定版本目录中的 *_release.bin,下载地址填写 0x08000000。

  4. 直接执行下载并校验,不要先做全片擦除。

  5. 断开 ST-LINK,连接第二颗 MCU 的 SWD 接口,重复步骤 3~5。

  6. 重新上电。

SCH-V8-G0B1

更新后检查

分别打开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

SHORT,每次 23 字节

SPI 主控需要 CAN FD 时,发送:

AT+SPIMODE=LONG