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

【经验分享】软件启动模式导致 IWatchDog 失效

[复制链接]
STMCU小助手 发布时间:2022-2-23 19:52
问题:8 `8 q+ I, g) R
该问题由某客户提出,发生在 STM32F103VET6 器件上。据其工程师讲述:其产品中使用了 STM32,已量产。在发给其客户的产品中,部分出现不开机现象。其工程师在现场测试后发现 STM32 的 HSE 没有起振。通过拉低 NRST 管脚对 SMT32 复位后,HSE 起振且系统恢复正常工作。于是怀疑 STM32 的 HSE的缺陷导致了其不起振。: h5 _% c6 m( ^9 R; B/ G+ u
调研:- [) m; P$ ], P
检查其硬件电路设计的 HSE 部分,在原理图及 PCB 中匀未发现错误。检查 STM32 的供电情况,VDD、VDDA、VBAT、Vref+、Vref-、VSS、VSSA 未发现异常。检查 BOOT0 管脚的设置,未发现异常。检查 NRST 的外围电路,未发现异常。对其产品重新上电,可以正常起动、工作。检查软件计,发现其 IWatchDog 的启动模式为软件启动。于是,要求其工程师将其改为硬件起动模式,然后对此前出现异常的产品更新程序后重新测试。经过一段时间的观察后,发现其不再重现先前的问题。) e7 a/ W( y0 L# B3 x
8 v; X6 n( q% j
0 K* C$ x% M, {0 X' G' b" m" a; S
IR@4]C4)BC[@275)6CTIR36.png 1 S7 V7 A6 X4 V5 n

: j1 L; Z6 n* @
% y. f& m, `" f# P" @; W# v结论:5 t, W- D# B# g8 M) E
猜测 STM32 在运行中受到了连续的干扰。在程序跑飞之后,由于 IWatchDog 溢出而引起 STM32 复位。复位之后干扰依然存在,程序再次跑飞。由于设置了软件启动模式,导致 IWatchDog 此时尚未开始工作,从而不能再次复位 STM32。于是,干扰过后,STM32 不能自行恢复到正常的工作状态。而 HSE不起振则是由于软件未来得及对 HSE 开启而表现出的一个现象。
. f# b! l0 c7 f2 v- `" f
  M* D/ X# \/ ^# A
* F" u; r1 |+ A+ F处理:; P; d2 m; C, }! X
将 IWatchDog 的启动模改为硬件启动,可以保障 STM32 在干扰过后能够自行的恢复到正常的工作状态。6 e  s: o( d1 R1 l" F1 I

! U$ k6 P/ ]' T
  C+ d2 _0 ?% E3 k" B( z- e建议:
# K+ g$ J9 \: P3 n5 j# C1 YSTM32 的 IWatchDog 设有两种启动模式,一种是软件启动模式,另一种是硬件启动模式。在软件启动模式下,IWatchDog 在复位之后暂时是关闭的,直到软件对其开启之后才开始工作。而在硬件启动模式下,在复位结束时,IWatchDog 已经开始工作,无须软件干预。于是,同硬件启动模相比,软件启动模式在时间上多了一个“不安全窗口”,如图(二)所示:) @7 z) x5 c3 h* n( \' `3 b

/ z. ]& P- e  h8 N2 H NY3PIM]B}J1HXZ@5244[M]3.png # ?* i3 i8 ?2 ~3 `
( _+ V4 |% f7 t* Z3 j6 [1 u+ q9 j- B" N
如果 STM32 在“不安全窗口”内受到干扰而跑飞,那么系统是无法自恢复的。所以,要使 IWatchDog有效的工作,硬件启动模式是必须的选择。通常,在编程器的操作界面上会有相关的选项,以供使用者选择用哪种启动模式来启动 IWatchDog。虽然用户程序也可以通过对 STM32 的 Option Bytes 进行设置来实现两种启动模式的选择,但不建议这样做,因为这需要相关的软件具有严谨控制逻辑,处理不当会留下安全隐患。
4 r+ s. F2 I2 S+ Z& s0 ]2 @) d; U! c  o. p/ Q* Z) W6 M
赞 收藏 评论0 发布时间:2022-2-23 19:52

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版