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.

[参考译文] RTOS/CC2640:如何使用TIRTOS 2.13 设置CC2640监护程序

Guru**** 2558250 points
Other Parts Discussed in Thread: CC2650

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/583231/rtos-cc2640-how-to-set-cc2640-watchdog-with-tirtos-2-13

部件号:CC2640
在“线程:CC2650”中讨论的其它部件

工具/软件:TI-RTOS

大家好:

现在我想在我的项目中添加看门狗。 当我删除 了feed dog功能,程序keep restart时,我的设置似乎是success。

但是,当我添加喂入犬功能时,,程序只能运行喂入犬功能,即使我反复按键。

 

我自己的主板使用CC2.6404万*4芯片,软版本为 ble-sdk_2_02_01_18和tirtos_simplelink_2_13_00_06。

我的项目基于key_fob。

下面是 我的操作步骤。

1、添加 Watchdog。c、Watchdog。h、Watchdog CC26XX.c、WatchdogCC26XX.h in ble _SDK_2_02_01_18\src\components\services\src\watchdog

2、添加选项包括路由:$SRC_BLE_CORE $/components/services/src/watchdog

3、添加代码

/////////////////////////////////////CC2650DK_4SX.c  Begin///////////////////////////////////////////////////////////////

包含"Watchdog.h"
#include "WatchdogCC26XX.h"

WatchdogCC26XX_Object WatchdogCC26XX对象[CC2650_WATCHDOGCOUNT];

const WatchdogCC26XX_HWAttrs watchdogCC26XHwAttrs[]={

.baseAddr = WDT_BASE,
intNum = INT_NMI_FAULT,
//.intNum = INT_WDT_IRQ,
}
};

const Watchdog配置Watchdog配置[]={
{&WatchdogCC26XX_fxnTable,&watchdogCC26XXObjects[0],&watchdogCC26XHwAttrs[0]},
{ NULL,NULL,NULL },
};

///////////////////////////////////////CC2650DK_4SX.c  end///////////////////////////////////////////////////////////////////////

 

 

////////////////////////////CC2650DK_4SX.h  begin /////////////////////////////////////////////////////////////////////////////////////

typedef enum CC2650_WatchdogName {
CC2650_WATCHDOG0 = 0,
CC2650_WATCHDOGCOUNT,
} CC2650_WatchdogName;

////////////////////////////CC2650DK_4SX.h  end/////////////////////////////////////////////////////////////////////////////////////////

 

///////////////////////////////////////keyfobdem.c  beg/////////////////////////////////////////////////////////

包含"Watchdog.h"
#include "WatchdogCC26XX.h"
#include <ti/drivers/power/PowerCC26XX.h>

...

void wdtCallback (UArg手柄)

打印("wdtcleal\r\n");
看门狗清除((看门狗手柄)手柄);
//HAL_SYSTEM_RESET();
}

静态Watchdog手柄watchdog =空;

void wdtInitFxn()

//Board_initWatchdog ();
Watchdog Params WP;
Watchdog Params_init(&W);
wp.callbackFxn = wdtCallback;
wp.debugStallMode = Watchdog调试_stall;
wp.resetMode = Watchdog_reset_on;

Watchdog = Watchdog打开(CC2650_WATCHDOG0,&WP);
Watchdog _setReload (watchog,300万);// 1秒(WDT始终以48MHz/32运行)

}

静态void密钥FObDemo_init(void)

...

wdtInitFxn();

...

}

///////////////////////////////////////keyfobdem.c  end///////////////////////////////////////////////////////////////

 

出什么问题了吗?

非常感谢!

 

 

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对于BLE堆栈2.2 .1,TI-RTOS版本应为tirtos_cc13xx_cc26xx_2_20_01_08。

    当您将TI-RTOS降级为2.13 时,您将打破BLE堆栈。