跳到主要内容

DA14531微型模块-编写自定义MAC地址

DA14531 SmartBond微型模块

三个月前

DA14531微型模块-编写自定义MAC地址

过帐人沙什阿拉布尔65分 3个答复
0票以上

你好,

我们能把自己的MAC地址写进这个小模块吗?

如果是,怎么做?

三个月前

PM\U对话框

嗨,沙希阿拉布尔,

感谢您来到我们新的公共论坛发布。

DA14531微型模块在OTP报头中带有一个预编程的对话框BD地址。

请使用SmartSnippets工具箱进行验证。您必须连接到OTP并读取OTP标题。您将看到“蓝牙设备地址”不是空的。它在OTP报头(0x7F87FD4)中编程,是2*32位字。

但是,是否使用注册的BDA取决于应用程序代码。覆盖它的一些可能选项如下:

1.在软件中使用硬编码的BDA,但需要对SDK进行一些修改。请检查system-init()和第1253行-otp\u hdr\u get\u bd\u address()。此函数从OTP头读取BDA地址。然后,nvds\u get\u func()将检查OTP中是否有BD地址(case nvds\u TAG\u BD\u address)。如果yesv(dev\u bdaddr不是空的),那么fw将使用存储在OTP中的BDA。否则,它将从NVDS(CFG\u NVDS\u TAG\u BD\u ADDRESS)获取BDA。因此,一个可能的解决方案可能是显式地将dev\u bdaddr设置为0xFF(空白),这样fw将从NVDS获取BD(CFG\u NVDS\u TAG\u BD\u ADDRESS)。

2.使用由OTP中的唯一数字生成的静态随机BDA。在这种情况下,您应该在USER\u config.h头文件中将USER\u CFG\u ADDRESS\u MODE宏设置为APP\u CFG\u ADDR\u STATIC,并将默认的\u APP\u generate\u unique\u STATIC\u random\u ADDR()API放置在USER\u callback\u config.h文件中的.APP\u generate\u STATIC\u random\u ADDR callback中。

3.在OTP头中使用公共BDA(在不同的位置)。同样,需要在otp\u hdr\u get\u bd\u address()中进行一些修改,因为它从0x7F87FD4读取。你必须修改这个地址。

谢谢,下午好

三个月前

沙什阿拉布尔 65分

看起来有点复杂!

无论如何,我应该有我的样本模块下周,我会尝试,看看我是否可以作出改变的MAC地址,你在你的答复中概述。

谢谢

三个月前

PM\U对话框

嗨,沙希阿拉布尔,

谢谢你的评论。请告诉我们结果。

谢谢,下午好