|
以往普通的一颗STM32,拿到芯片空片后,我们可以通过ISP的方式通过usb、uart等常用接口,给芯片下程序;或者通过JTAG/SWD这样的调试接口下程序。运行一段时间后,要做用户应用程序的更新,除了继续使用JTAG/SWD调试接口外,可以通过ISP和IAP的方式来更新程序,。ISP和IAP原理类似,都是通过运行在芯片上程序,通过约定的通信端口,比如usb、uart来接收上位机程序,再烧到芯片内部。只不过ISP的这段程序,运行在STM32出厂预置在系统flash里;而IAP的这段程序,是用户自己开发并下载到用户的flash里。(所谓有线升级) 进一步,随着IoT时代的到来,无线升级成为嵌入式设备的必备功能之一:之前的STM32没有片上RF模块,通常外接wifi,nb-iot、lora等这种无线模块,把它们作为通道,从空中接收要更新的程序,然后写到芯片里做更新。(所谓无线升级,或者空中(FOTA)) 那么现在STM32WB来了,首先它自带BLE接口,可以通过BLE上位机或者手机来给芯片做无线升级。 但是它自身的双核架构(一个M4核跑用户应用程序,一个M0+核跑RF 协议栈)、它的片上flash结构(安全flash区域、非安全flash区域),使得它片上内容的升级和往常有点不一样。对于M4上运行的用户应用程序,倒是没啥区别,主要是如何安装、升级由M0+内核运行的RF协议栈,还有如何升级一个叫做“FUS”,firmware update service服务的特殊代码。这是以往STM32 MCU没有涉及的新东西。这期我们就来讲一讲。 协议栈和应用程序的更新
这是上一期STM32WB生态系统概览里介绍的,围绕着STM32WB芯片,我们提供给大家的从文档、到工具、到软件包、到培训、到方案的一系列生态系统。 对于今天要谈的协议栈和用户应用程序升级的话题,我们会用到图中红色标亮的这些部分内容。 首先是ST官方出品的STM32WB工具套件(里面两颗STM32WBx5G芯片,分别在nucleo板和usb dongle板上)。基于它,我们会使用STM32Cube工具里的CubeProgrammer的命令行,通过usb接口,升级芯片的FUS版本,安装BLE蓝牙协议栈。 然后,在Nucleo板上运行STM32CubeWB固件包里的ota相关例程。做协议栈和用户应用程序的无线升级时,上位机可以使用STM32Cube工具包里的CubeMonitor-RF,也可以使用ST BLE Sensor手机app操作。 |
| 然后呢 |
| 不错不错 |
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版