TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

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.

zstack 怎么修改Ieee 地址

   各位看官你好:

      通过修改 zb_WriteConfiguration(ZCD_NV_EXTADDR,Z_EXTADDR_LEN,newExtAddr); 可以改变IEEE地址,但是不能再Programmer中读出来,而且在重新烧写程序后,mac地址又恢复了,怎样修改mac地址永久保存呢?通过程序修改Secondary 的IEEE地址呢?

     坐等回复,谢谢!!!

  • 试下开启 nv init(先把nv restore关闭)

  •  zb_WriteConfiguration(ZCD_NV_EXTADDR,Z_EXTADDR_LEN,newExtAddr); 是把IEEE地址写到了Flash NV区域中,而不是把IEEE地址写到Flash Secondary IEEE地址区中,你用Programmer新的程序的时候,因为生成的Hex文件,存放Secondary 的IEEE的地址上数据又被重新擦除掉了,所以每次重新写程序以后,自己写的地址又不在了。


    所以你有几种方法可以做

    1) 每次在程序启动的时候,在下面的地址和offset下面写入数据,这个地址就是存放Secondary IEEE地址的

    HAL_FLASH_IEEE_PAGE, HAL_FLASH_IEEE_OSET

    2)利用Flash Programmer烧写好程序以后,利用Flash Programmer写Secondary IEEE地址

    3)直接修改hex文件,把hex文件打开,然后在HAL_FLASH_IEEE_PAGE, HAL_FLASH_IEEE_OSET对应的地方,把8个字节的IEEE地址写上去,也可以。

    建议你理解下,协议栈程序里面zmain_ext_addr(void)函数的处理逻辑。

  • 你好: 请问怎么使用程序去修改mac地址,我想用协调器写一个配置mac地址的程序,通过zigbee网络给很多协调器分配自定义的有规律,自定义的mac地址 然后永久保存
  • 自己通过HalFlashWrite函数去写就可以了,写的位置是

    HAL_FLASH_IEEE_PAGE,

    HAL_FLASH_IEEE_OSET