请选择 进入手机版 | 继续访问电脑版

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

【实战经验】STM32 Bootloader中 DFU使用限制

[复制链接]
zero99 发布时间:2016-6-28 14:23
STM32 Bootloader中 DFU使用限制/ m# y! a# ~0 N9 I" Y
* T' T# k0 L, f; }' e+ _
前言
1 H  _' o0 s" i% J" t) @众所周知,STM32所有的MCU中包含Bootloader代码,可以通过对boot引脚(boot0,boot1)的配置从bootloader启动,通过spi/i2c/usb等升级片内FLASH,从而实现版本升级的目的。但是通过USB升级的时候,在低温(零下10摄氏度以下)的情况下,出现升级失败的情况,很容易出现。; R& w( |3 D  B1 T
- b# X8 X" Q; Y- d  s& ]& d/ z6 o
问题现象4 J  G8 ~4 \/ U$ U% }) q
通过bootloader usb升级时,在温度低的情况下,发现有一部分芯片升级失败,而且重新尝试,仍然升级失败。
  Z( S  c) Y- V6 T# E1 D: \  e3 @& o. ]
原因分析
+ I1 Y1 W+ Y( s: @* n考虑到用户的量很大,而且问题都是出现在低温的环境下,所以基本排除用户单板设计,布线等问题,但是bootloader代码也非常的成熟,大量的被用户使用,所以软件问题也被排除,所以将问题的原因定位在环境温度低造成的,而温度低会对哪些外设 产生影响呢,查阅任何一款MCU的数据手册HIS部分的参数,都可以发现:3 ~) I$ _' W) T! W" \' _
31.jpg
; i2 G5 l4 ]+ X0 s$ a+ O& `从这张表中可以看出,当温度低于-10℃时,HSI的准确性会降低很多,误差变得相当大,
& H) w5 H) I5 F; E9 ^而熟悉STM32的工程师可能会有疑问,STM32的USB模块需要非常精准的48MHz时钟,所以一般时钟HSE作为其时钟源进行倍频和分频,为什么HSI低温时误差大会对其造成影响呢?) z6 {; \! @0 U9 r! y. V7 \
这里就要重新回到bootloader中来,虽然这一部分代码并非开源的,是芯片出厂后就固化到MCU里面的,但我们可以从下面的流程中了解到原因:
! A& [; w3 N7 R" g: R如上描述,使用usb模块,一般情况下是必须用HSE(有CRS功能的除外)的,但是作为bootloader而言,它本身是并不知道外接HSE的频率的,所以它就需要通过HSI去测算HSE的频率值,这个算法比较简单,通过简单的枚举即可,但是这样做就带来了一个问题,那就是当HSI偏差过大时,估测出来的HSE产生了偏差,这就最终导致了USB的48M时钟不准,产生了usb升级失败的问题!
. J; p/ ?2 H  E  g6 {0 j+ {
9 S% F( o  o( P, Z总结
* A+ k8 m% W  I& J1 z9 C; n在使用bootloader进行升级时,同样需要考虑到时钟可能带来的误差。

: R- H2 g" r2 S$ F( }# ~+ }# T' M' o- J" G& p; D! o

0 r' |8 F: I; n' @  Y文档下载地址:3 W$ u' s8 R6 ~  Y( S. ~- |
https://www.stmcu.org.cn/document/list/index/category-1012
: F; H) }9 Q- [* E
& u& n' u9 P# E. ?8 J6 f" u/ ]: E0 ?/ B实战经验汇总:1 c9 P9 p0 |3 k3 e7 s% z
https://www.stmcu.org.cn/module/forum/thread-576401-1-1.html
收藏 5 评论6 发布时间:2016-6-28 14:23

举报

6个回答
yanhaijian 回答时间:2016-6-28 18:29:58
楼主研究的比较细。
shanji 回答时间:2016-6-29 09:15:59
楼主用的DFU软件是ST官方的还是自己开发的?官方的不太好用啊。
wdshuang09 回答时间:2016-11-12 15:53:48
分析的太好 了
peter001 回答时间:2016-11-13 10:45:01
恩,论坛里关于温度特性讨论的话题太少,支持楼主
xiaoxiao0932 回答时间:2017-4-11 10:39:29
谢谢分享啊!~
pener 回答时间:2017-7-15 09:06:59
stm32自带的bootloader支持USB升级?

所属标签

相似分享

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