从设备唯一ID读取更多字段?..
DA14580
7个月前
从设备唯一ID读取更多字段?..
发布的alexsunny1230点 1回复你好,
我想分配一个8字节的唯一id到每个OTP,我烧,除了MAC地址(广播地址)。
在智能片段中,在OTP报头下,有许多字段称为“设备唯一ID”,其中前两个用于6字节的广播地址。
如何读取程序中的这些字段?
在nvds.c中,我发现了读取OTP广播地址的代码。
空白nvds_read_bdaddr_from_otp ()
{
# ifdef BDADDR_FROM_OTP
的ifndef APP_BOOT_FROM_OTP
...在我的编译中定义了APP_BOOT_FROM_OTP
其他#
uint8_t *otp_bdaddr = (uint8_t *)0x20000000 + BDADDR_FROM_OTP;//其中OTP报头是BDADDR
# endif
memcpy (&dev_bdaddr otp_bdaddr, sizeof (dev_bdaddr));
SetBits16 (CLK_AMBA_REG OTP_ENABLE 0);/ /禁用OTP时钟
# ifdef SUPPORT_1_8_V
SetBits16 (DCDC_CTRL2_REG DCDC_VBAT3V_LEV 0 x0);/ / / - 1.8 v的引导支持
# endif
# endif
}
我可以创建一个简单的8字节静态数组,并在上面的memcpy下面添加以下一行:
Memcpy (my_unique_id, (otp_bdaddr + 8), 8);
这是正确的做法吗?
是否有一个不同的位置,我应该用来存储标识符为我自己的定制使用(以支持未来的堆栈,等等)?
我还在0x47F54中看到了称为客户特定字段的字段。
谢谢
alexsunny
7个月前
嗨alexsunny123,
谢谢你在网上提出的问题。所以,如果我理解正确,您想要完成的是在OPT中添加另一个唯一的ID,除了设备BD地址?nvds_read_bdaddr_from_otp将尝试从OTP(0x7fd4)获取地址,并将地址值复制到“dev_bdaddr”。
谢谢,PM_Dialog