miraclexue 发表于 2018-7-31 16:09:59

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

下面几点涉及到产品程序稳定性,请教一下大神们
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?呼吸灯?芯片复位?)






butterflyspring 发表于 2018-7-31 16:20:17

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

xiajintaord 发表于 2018-7-31 16:23:36

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

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度重新换一个晶振就解决了。:lol

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左右的速度在跑..
页: [1] 2
查看完整版本: 关于产品程序运行稳定性的几点疑问