找回密码
 注册
关于网站域名变更的通知
查看: 587|回复: 1
打印 上一主题 下一主题

软件启动模式导致 IWatchDog 失效

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-12-27 10:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
问题:' J" N+ S: S2 q% J1 t8 g
该问题由某客户提出,发生在 STM32F103VET6 器件上。据其工程师讲述:其产品中使用了 STM32,已量产。在发给其客户的产品中,部分出现不开机现象。其工程师在现场测试后发现 STM32 的 HSE 没有起振。通过拉低 NRST 管脚对 SMT32 复位后,HSE 起振且系统恢复正常工作。于是怀疑 STM32 的HSE 的缺陷导致了其不起振。
) M, \+ d8 L  Q# d, ~6 Z( h& o4 b
调研:
, s0 m, ^# r' l0 A9 {2 f3 G9 Z检查其硬件电路设计的 HSE 部分,在原理图及 PCB 中匀未发现错误。检查 STM32 的供电情况,VDD、VDDA、VBAT、Vref+、Vref-、VSS、VSSA 未发现异常。检查 BOOT0 管脚的设置,未发现异常。检查 NRST 的外围电路,未发现异常。对其产品重新上电,可以正常起动、工作。检查软件计,发现其 IWatchDog 的启动模式为软件启动。于是,要求其工程师将其改为硬件起动模式,然后对此前出现异常的产品更新程序后重新测试。经过一段时间的观察后,发现其不再重现先前的问题。& W" F& d5 E4 N) i; Z
$ u' J) q3 `3 S# r7 G

( n  G. ~, ]$ R0 F0 b结论:
$ g8 C) k% a8 l3 R% M" [$ }猜测 STM32 在运行中受到了连续的干扰。在程序跑飞之后,由于 IWatchDog 溢出而引起STM32 复位。复位之后干扰依然存在,程序再次跑飞。由于设置了软件启动模式,导致IWatchDog 此时尚未开始工作,从而不能再次复位 STM32。于是,干扰过后,STM32 不能自行恢复到正常的工作状态。而HSE 不起振则是由于软件未来得及对 HSE 开启而表现出的一个现象。
  r( r/ D! E( N: w( R' x9 I! j& P
处理:
. |) v" D8 }! H2 `  ]' G将 IWatchDog 的启动模改为硬件启动,可以保障 STM32 在干扰过后能够自行的恢复到正常的工作状态。' m8 j) h" Z' r- m  K2 r4 ?  g$ l
% H; W% K+ c  v& h- `
建议:3 H1 H" S. \: P( s
STM32 的 IWatchDog 设有两种启动模式,一种是软件启动模式,另一种是硬件启动模式。在软件启动模式下,IWatchDog 在复位之后暂时是关闭的,直到软件对其开启之后才开始工作。而在硬件启动模式下,在复位结束时,IWatchDog 已经开始工作,无须软件干预。于是,同硬件启动模相比,软件启动模式在时间上多了一个“不安全窗口”,如图(二)所示:
) T/ d1 d8 f# r* w; w, n4 l9 n1 K" n6 q1 p- \. i! p
2 a. `" J" y& ]6 V  X
如果 STM32 在“不安全窗口”内受到干扰而跑飞,那么系统是无法自恢复的。所以,要使 IWatchDog 有效的工作,硬件启动模式是必须的选择。通常,在编程器的操作界面上会有相关的选项,以供使用者选择用哪种启动模式来启动 IWatchDog。虽然用户程序也可以通过对 STM32 的 Option Bytes 进行设置来实现两种启动模式的选择,但不建议这样做,因为这需要相关的软件具有严谨控制逻辑,处理不当会留下安全隐患

# J& m# r$ m3 D" P4 j7 M1 u% K: P! e$ _6 e* n) w) o) G7 W

! u3 i! J5 g3 L9 x. I+ N

! r; l% _. b% v: I9 c$ u$ p1 d; s& F- J& h  |

$ o3 h  P3 H& I8 a3 U9 x7 @

该用户从未签到

2#
发表于 2019-12-27 18:36 | 只看该作者
还真没想过
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 15:11 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表