TI中文支持网
TI专业的中文技术问题搜集分享网站

在使用BLE-CC254x-1.5.0.16库里面的SimpleBLEPeripheral工程加入开启看门狗直接编译,看门狗时间为250ms(其他时间设定都试过),并且未添加喂狗程序,同时去除IAR预编译的power_saving宏定义,仿真时芯片可以正常复位,但在非仿真时芯片尽然不复位,使用1.4版本库没有这个问题,请问这是新版本库的BUG吗?

整个新的工程只增加了test部分和去掉了IAR预编译的POWER_SAVING宏定义,编译后烧录进芯片观察,仿真时芯片隔一秒复位一次,非仿真时一点反应都没有,但使用1.4版本库竟然没有这个问题,这个真的是新版本的BUG吗?

发现此问题是在做一个新的项目中使用了BLE-CC254x-1.5.0.1版本库,程序已经加入看门狗,但会出现死机,死机现象为蓝牙搜不到,串口没工作,按键没有反应,整个芯片不知道出于什么状态,但之前的1.4版本从未测试出此问题,及时把1.4版本的看门狗去掉也不会出现死机现象,刚开始以为是修改程序后出现问题,就用一个什么都未更改的库程序测试看门狗,竟然没有反应,请高手回答!!!!!

实验①:新的实验,同样的程序(1.5版本库)在另外一块demo板上用仿真器供电看门狗竟然可以正常复位,在产品板上用仿真器供电运行看门狗也无法复位,下面为产品板原理图,实验过把RESET管教的上拉电阻和电容都去掉,看门狗仍然无效。

请问看门狗和电路应用有关系吗?

产品板原理图(看门狗不起作用)

demo板原理图(看门狗起作用)

实验②:在1.5版本库程序直接调用 HAL_SYSTEM_RESET();程序烧录到产品板,在仿真状态下程序可以复位,在非仿真状态下程序毒不能复位,这个宏定义都不起作用。

Alvin Chen:

#define WD_INIT_1000MS()st( WDCTL = 0x00; WDCTL |= 0x08; )//间隔时间为1000MS的看门狗启动
#define WD_INIT_250MS()st( WDCTL = 0x00; WDCTL |= 0x01; WDCTL |= 0x08; )//间隔时间为250MS的看门狗启动
#define WD_INIT_15_625MS()st( WDCTL = 0x00; WDCTL |= 0x02; WDCTL |= 0x08; )//间隔时间为15.625MS的看门狗启动
#define WD_INIT_1_9MS()st( WDCTL = 0x00; WDCTL |= 0x03; WDCTL |= 0x08; )//间隔时间为1.9MS的看门狗启动

你上面的的定义250MS一次,此外你有测试BLE-CC254x-1.5.0.1里面的提供的peripheral固件在你的板子上吗?

Alvin Chen:

回复 Alvin Chen:

C:\Texas Instruments\BLE-CC254x-1.5.0.16\Accessories\HexFiles\CC2541_SmartRF_SimpleBLEPeripheral.hex

YiKai Chen:

你有定時去踢狗嗎

wenguang zhan:

回复 YiKai Chen:

请看标题,没有添加喂狗程序,现在的问题是开启了看门狗没有添加喂狗程序,芯片非仿真状态下不复位

wenguang zhan:

回复 Alvin Chen:

上面的写的看门狗时间有误,当时是试了所有的看门狗时间都无效,板子其他功能都正常,连接手机APP,串口什么都正常,只有非仿真状态下看门狗不能复位,同时做了只用仿真器供电运行也无法复位,目前得出来的结论是只有反正状态下才会复位,但我的程序烧录到另外一个实验用的demo板非仿真状态下用仿真器供电运行竟然可以复位,请问电路对看门狗有影响吗?待会上原理图

Alvin Chen:

回复 wenguang zhan:

你好,我在CC2541 keyfob测试没有这个问题。

wenguang zhan:

回复 Alvin Chen:

你好,请看下从新上传的原理图,看门狗和电路应用有关系吗?我在别的demo板测试也没有这个问题,非常奇怪,希望高手解答一下

Alvin Chen:

回复 wenguang zhan:

你其他板子有焊接32k晶振吗?

wenguang zhan:

回复 Alvin Chen:

那个可以的demo板有焊接晶振,待会我吧可以的demo板电路图上传上去

Alvin Chen:

回复 wenguang zhan:

你需要焊接32k晶振或者如果不焊接则需要修改使用内部RC震荡。

赞(0)
未经允许不得转载:TI中文支持网 » 在使用BLE-CC254x-1.5.0.16库里面的SimpleBLEPeripheral工程加入开启看门狗直接编译,看门狗时间为250ms(其他时间设定都试过),并且未添加喂狗程序,同时去除IAR预编译的power_saving宏定义,仿真时芯片可以正常复位,但在非仿真时芯片尽然不复位,使用1.4版本库没有这个问题,请问这是新版本库的BUG吗?
分享到: 更多 (0)