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

关于产品程序运行稳定性的几点疑问

[复制链接]
miraclexue 提问时间:2018-7-31 16:09 /
下面几点涉及到产品程序稳定性,请教一下大神们
1、假如HSE初始化失败,需要做哪些事情?(重启芯片?将时钟配置HSI?或者其他?) if(HSE 成功)
{
   .......
}
else  { /* If HSE fails to start-up, the application will have wrong clock
         configuration. User can add here some code to deal with this error */
    需要做什么处理?
  }
2、程序中是否需要加入看门狗?假如程序测试完善没有问题,那是否存在程序自己跑飞的可能性?在什么条件下能自己跑飞?
3、在异常中断服务里面,假如HardFault_Handler()中是否要加入一些处理?(打印log?呼吸灯?芯片复位?)






收藏 评论10 发布时间:2018-7-31 16:09

举报

10个回答
butterflyspring 回答时间:2018-7-31 16:20:17
首先第一步硬件上要确保没问题,如果是后期在极端情况,或极端温度下导致不能启动,应该要配置成内部HSI,先确保程序能够运行,如果对精度要求高的,就应该不启动,确保安全性.另外可以打开CSS来防止HSE在运行过程中出现异常.

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

xiajintaord 回答时间:2018-7-31 16:23:36
1、直接复位;
2、需要。就算产品测试得很完善,用户使用的过程中还是会有一些不可预估的操作,导致程序跑飞死机;
3、先打印 log 便于定位问题,再芯片复位;

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

miraclexue 回答时间:2018-7-31 16:32:18
butterflyspring 发表于 2018-7-31 16:20
首先第一步硬件上要确保没问题,如果是后期在极端情况,或极端温度下导致不能启动,应该要配置成内部HSI,先确 ...

感谢回复。
1、程序会使用USB,HSI时钟的精度对于USB的使用有没有问题呢?
2、看了一篇关于CSS的帖子,作者描述对于CSS的使用要仔细斟酌,感觉不太敢开启呐。。

“”针对上面这个问题,经过本人实际测试,下面简要说明几点:
(1)CSS时钟安全机制一旦启用,对于外部晶振变化极其敏感,本人实测发现,例如手只是靠近PCB上晶振位置(还未接触),就可能会触发CSS中断。所以,STM32提到的晶振“故障”,最小的程度就像晶振扰动,就会触发。

(2)一般不使用CSS时钟安全机制的情况下,出现晶振频率扰动或者直接短路晶振管脚,也仅仅只是会导致程序执行速度变慢或者程序直接停滞。一旦恢复晶振后,程序依旧会继续执行。(相当于晶振出问题期间,程序就停在那儿)目前暂未发现,因为晶振原因导致CPU 程序指针直接出错的情况,但不排除此类情况发生。
所以,到底是否使用CSS时钟安全机制,还需要仔细斟酌。“”
miraclexue 回答时间:2018-7-31 16:36:56
xiajintaord 发表于 2018-7-31 16:23
1、直接复位;
2、需要。就算产品测试得很完善,用户使用的过程中还是会有一些不可预估的操作,导致程序跑 ...

感谢回复。
1、直接复位;(假如HSE坏了,是不是会不停的复位呢,需要开启HSI不)
2、需要。就算产品测试得很完善,用户使用的过程中还是会有一些不可预估的操作,导致程序跑飞死机;
(看门狗一般设置多久超时重启?是不是越快越好?)
3、先打印 log 便于定位问题,再芯片复位;
(开启printf功能(#pragma import(__use_no_semihosting))对串口的正常收发数据会不会有影响?)
butterflyspring 回答时间:2018-7-31 16:42:40
如果这样,说明他晶体匹配比较零界,跨导应该要小于5.我们开发板上的HSE,直接摸上去都没事的.
奏奏奏 回答时间:2018-7-31 16:49:50
楼主说的"假如HSE初始化失败",我基本上就是晶振焊的时候温度过高,将烙铁温度调到300度重新换一个晶振就解决了。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

miraclexue 回答时间:2018-7-31 16:51:32
butterflyspring 发表于 2018-7-31 16:42
如果这样,说明他晶体匹配比较零界,跨导应该要小于5.我们开发板上的HSE,直接摸上去都没事的. ...

那是不是每一个使用STM32芯片的产品都需要开启CSS功能呢?
miraclexue 回答时间:2018-7-31 16:58:24
奏奏奏 发表于 2018-7-31 16:49
楼主说的"假如HSE初始化失败",我基本上就是晶振焊的时候温度过高,将烙铁温度调到300度重新换一个晶振就解 ...

哈哈,你这是从根本上解决掉问题。
假如产品在客户手中,HSE初始化失败的时候呢,是不是产品就挂了?
butterflyspring 回答时间:2018-7-31 17:24:00
miraclexue 发表于 2018-7-31 16:51
那是不是每一个使用STM32芯片的产品都需要开启CSS功能呢?

最好是加,如果晶体异常了,MCU会出现异常,或者按照2M左右的速度在跑..
xiajintaord 回答时间:2018-7-31 17:38:15
miraclexue 发表于 2018-7-31 16:36
感谢回复。
1、直接复位;(假如HSE坏了,是不是会不停的复位呢,需要开启HSI不)
2、需要。就算产品测试 ...

1、2、这两个建议根据实际产品的应用来设计;
3、一般来说,printf 功能和收发数据是不同的串口吧,printf 重定向到一个串口,业务的正常数据收发使用另外的串口。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版