微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 函数HAL_SYSTEM_RESET()调用后有一定的概率导致系统起不来!

函数HAL_SYSTEM_RESET()调用后有一定的概率导致系统起不来!

时间:10-02 整理:3721RD 点击:

我用的是cc2640芯片,在某天event里,先调用了iic写一个数值,然后写了nv,最后调用函数HAL_SYSTEM_RESET()。得到结果是大部分情况下能够将系统成功重启,但是有一段时间就不能成功重启。想问问有大神遇到过这样的问题或者知道解决方法的没有?万分感谢!

你好,

这个问题比较有意思。

你所谓的一段时间不能成功重启,这个一段时间是什么意思?

是不是HAL_SYSTEM_RESET()函数没有被执行呢?

我也遇到类似的现象,就是每次执行到复位的时候就导致系统死机无法复位成功并重新进入广播状态。

感谢答复!我表述的不清楚,不是一段时间,而是存在一定的概率,在调用该函数重启时,函数虽然执行了,但是系统并没能成功重启,而且系统死机了。

是的,我也遇到了。

你芯片是什么版本的?软件协议栈版本呢?

HAL_SYSTEM_RESET 执行后有几率出现复位失败,不知程序跑到什么地方,请问这种复位问题怎么解决

不好意思,到现在才准备结贴,因为我也是最近才发现原因。我遇到这个问题的时候最多的情况是有连接xds下载器,在没有连接xds的情况下,程序从来没有遇到过重启起不来的情况。确实也是都在调试过程中才出现起不来的。

以下是官方的解释,可以联系到开发过程中的情况。

OAD Target device doesn’t reset after successful OAD

IThis usually occurs when the JTAG debugger (e.g., XDS110) is connected. Disconnect and remove the debugger prior to performing OAD.

This issue should not be appearing in field devices, or devices that are powered through a battery or other means.

你在详细测下吧 ,接入仿真器确实有问题。但是我们碰到的是在不接入仿真器下有几率出现,设备不停地复位可能要连续跑10几个小时会出现

我们有产品用了2年左右的时间了,批量几百K了都,没有遇到过重启起不来的,我这边只出现在调试状态,正式产品没出现。你的问题应该是别的原因导致重启的吧?1.68V电源还有吗?有没有可能是外设运行一段时间后,重启初始化出问题?

嗯  出现几率比较低,我们的设备也在量产没有碰到过,只是最近偶尔发现故意让设备不断的复位测试会复现此问题,也可能复位操作不对,方便能贴下你的复位操作的寄存器吗,谢谢

这是一个bug,具体看链接:

http://processors.wiki.ti.com/index.php/CC2640_OAD_User%27s_Guide

Device Does not restart after successful OAD

Note: This affects all CC26xx/CC13xx devices.

Symptom: OAD Doesn’t reboot into BIM after successful OAD. Unplug/replug or hard reset will fix this and the device will boot okay.

Cause: There is a bug with the emulation tools packages that predate the 7.0.48.0 release. The bug would cause the processor enter Halt In Boot (HIB) on the next bootup when the JTAG disconnects. In the case of OAD, that was when HAL_SYSTEM_RESET() was issued at the end of an OAD. The two waveforms (left = HIB, right = normal JTAG disconnect) can be seen below:

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top