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.
1、如题,谁能告诉我这个IEEE地址到底在哪个地址(从0x00200000偏移地址开始)藏着? 为什么zmain_ext_addr里面就获取不到对的地址呢? aExtendedAddress全局数据后面全部都是0x00,但是CC2538 ZNP工作都正常。
2、是不是根据编译出来的.hex文件烧进去不同,IEEE地址保存的位置就不同?
3、我用的是C:\Texas Instruments\Z-Stack 3.0.0\Projects\zstack\ZNP\CC2538\ZNP.eww工程,工作在UART模式
您可以参考论坛置顶贴内的说明 https://www.deyisupport.com/question_answer/wireless_connectivity/zigbee/f/104/t/75525.aspx
调试了两天,也问了e2e的YIkai Chen,他自己试了几次他说没问题,他还怀疑我的问题。我让Michael.Zhang也在CC2538 ZNP工程上试了,也发现了同样的问题,不过测试每次都要全部擦除,不然直接IAR debug调试NV是不会擦除的。
我想我已经描述的很清楚了,
e2e 连接:https://e2e.ti.com/support/wireless_connectivity/zigbee_6lowpan_802-15-4_mac/f/158/t/652262
这是CC2538 ZNP工程 ZMain.c源码文件里面的一个bug,分析一下zmain_ext_addr函数实现,就看出问题了,虽然从HAL_INFO_IEEE_ADDR可以读取到IEEE地址,但是4个高字节和4个低字节是反过来的,ZNP工程里面的代码,也没有进行调换,这样就写入到NV里面,那么IEEE地址一定前4个字节和后4个字节肯定颠倒了。
对比了TI2538ZNP和TI2538DB两个目录下的ZMain.c代码,以及注释,才知道有个叫IEEE OUI的东西。
这个bug解决方法也特别简单,把TI2538DB目录下的Zmain.c 拷贝到TI2538ZNP目录,重新编译,就这么简单解决了,但是一开始我是坚信TI给的示例代码肯定都是经过测试的,不会有问题,所以折腾了很久。