跳过主要内容

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

DA14531 SMARTBOND微型模块

3个月前

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

发表Shashialabur65分 3个答复
0个投票

你好,

我们是否可以将自己的自定义MAC地址写入小型模块?

如果是,怎么样?

3个月前

pm_dialog

嗨,Shashialabur,

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

DA14531小模块在OTP标头中带有预编程的对话框BD地址。

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

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

1.在SW中使用硬编码的BDA,但是需要一些SDK修改。请检查System -Init()和第1253行-OTP_HDR_GET_BD_ADDRESS()。此功能从OTP标头读取BDA地址。然后,NVDS_GET_FUNC()将检查OTP(案例nvds_tag_bd_address)中是否有BD地址。如果YESV(Dev_bdaddr不是空白),则FW将使用存储在OTP中的BDA。否则,它将从NVD(CFG_NVDS_TAG_BD_ADDRESS)中获取BDA。因此,可能的解决方案可能是将DEV_BDADDR明确设置为0xff(空白),因此FW将从NVD(CFG_NVDS_TAG_BD_ADDRESS)中获取BD。

2.使用从OTP中的唯一数字生成的静态随机BDA。In this case you should set the USER_CFG_ADDRESS_MODE macro to APP_CFG_ADDR_STATIC in the user_config.h header file and place the default_app_generate_unique_static_random_addr() API in .app_on_generate_static_random_addr callback in user_callback_config.h file.

3.在OTP标头中使用公共BDA(在其他位置)。同样,在OTP_HDR_GET_BD_ADDRESS()中需要进行一些修改,因为它从0x7F87FD4读取。您将必须修改此地址。

谢谢,pm_dialog

3个月前

Shashialabur 65分

看起来有点复杂!

无论如何,我应该在下周之前有示例模块,我将尝试查看您是否可以在答复中概述的MAC地址进行更改。

谢谢

3个月前

pm_dialog

嗨,Shashialabur,

谢谢你的评论。请让我们知道结果。

谢谢,pm_dialog