CC2640:HAL_SYSTEM_RESET 失败
#define HAL_SYSTEM_RESET() (HWREG( AON_SYSCTL_BASE + AON_SYSCTL_O_RESETCTL ) |= AON_SYSCTL_RESETCTL_SYSRESET_M);
5X5的芯片,调用这个函数复位不成功。
请问下是什么原因
测试方案:正常上电之后,LED常亮,设备广播。
当手机发起连接的时候,并且连接成功,设备执行复位操作、
现象:手机建立连接之后,LED灭掉,设备没有广播。
TI工程师是真忙!
如果有遇到同样问题的同学 , 尝试吧调试器断开(主要为D,C引脚)。 在测试。
还有另外一种复位,直接对某个寄存器置1即可,参考查下OAD部分代码
请问您解决了吗,,我使用软件复位出现同样问题,设备死机
有人解决复位死机的问题了吗?HAL_SYSTEM_RESET()属于软件复位吗?
都是软复位 我们在复位前关了总中断 至少现在测试的复位还ok
看图
应该不是这样的,不然它oad总要用到复位吧,那oad不就死翘翘了
可以用跳转到0x0000起始地址来实现复位。
我在测试OAD的时候,也遇到同样的问题。
升级完成后设备重启失败,必须手动复位一次才行。
这是一个bug,具体见下面的OAD链接:
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: