大家好!
我使用cc2640做应用时,涉及到使用HAL_SYSTEM_RESET来重新启动整个系统。
有一定的概率会发生:执行HAL_SYSTEM_RESET()后,硬件并未真正重新启动,而是看上去死机样子,只用在reset pin上作用电平才可以恢复。
问下,使用HAL_SYSTEM_RESET进行系统复位,是否对程序上下文有要求?
另外请问,如何使能cc2640的看门狗?如果使能看门狗,应该也能解除这个问题吧。
谢谢!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好!
我使用cc2640做应用时,涉及到使用HAL_SYSTEM_RESET来重新启动整个系统。
有一定的概率会发生:执行HAL_SYSTEM_RESET()后,硬件并未真正重新启动,而是看上去死机样子,只用在reset pin上作用电平才可以恢复。
问下,使用HAL_SYSTEM_RESET进行系统复位,是否对程序上下文有要求?
另外请问,如何使能cc2640的看门狗?如果使能看门狗,应该也能解除这个问题吧。
谢谢!
我也出现这个问题,不过后来看了说明,说是2640是不允许软件复位,官方是这么说的
// Perform the equivalent of a PIN Reset (hard reset).
// The cc26xx system has not been design to handle soft reset.
// Making a soft reset can make the system unstable.
// All soft reset needs to be replace by Hard reset.
#define HAL_SYSTEM_RESET() (HWREG( AON_SYSCTL_BASE + AON_SYSCTL_O_RESETCTL ) |= AON_SYSCTL_RESETCTL_SYSRESET_M);
这里,在hal_mcu.h文件下面
谢谢 ,不过按照注释描述的HAL_SYSTEM_RESET应该和pin脚复位等效,为什么还是会有异常的情况
就是调标题里的函数,这个函数应该是通过watchdog来实现复位的,我不知道你们是怎么操作的?
额 之前是对40002270写1复位,出现问题后更换为SYSRESET寄存器操作,这个还在测试中
好奇你说硬件并未真正重新启动,你是这么判断的?看门狗的初始化什么的,可以看官方的驱动啊:file:///C:/ti/simplelink_cc2640r2_sdk_1_35_00_33/docs/tidrivers/doxygen/html/_watchdog_c_c26_x_x_8h.html(类似于这样的,安装的sdk里会有的)
我现在在调2640的看门狗,也出现了看门狗起来后程序整个死掉的情况
我的硬件上有一个硬件复位的功能,是否是因为这个RESET引脚被占用了,导致看门狗无法正常工作?
值得一提的是:如果第一次程序被看门狗咬死后,硬件复位之后,看门狗都能正常工作。
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:
手动复位一次就好了,或者看链接: http://processors.wiki.ti.com/index.php/CC2640_OAD_User%27s_Guide