STM之前出了WB系列的无线多协议芯片,可以支持BLE、ZigBee等常见主流协议,甚至可以多协议共存动态运行,芯片集成了M4和M0双核,确实比较不错。今有机会项目中一试。
新拿到的WB芯片需要根据情况更新FUC和烧写协议栈固件,下面介绍相关的方法和注意事项。
ST官方本身也有一些介绍,可以参考下面文档:
说明:SDK安装目录\Projects\STM32WB_Copro_Wireless_Binaries\STM32WB5x中的《Release_Notes.html》
一、工具和环境准备
更新和烧写需要用到 STM32CubeProgrammer,可以从官网下载,此处不展开
需要注意的是工具只支持ST-Link,不支持J-Link
将硬件连接,并点击右上角“connect”之后即可识别硬件,可以观察到芯片信息了
将界面切换到FUS界面
点击“start FUS”,并点击“Read FUS Info”
注意:上面截图中的FUS version是v1.2.0,是已经升级烧写过的,但STM32WB55芯片出厂时的FUS版本时v0.5.3。
更新协议栈固件:
根据前述《Release_Notes.html》文档,在其中选择如下协议栈固件
如下点击“Firmware Upgrade”之后,提示成功
更新FUS:
与协议栈固件更新基本相同,选择要升级的FUS固件升级即可。但需要注意:
FUS的固件有两个版本stm32wb5x_FUS_fw_for_fus_0_5_3.bin和stm32wb5x_FUS_fw.bin,如果我们是从v0.5.3开始升级,选择 stm32wb5x_FUS_fw_for_fus_0_5_3.bin;否则选择stm32wb5x_FUS_fw.bin
关于FUS_STATE_IMG_NOT_AUTHENTIC的错误:
升级FUS的时候有时会遇到FUS_STATE_IMG_NOT_AUTHENTIC的错误,此时只需要整片擦除一次即可。另外,升级成功以后最好手动启动一下无线协议栈,避免芯片停留在FUS状态下。