微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI WIFI设计交流 > CC3000的函数nvmem_read()一个奇怪的问题?

CC3000的函数nvmem_read()一个奇怪的问题?

时间:10-02 整理:3721RD 点击:

        我最近发现一个奇怪的问题,就是我在对CC3000升级的时候,就是升级固件的时候发现在读取MAC地址时(函数nvmem_get_mac_address(cMacFromEeprom);)程序会死在UINT8 * hci_event_handler(void *pRetParams, UINT8 *from, UINT8 *fromlen)函数里面,但是我可以尝试用wlan_connect函数连上路由,正常,后来我发现,只要调用nvmem_read函数,程序就会死在UINT8 * hci_event_handler(void *pRetParams, UINT8 *from, UINT8 *fromlen)函数里面。无法继续进行下去。

       我尝试在执行nvmem_get_mac_address(cMacFromEeprom)函数时在程序卡死的时候查看spi_buffer的值,发现实际上MAC地址是由读出来的(在数组的第34个数据开始),如下图:

       这种情况一般是由于什么情况造成的,现在的情况是我无法对CC3000进行升级,而且无法进行Smartconfig的配置!因为在这些过程中都调用了nvmem_read函数!

你是用什么升级的?

 

http://processors.wiki.ti.com/index.php/CC3000_Patch_Programmer

 

Verify Patch burn successfully

In Order to varify the patch burn successfully, one can read the EEPROM current burned service pack version by using this API: 

nvmem_read_sp_version(unsigned char* patchVer);

 

就是直接用链接中提供的代码升级啊!用nvmem_read_sp_version(unsigned char* patchVer);函数读出的版本号是正常的,没有问题!我读出版本号都正常,目前发现只要调用nvmem_read函数相关的代码全部就直接卡死在UINT8 * hci_event_handler(void *pRetParams, UINT8 *from, UINT8 *fromlen)函数里面,其他函数使用都是正常的。

       这样导致我没法升级和Smartconfig,因为这两个操作都要调用nvmem_read函数!

之前有没有烧写失败过?不确定是不是eeprom corrupt了,你用的flasher是什么版本?读出来的sp版本是多少

你好,请问你的问题解决了没有,我遇到和你相同的问题,数据也是一样的

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top