请问,在没有请用WatchDog的情况下,如果软件异常是否可能导致芯片自动重启?
在手动模拟堆栈溢出、访问非法地址的情况下,系统是卡死而不会重启的,不知道有没有其他异常能让它自动重启?
Viki Shi:
堆栈溢出等错误均有可能引起重启,但是不是保证能重启。请问是应用中有这种需求吗?
Arvin Lim:
回复 Viki Shi:
Hi, Viki,
非常感谢你的答复!
不是有这种需求,而是在项目中遇到cc2640重启现象,想确定到底是软件引起还是硬件引起而已。是否有好的办法?
按在下理解,是否能够重启,关键在于异常向量函数的实现,能这样理解么?
另外,TI的rtos不知如何处理这些异常?
枫之星雨:
建议先缩小问题范围。
第一步,确定是软件问题还是硬件问题,确定的方法可以将同样的软件烧到开发板中测试,如果仍然复位,那很大可能是软件问题,如果不再复位,那就有可能是你的硬件板子有问题。
第二步,如果是硬件问题,那么你可以量下芯片供电的VDDR,看供电是否稳定,我这边出现过供电不稳以及在VDDR接极性电容导致复位的问题。
第三步,如果是软件问题,可以按照你之前的从向量函数入手,或者对比移植的原始demo,分析你添加的功能缩小范围排查
Arvin Lim:
回复 枫之星雨:
Hi, 枫之星雨,
谢谢你的建议。
硬件对比有做过,在相同评测时间范围内,开发板没有遇到重启问题。
至于电源,我们有测过纹波,基本上还算正常。我们方案里面用5v2a的适配器,直供一个SIM800C模块,2640在ldo后面。