STM32WB55无限固件库升级文档说明
STM32WB55包含两个内核,一个M4处理大部分任务,一个是M0+,专门处理无线通信。M0+内核对一般开发用户不开放。当使用更高版本的无线固件库时候需要对m0+内核的无线固件库进行升级。文章有部分内容是装载此内容由EEWORLD论坛网友damiaa原创,出处http://bbs.eeworld.com.cn/forum.php?mod=viewthread&tid=1077268&page=1
升级办法一种是无线方式:通过USBdongle使用特定的程序使用蓝牙Ota无线传输无限固件二进制文件完成升级,
另外一种是有线方式:通过ST-LINK(命令行界面)通过SWD / JTAG更新无线固件库二进制文件,通过USB(命令行界面)更新无线协处理器二进制文件。有线方式都需要用到STM32CubeProgrammer软件。这个方法用脚本软件更快更编写。
于是编程时候有两个固件要烧写。
对于M4直接可以用STLINK烧写。几种编程器和调试器都支持。
顺便说一下。stm32wb55 USB dongle烧写要用STM32CubeProgrammer IDE界面,选择USB口的DFU 烧写(不过烧过之后怎么就不见了DFU呢,这里出了啥问题!!!)。
安装STM32CubeProgrammer后目录里还有个STM32_Programmer_CLI。这个就可以烧写无线固件。为了方便操作,可以把烧写的估计拷贝到这个安装目录。
1.通过USBdongle使用特定的程序使用蓝牙Ota无线传输无限固件二进制文件
步骤一:硬件准备:
stm32wb55 USB dongle SW2拨动到远离USB口的那端。
stm32wb55 nucleo: CN11的5和7腿短接,JP1跳接USB MCU(其他不接 )。
步骤二:上电,擦除 :STM32_Programmer_CLI.exe -c port=usb1 -fwdelete
过程:
结果:
步骤三:烧写:STM32_Programmer_CLI.exe -c port=usb1 -fwupgrade [Wireless_Coprocessor_Binary] [Install@] firstinstall=1
Wireless_Coprocessor_Binary是你要烧写的文件
Install@是烧写文件地址
过程(我这里是烧写的thread固件,一定要看清楚烧写哪个,特别是地址要对):
结果:
步骤四:断电后恢复硬件设置到原来状态。
stm32wb55 USB dongle SW2拨动到靠近USB口的那端。
stm32wb55 nucleo: CN11的5和7腿去掉短接,JP1跳接最靠边的那个(其他不接 )如下图
步骤五:这样就结束了,后面可以
stm32wb55 nucleo用自带的STLINK加编程调试软件, 或者stm32wb55 USB dongle烧写用STM32CubeProgrammer IDE界面,选择USB口的DFU烧写应用程序了。
2.以下仅介绍如何快速通过ST-LINK(命令行界面)通过SWD / JTAG更新无线固件库二进制文件。所需软件、无限固件库、协议栈文件和升级所需要的命令行都被放在“STM32WB_updating_FUS_and_BLE_1_7”文件下,只需硬件上连接好ST-LINK,按以下步骤便完成升级:
步骤一:打开“STM32WB_updating_FUS_and_BLE_1_7”文件夹。
步骤二:首先鼠标双击运行“1 FLASH_FUS_V1.0.2.bat”,一定要等图片中蓝色字体都“100%”便完成升级
步骤三:再鼠标双击运行“2 FLASH_FUS_V1.7.0.bat”,一定要等图片中蓝色字体都“100%”便完成升级。
步骤四:再鼠标双击运行“3 FLASH_BLE_stack_V1.7.0.bat”,一定要等图片中蓝色字体都“100%”便完成升级。
以上步骤完成便完成了M0+内核的最新版本的无限固件库和协议栈的升级。再下载M4内核的程序就可以了。