7个职位/ 0个新职位
最后发表
songsayit
离线
最后看到:3年9个月前
加入:2016-05-31 35
使用spi写mac地址后,SUOTA升级不了

功能需求:
由于我每个祝福板子要使用不同的MAC地址,因此我将MAC地址写到flash的0 x1f100,然后再通过spi读取出来,赋值给dev_bdaddr,这样就能显示我写的MAC地址了。
那么现在问题来.
问题描述:
我无法使用手机进行ota升级了。如果我不是使用spi去读取,直接调用sdk里的nvds_read_bdaddr_from_otp,那么ota升级就很正常。

请麻烦帮我解决一下ota升级问题。

设备:
songsayit
离线
最后看到:3年9个月前
加入:2016-05-31 35
我这边解决了.原来是spi管脚被释放了。

我这边解决了.
原来是spi管脚被释放了。

index219
离线
最后看到:1年8个月前
加入:2016-05-23 07:00
你好,我现在也在尝试修改MAC地址,但我操作不成功,

你好,我现在也在尝试修改MAC地址,但我操作不成功,
我直接写的寄存器
SetWord32 (BLE_BDADDRL_REG co_read32p (bd [0]));
SetWord16 (BLE_BDADDRU_REG co_read16p (bd) [4]);
请问下你是怎么操作的?
你说的赋值给dev_bdaddr吗?是在开机初始化的时候操作的么?
非常感谢!

Gongyu_Dialog
离线
最后看到:1周4天前
加入:2016-04-27 07:07
代码上电的时候,工程都会调用custom_nvds_get

代码上电的时候,工程都会调用custom_nvds_get_func去读蓝牙地址。查看代码,如果dev_bdaddr是0 (co_null_bdaddr是全0地址),那么就会去调用罗里的函数nvds_get_func去读结构nvds_data_storage里的内容。否,则就直接把dev_bdaddr当作实际的地址。

开机后,我想只要加在代码无效rwble_init (void)里的lld_init (false)之前就可以。

更方便的办法,如果不涉及OTP的应用,打开宏CFG_INITIALIZE_NVDS_STRUCT,在生成的本文件里直接找到写的默认地址字段,直接改就可以。

index219
离线
最后看到:1年8个月前
加入:2016-05-23 07:00
非常感谢,直接在本文件中修改mac地址的方法

非常感谢,直接在本文件中修改mac地址的方法,我已经明白,等批量工具做好了,再使用这方法。
”加在代码无效rwble_init (void)里的lld_init (false)之前就可以”,实际我测试了下不的行,我试着添加到rwble_init()之前,将srand(1),之后,便可以了。
Gongyu_Dialog,还有一个之前的问题,你说MAC唯一地址是要向团体组织申请,我们前期用量不是很大,我查阅了一些资料,说很多蓝牙厂商都有自己申请过,请问对话框是否可以提供一小段MAC地址,在我们产品正式上市的时候。

Gongyu_Dialog
离线
最后看到:1周4天前
加入:2016-04-27 07:07
关于地址提供,对话框应该没有这样的支持

关于地址提供,对话框应该没有这样的支持。要不你就用随机的地址应该也可以。

”加在代码无效rwble_init (void)里的lld_init (false)之前就可以”,实际我测试了下不行”
/ / SDK3.0.110里,宏BLE_HOST_PRESENT打开的,所以rwip_init函数默认是空的,走不进去了。

index219
离线
最后看到:1年8个月前
加入:2016-05-23 07:00
非常感谢,我现在调试就是用6个字节的随机数充当MAC地址的

非常感谢,我现在调试就是用6个字节的随机数充当MAC地址的,那最后产品上市的时候,在想办法购买把。