请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC2674P10主题中讨论的其他器件:SYSBIOS
工具/软件:
你好
进行下载
int main()
{
#ifndef USE_DEFAULT_USER_CFG
ZStack_user0Cfg.macConfig.pAssertFP = assertHandler;
#endif
/*启用 ICache 预取*/
VIMSConfigure (VIMS_BASE、TRUE、TRUE);
#if defined (use_cache_RAM)
/*禁用高速缓存*/
VIMSModeSet (VIMS_BASE、VIMS_MODE_DISABLED);
#else
/*启用缓存*/
VIMSModeSet (VIMS_BASE、VIMS_MODE_ENABLED);
#endif
/*
电路板相关材料的初始化、例如 LED
遵循 TI-RTOS 约定
*/
BOARD_INITGENERAL ();
//#ifdef Thor_fpga
// FPGA 无法睡眠
Power_setConstraint (PowerCC26XX_IDLE_PD_disallow);
Power_setConstraint (PowerCC26XX_SB_disallow);
//#endif
// OTA 客户端项目使用 BIM、因此此映像中不存在 CCFG
#if!((defined OTA_CLIENT_standalone)||(defined OTA_CLIENT_integrated))
/*
*从 CCFG 区域复制扩展地址
*假设: CCFG_IEEE-MAC_0 和 CCFG_IEEE-MAC_1 中的存储器
*是连续的、LSB 优先。
*/
/*用于检查有效的扩展地址*/
静态常量 uint8_t dummyExtAddr[]=
{0xFF、0xFF、0xFF、0xFF、0xFF、 0xFF、0xFF、0xFF};
OsalPort_memcpy (ZStack_user0Cfg.extendedAddress、(uint8_t *)&(__ccfg.CCFG_IEEE-MAC_0)、
(APIMAC_SADDR_EXT_LEN));
/*检查 CCFG IEEE 是否有效*/
if (memcmp (ZStack_user0Cfg.extendedAddress、dummyExtAddr、APIMAC_SADDR_EXT_LEN)= 0)
#endif //(定义的 OTA_CLIENT_standalone)||(定义的 OTA_CLIENT_integrated
{
/*不是,它是无效的。 获取主 IEEE 地址*/
OsalPort_memcpy (ZStack_user0Cfg.extendedAddress、(uint8_t *)(FCFG1_BASE + EXTADDR_OFFSET)、
(APIMAC_SADDR_EXT_LEN));
}
/*设置 NV 驱动程序*/
NVOCMP_loadApiPtrs (&ZStack_user0Cfg.nvFps);
#ifdef NVOCMP_MIN_VDD_FLASH_MV
NVOCMP_setLowVoltageCb (&Main_lowVoltageCb);
#endif
if (zstack_user0Cfg.nvFps.initNV)
{
zstack_user0Cfg.nvFps.initNV(NULL);
}
#ifdef ZStack_GPD
OSALPORT_memcpy (ApiMac_extAddr、ZStack_user0Cfg.extendedAddress、
(APIMAC_SADDR_EXT_LEN));
_macTaskId = macTaskInit (&ZStack_user0Cfg.macConfig);
#else
/*配置堆栈任务*/
stackTask_init (&ZStack_user0Cfg);
#endif // ZStack_GPD
#ifdef NPI
extern void NPITask_createTask (void);
npitask_createTask();
Semaphore_Params semparam;
Semaphore_Params_初始化 (&semParam);
semParam.mode = ti_sysbios_KNL_COUNTING Semaphore_Mode_;
信标构造 (&npiInitializationMutex、0、&semParam);
npiInitializationMutexHandle =信号量_handle (&npiInitializationMutex);
#endif
// ZNP 不需要应用任务
#ifndef ZNP_NPI
#ifndef CUI_DISABLE
Cui_params_t cuiParams;
Cui_paramsInit (&cuiParams);
Cui_init (&cuiParams);
#endif
Task_Params taskParams;
/*配置应用任务。 */
Task_Params_(&taskParams);
taskParams.stack = myTaskStack;
taskParams.STACKSIZE = APP_TASK_STACK_SIZE;
taskParams.priority = 2;
Task_construct (&myTask、taskFxn、&taskParams、NULL);
#endif
#ifdef DEBUG_SW_TRACE
IOCPortConfigureSet (IOID_8、IOC_PORT_RFC_TRC、IOC_STD_OUTPUT
| IOC_CURRENT_4mA | IOC_SLEW_ENABLE);
#endif /* DEBUG_SW_TRACE */
BIOS_START ();/*启用中断并启动 SYS/BIOS */
返回 0;//从不执行
}
其中、 采用 ZC 或 ZED 设置?