亲爱的对话小组,
有没有可能设置新的自定义或随机BD地址时,每次重新启动OTP不使用?描述的方法在这里,这涉及到地址类型和地址委员会成员用户\u gapm \u conf结构,不起作用。BD地址总是从CFG\u NVDS\u TAG\u BD\u address define设置的。
另外,你能否澄清nvds\u get\u func()(案例)NVDS\标签\ BD\地址)来自nvds.c?
谢谢并致以最诚挚的问候!
嗨,莫圭列夫斯基,
谢谢你在网上发帖。如果我理解正确,您希望在设备启动时使用不同的DB地址进行播发。如果我弄错了,请纠正我。您可以使用一个随机的静态BD地址,因此应该将USER\u config.h头文件中的USER\u CFG\u Address\u MODE宏更改为APP\u CFG\u ADDR\u Static。
谢谢,下午好
你好,PM\U对话,
谢谢你的回复。它可以很好地处理随机静态BD地址。然而,我从NVDS中读到BD adders,它仍然是由CFG\u NVDS\u TAG\u BD\u address定义的公共地址。
两种类型的地址都应该存储在设备内存中吗?那么随机静态地址存储在哪里?
我们有几乎相同的情况-公共的BD地址是通过UART接收后,电源上,需要通过编程设置,覆盖CFG\U NVDS\U标签\U BD\U地址定义。
使用以下方法不起作用(public\u address变量是带有接收到的public BD address的6字节缓冲区):
/*在arch_system.c::system_init()中,使用OTP_HDR_get_BD_address()从OTP位置OTP_HDR_BDADDR_ADDR*读取BD地址,并复制到dev_BDADDR变量。如果未编程OTP,*dev\u bdaddr将是空的\u OTP\u bdaddr(DA14531)或空的\u bdaddr(DA1458x)。当tag是nvds\u tag\u BD\u ADDRESS时,变量*dev\u bdaddr只在nvds.c::nvds\u get\u func中使用。**在nvds.c::nvds\u get\u func(tag=nvds\u tag\u BD\u addr)中,检查dev\u bdaddr的值,如果*不为空/null,则返回其值。否则用户配置值*nvds\u data_storage.bd\u地址将被使用,它被静态地分配给CFG\u NVDS\u TAG\u BD\u ADDRESS*(在da1458x\u config\u advanced.h中定义)。这个函数是从ROM代码调用的。*/外部结构bd\u addr dev\u bdaddr;/*
尽管事后阅读时
struct bd\u addr resp\u addr;/*读回设置地址*/lld\u util\u get\u bd\u addr(&resp\u addr);
新地址实际上已设置(resp_地址==公共地址),但之后开始广告时,DA14585使用旧地址进行广告。
基于CYibin的评论,但我怀疑只有在user\u app\u init()中设置时,上述方法才有效。以后怎么改地址-随时?
编辑:对于任何想知道的人,我刚刚发现了工作方式。为了设置公共广播,以下是
/*实际设置当前BD address*/lld\u util\u set\u BD\u address(&dev\u bdaddr,0);
必须替换为
/*也可以通过链接层管理器立即应用此地址*/llm_util_set_public_addr(&dev_bdaddr);llm_util_apply_bd_addr(0);/*<0=公共地址*/
回读保持不变
/*直接从链路层驱动程序*/lld\u util\u get\u bd\u address(&resp\u addr)读回set address;
你好bojanpotocnik,
非常感谢你的贡献。
感谢您的意见和指示。
嗨,莫圭列夫斯基,
谢谢你在网上发帖。如果我理解正确,您希望在设备启动时使用不同的DB地址进行播发。如果我弄错了,请纠正我。您可以使用一个随机的静态BD地址,因此应该将USER\u config.h头文件中的USER\u CFG\u Address\u MODE宏更改为APP\u CFG\u ADDR\u Static。
谢谢,下午好
你好,PM\U对话,
谢谢你的回复。它可以很好地处理随机静态BD地址。然而,我从NVDS中读到BD adders,它仍然是由CFG\u NVDS\u TAG\u BD\u address定义的公共地址。
两种类型的地址都应该存储在设备内存中吗?那么随机静态地址存储在哪里?
亲爱的对话小组,
我们有几乎相同的情况-公共的BD地址是通过UART接收后,电源上,需要通过编程设置,覆盖CFG\U NVDS\U标签\U BD\U地址定义。
使用以下方法不起作用(public\u address变量是带有接收到的public BD address的6字节缓冲区):
尽管事后阅读时
新地址实际上已设置(resp_地址==公共地址),但之后开始广告时,DA14585使用旧地址进行广告。
基于CYibin的评论,但我怀疑只有在user\u app\u init()中设置时,上述方法才有效。以后怎么改地址-随时?
编辑:对于任何想知道的人,我刚刚发现了工作方式。为了设置公共广播,以下是
必须替换为
回读保持不变
你好bojanpotocnik,
非常感谢你的贡献。
你好bojanpotocnik,
感谢您的意见和指示。
谢谢,下午好