正在从设备唯一ID?读取更多字段?。。

了解更多常见问题教程

2个职位/0个新职位
最后一篇文章
亚历克逊尼123
离线
最后一次见到:2个月1周前
已加入:2020-11-17 12:37
正在从设备唯一ID?读取更多字段?。。

你好,

除了MAC地址(广播地址)之外,我还想为我烧录的每个OTP分配一个8字节的唯一id。
在Smart Snippets中,在OTP报头下有许多称为“Device unique ID”的字段,其中前两个字段用于6字节的广播地址。

如何读取程序中的这些字段?
在nvds.c中,我找到了读取OTP广播地址的代码。

void nvds \u read \u bdaddr \u from \u otp()
{
#来自OTP的ifdef BDADDR\u

#如果从OTP启动应用程序
... //无关代码-在我的编译应用程序\u BOOT\u FROM\u OTP中定义了。
#其他
uint8\u t*otp\u bdaddr=(uint8\u t*)0x20000000+bdaddr\u FROM\u otp;//其中otp头中是bdaddr
#结束

memcpy(&dev_bdaddr,otp_bdaddr,sizeof(dev_bdaddr));
SetBits16(CLK_AMBA_REG,OTP_ENABLE,0);//禁用OTP时钟
#ifdef支持\u 1 \u 8 \u V
SetBits16(DCDC_CTRL2_REG,DCDC_VBAT3V_LEV,0x0);//--支持1.8V启动
#结束

#结束
}

我可以创建一个简单的8字节静态数组,并在上面的memcpy下面添加以下行:

memcpy(我唯一的id,(otp\u bdaddr+8),8);

这样做对吗?
我是否应该使用不同的位置来存储标识符以供自定义使用(以支持将来的堆栈等)?
我在0x47F54还看到了名为客户特定字段的字段。

谢谢

亚历克桑尼

设备:
PM\U对话框
离线
最后一次见到:3小时45分钟前
工作人员
已加入:2018-02-08 11:03
嗨,亚历克逊尼123,

嗨,亚历克逊尼123,

谢谢你的在线提问。所以,如果我理解正确的话,您想要完成的是在OPT中添加另一个唯一的ID,而不是从设备BD地址?nvds\u read \u bdaddr\u from \u otp将尝试从otp(0x7fd4)获取地址,并将地址值复制到“dev\u bdaddr”。

谢谢,下午好