您的位置 首页 厂商

软件发动形式导致 IWatchDog 失效

问题:该问题由某客户提出,发生在STM32F103VET6器件上。据其工程师讲述:其产品中使用了STM32,已量产。在发给其客户的产品中,部分

问题:
该问题由某客户提出,发生在 STM32F103VET6 器材上。据其工程师叙述:其产品中使用了 STM32,已量产。在发给其客户的产品中,部分呈现不开机现象。其工程师在现场测验后发现 STM32 的 HSE 没有起振。经过拉低 NRST 管脚对 SMT32 复位后,HSE 起振且体系康复正常作业。所以置疑 STM32 的HSE 的缺点导致了其不起振。

调研:
查看其硬件电路设计的 HSE 部分,在原理图及 PCB 中匀未发现过错。查看 STM32 的供电状况,VDD、VDDA、VBAT、Vref+、Vref-、VSS、VSSA 未发现异常。查看 BOOT0 管脚的设置,未发现异常。查看 NRST 的外围电路,未发现异常。对其产品从头上电,能够正常起动、作业。查看软件计,发现其 IWatchDog 的发动形式为软件发动。所以,要求其工程师将其改为硬件起动形式,然后对此前呈现异常的产品更新程序后从头测验。经过一段时刻的调查后,发现其不再重现从前的问题。

定论:
猜想 STM32 在运转中遭到了接连的搅扰。在程序跑飞之后,由于 IWatchDog 溢出而引起STM32 复位。复位之后搅扰仍然存在,程序再次跑飞。由于设置了软件发动形式,导致IWatchDog 此刻没有开端作业,然后不能再次复位 STM32。所以,搅扰往后,STM32 不能自行康复到正常的作业状况。而HSE 不起振则是由于软件未来得及对 HSE 敞开而表现出的一个现象。

处理:
将 IWatchDog 的发动模改为硬件发动,能够保证 STM32 在搅扰往后能够自行的康复到正常的作业状况。

主张:
STM32 的 IWatchDog 设有两种发动形式,一种是软件发动形式,另一种是硬件发动形式。在软件发动形式下,IWatchDog 在复位之后暂时是封闭的,直到软件对其敞开之后才开端作业。而在硬件发动形式下,在复位结束时,IWatchDog 现已开端作业,无须软件干涉。所以,同硬件发动模比较,软件发动形式在时刻上多了一个“不安全窗口”,如图(二)所示:

假如 STM32 在“不安全窗口”内遭到搅扰而跑飞,那么体系是无法自康复的。所以,要使 IWatchDog 有用的作业,硬件发动形式是有必要的挑选。一般,在编程器的操作界面上会有相关的选项,以供使用者挑选用哪种发动形式来发动 IWatchDog。尽管用户程序也能够经过对 STM32 的 Option Bytes 进行设置来完成两种发动形式的挑选,但不主张这样做,由于这需求相关的软件具有谨慎操控逻辑,处理不妥会留下安全隐患

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/259272.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部