CC2640R2F PCB用特斯拉线圈打完干扰之后 , 只要执行一次软件复位( watchdog复位 或 调用HAL_SYSTEM_RESET() )就会死机。
初步确定是进入了HIB状态 , 如果将 TCK 直接连到 VDD , 打完干扰之后软件复位不会死机 , 可以正常复位并开始运行。
在看门狗中断函数中我会调用HAL_SYSTEM_RESET() 来进行软件复位 , 是否可以在复位之前通过设置一些寄存器使CC2640复位后不进HIB状态 ?

没有连debugger , 烧完程序之后就已经将XDS debugger拔掉了 。
异常 → 给板子供电 , 工作起来之后用特斯拉线圈靠近板子 , CC2640R2F就会死机且无法自动恢复 ( 有开启watchdog ) , 只有重新上电才能恢复。
正常 → 将TCK跳线短接到VDD , 按照上面的测试方法 , 特斯拉线圈打过之后 , CC2640R2F不会死机 , 会复位并恢复工作 。
现在两种现象的差异就是 TCK悬空 与 TCK短接到VDD , 所以判断可能是进入了HIB状态。
现在产品都已经做了1000套 , 结果现在测出这个了问题 , 看有什么办法能够解决 , 最好是能通过软件解决 , 实在不行在考虑后面改硬件。
Albin Zhang:
zhouchen,
出现了“HIB”后,功耗如何?如果IDE (不知你是ccs还是iar) JTAG还能连回去吗?
BR. AZ
AndyChen:
回复 Albin Zhang:
出现了“HIB”后,功耗如何?
→ 功耗不是很好确定, 因为外围电路比较多 , 有时触摸芯片都会被打死,所以不是很好确认CC2640出于死机状态时的功耗。如果IDE (不知你是ccs还是iar) JTAG还能连回去吗?
→ 打死之后不需要重新上电, 直接接上XDS, 在Flash Programmer 2中是可以检测到IC并进行烧录的。
Albin Zhang:
回复 AndyChen:
programmer 2 可以检测并不能确认是HIB,如果CCS能连进去就可以确认了。
如果是TCK的剧烈扰动造成的HIB,软件就没辙了,软看门狗这时候也不起作用。BR. AZ
AndyChen:
回复 Albin Zhang:
1. CC2640R2F被打死之后 , 不重新上电 , 直接接上XDS , 用CCS来连CC2640 , 如果能连上 , 则可以确认是HIB , 是这样吗 ?
2. 如果真的是HIB , 是无法通过软件来解决的 ?比如在软件复位之前通过设置寄存器来退出HIB ?
Albin Zhang:
回复 AndyChen:
1. 是的。
2. 如果是的话,其实R2F有个workaround, 你看一下http://dev.ti.com/tirex/content/simplelink_cc2640r2_sdk_2_40_00_32/docs/tidrivers/doxygen/html/_power_c_c26_x_x_8h.html#acaed4f189f650d485596cd173016ca1b
AndyChen:
回复 Albin Zhang:
1. 我用的是IAR , CC2640R2F死机之后 , 不重新上电 , IAR是可以连上CC2640R2F的 ( 使用IAR进行download ) , 是否也可以说明是HIB状态 ?
2. 这个网页打开是介绍PowerCC26XX.h , 没有找到HIB相关 , 在整个workaround中搜索 HIB 或 HALT IN BOOT 也搜不到
Albin Zhang:
回复 AndyChen:
PowerCC26XX_JTAG_PD_TURNED_ON
user3570217:
解决了吗
TI中文支持网


