你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【NUCLEO-WB09KE评测】STM32WB09KE的内部BootLoader使用

[复制链接]
BinWin 发布时间:2024-10-13 19:55
         上次遇到了无法烧录的事情,回顾程序的配置过程发现是SWD没有开启。MCU在极低功耗模式下也会关闭SWD调试接口,对于这种情况,MCU也有提供低功耗调试的功能。STM32WB09KE引脚较少,Nucleo板在运行 BLE_p2pserver例程进入低功耗后就无法连接了,需要将JP1插针选择为BOOT Loader,在UM3345快速使用文档内有描述
# y0 @0 ?; D+ _% N) n" _- z) G0 C6 N) E2 @8 f+ `- \% C. V3 J, k. `; p
          a.png
9 \4 x! W7 ~6 q7 n. h        下面来实际操作下,解答之前没有明确用法时的疑惑。对于这个UART类型的BOOT程序,会不自觉的想到ISP用到的串口连接。使用STM32CubeProgramer来完成,BOOT程序也是存储在内部FLASH,用户没有权限访问该地址,也可以理解为以往的串口IAP程序。但有所不同,因为进入BOOT Loader的条件是硬件复位时GPIOA PIN10的电平状态。大同小异,实操一下。
7 N$ R4 \; R  C$ ?        打开Programer程序,选择串口然后点击Connect,然后就出现了以下状态. g) T# a' D4 i# f
         b.png 7 ]& W% a* T5 h# U  a3 I0 v& x  S1 X
        看Log的内容,就回想起上次解决无法连接芯片的时候瞎搞,看到这个提示以为不行直接放弃了。但现在,不能放弃了,要找找原因。以往STM32的串口烧录,是偶校验的,波特率可以自适应。文档也写了WB09也支持波特率自适应,那么盲猜修改波特率下面的一些参数或许可以。于是,先改校验为NONE。
5 e% b( k# U6 c$ w; y       没想到成功了,连接的自动流程也是握手获取BOOT Loader信息、读取内部FLASH内容。看来就是大家很常见的8-NONE-1配置了。
4 D- A2 t# P" C0 l8 g" O       c.png # b/ C9 _& ~/ Z  `; [( ^6 D7 h4 @! P% o
       看到这样的Log,料想已经成功过半了,打开bin文件或hex文件Download,不出意外也正常完成了。
, ?5 J/ e& j2 ^4 m' ~0 t. i6 V* L         d.png
- b9 N/ {* J* N        切换JP1的短路帽到用户FLASH模式启动,按下复位按键,程序如期运行。
* j/ o7 i7 e) @7 Q% \3 }% a        自此,该芯片的串口烧录方式已经验证完成。在无法通过JLINK/STLINK连接到芯片的情况下,就可以使用串口来烧录没有开启SWD接口的程序来恢复使用。注意BOOT的选择引脚是PA10。' ^' S! f( r  R9 \
      f.png
& g+ w) a# \. k$ q: W' |8 K      上面是ISP协议文档的截图,那么WB09的这个串口烧录协议是否和其他老款芯片一致呢?毕竟也有不少用户希望自己做的软件能够集成这个简单方便的烧录功能。猜测大概率一致吧,找找官方有没有对应到该芯片的文档,或者直接用串口助手使用现有ISP协议来测试对照。这里不做扩展了。
% q( b0 f7 d6 [" u+ x' |    # c% f. h0 _' V6 s
1 收藏 评论0 发布时间:2024-10-13 19:55

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版