跳到主要内容

DA14585如果它在OTP标题上更改MAC地址

2个星期前

DA14585如果它在OTP标题上更改MAC地址

张贴了达斯达斯10分 1回复
0旋转

问候!

标题更不用名。我有一个带有DA14585的BLE设备。并且MAC地址被刻录到OTP标题中。

是否有任何方法可以在SmartSnippet或任何其他方式上以编程方式绕过或忽略OTP MAC地址?

理想情况下,现在正在寻求一种在这些设备上实现随机Mac-adress的方法。

有没有办法在当前条件下这样做?

2个星期前

PM_DIALOG.

嗨Darthdas,

谢谢你的问题在线。由于BD地址在OTP标题中硬编码,因此归档的蓝牙设备地址不为空,因此存在以下可能的解决方案:

1.使用SW中的硬编码BDA,但需要一些SDK修改。请检查系统init()和第1253行 - otp_hdr_get_bd_address()。此函数从OTP标头读取BDA地址。然后,NVDS_GET_FUNC()将检查OTP中是否存在BD地址(case nvds_tag_bd_address)。如果是,则(dev_bdaddr不空白),则FW将使用存储在OTP中的BDA。否则,它将从NVDS(CFG_NVDS_TAG_BDDRESS)中获取BDA。因此,可能是可能的解决方案可以将DEV_BDADDR显式设置为0xFF(空白),因此FW将从NVDS(CFG_NVDS_TAG_BD_ADDRESS)中使用BD。

2.使用从OTP中的唯一数字生成的静态随机BDA。在这种情况下,您应该将user_cfg_address_mode宏设置为app_cfg_addr_static在user_config.h头文件中,并将default_app_generate_unique_static_random_addr()API放在user_callback_config.h文件中。

3.在OTP标题中使用公共BDA(在不同的位置)。再次在OTP_HDR_GET_BD_ADDRESS()中需要一些修改,因为它从0x7f87fd4读取。您必须修改此地址。

谢谢,PM_DIALOG.