烧录BD地址到OTP头

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
4个职位/ 0个新职位
最后发表
posciamelo
离线
最后看到:7个月2个星期前
加入:2020-06-08 07:18
烧录BD地址到OTP头

亲爱的对话框,

我想把BD地址刻录到OTP头。然而,我可以看到8字节而不是6可以被写入。您能否提供一些指导意见,说明如何做到这一点?

另外,一旦OTP头写入,SDK会自动读取BD地址吗?或者我需要更改其他设置吗?

谢谢

LC_Dialog
离线
最后看到:2个月3个星期前
工作人员
加入:2016-09-19 23:20
嗨posciamelo,

嗨posciamelo,

您可以通过使用SmartSnippets工具箱中的OTP程序员或使用我们的生产线工具(PLT)在OTP头中的地址0x7FD4编写BD地址,如果您正在考虑在生产中这样做的话。

若要从OTP上读取BD地址,请按照请张贴一般细节。这些说明是为我们的68x平台提供的,但它会让你开始在哪里寻找api。

下面是SDK6读取OTP BD地址的代码片段:

Static void read_otp_header(void) {hw_otpc_init();hw_otpc_manual_read_on(假);//读取BD设备地址memcpy(&dev_bdaddr, (uint8_t *) OTP_HDR_BDADDR_ADDR, sizeof(dev_bdaddr);///从OTP头读取设备地址…}

最好的
LC_Dialog

PM_Dialog
离线
最后看到:1周2天前
工作人员
加入:2018-02-08 11:03
感谢LC_Dialog

感谢LC_Dialog的回复。

我想强调一下,这个过程是针对DA1531 SoC的,而不是针对DA14531MOD(作为标记进入初始post)的,因为该模块带有一个预编程的BD地址。请见下文

因此,所描述的过程对DA14531用户有很好的参考价值。

嗨posciamelo,

由于您使用的是DA14531 TINY模块,请注意,该模块在OTP报头中已预先编写了对话公共BD地址。你可以很容易地用SS工具箱检查:读取OTP头,你会发现蓝牙设备地址的值不是空的。在系统初始化- system_init() - SDK从OTP头读取BD地址- otp_hdr_get_bd_address()。如果BD地址为空,则它从nvds_data_storage()获取BD地址。

如果你想设置自己的BD地址,一个可能的解决方案可能是设置的OTP(不是具体提出OTP头,因为它已经编程)或FLASH,然后改变了祝福的代码来设置这个应用程序代码。

谢谢,PM_Dialog

posciamelo
离线
最后看到:7个月2个星期前
加入:2020-06-08 07:18
谢谢你们俩

谢谢你们的回答。很高兴听到DA14531MOD已经带有一个注册的公共BD,我不需要设置它。

干杯