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

cc2640r2 MAC地址动态修改

sdk版本:simplelink_cc2640r2_sdk_1_40_00_45

项目中要求可以修改mac地址。程序在simple初始化  ICall_registerApp(&selfEntity, &syncEvent); 后面调用HCI_EXT_SetBDADDRCmd可以实现mac地址的修改。在其他地方,如事件处理函数中调用,函数不起作用。

想问一下,如果想动态修改mac地址,该怎么实现?目前想到的方案是通过复位来实现。先将需要修改的mac地址存储,然后复位再调用来修改。然而协议栈不支持软件复位HAL_SYSTEM_RESET()。是否只能通过看门狗来是系统复位来修改了?

Viki Shi:

HCI_EXT_SetBDADDRCmd这个函数只是把地址写进ram,为保证不丢失,你需要把这个地址存放在flash中的CCFG里
复位的话考虑软件复位和看门狗复位,HAL_SYSTEM_RESET不起效?

Skey Lee:

回复 Viki Shi:

需要把这个地址存放在flash中的CCFG里

这里是如何实现?请问又没哟相关资料,谢谢。

=====================================

至于复位函数,复位函数提到

//Perform the equivalent of a PIN Reset (hard reset).

// The cc26xx system has not been design to handle soft reset.  这里说还没设计进去。不知道是否可用

// Making a soft reset can make the system unstable.

// All soft reset needs to be replace by Hard reset.

#define HAL_SYSTEM_RESET()  (HWREG( AON_SYSCTL_BASE + AON_SYSCTL_O_RESETCTL ) |= AON_SYSCTL_RESETCTL_SYSRESET_M);

我再验证一下。如果此函数不行,我计划产生一个事件,初始化看门狗,然后等待看门狗自己复位来实现软件复位。

赞(0)
未经允许不得转载:TI中文支持网 » cc2640r2 MAC地址动态修改
分享到: 更多 (0)