FW烧录为SPI flash时,修改BD地址

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
8个帖子/ 0新
最后发表
维克林
离线
最后看到:3年4个月前
加入:2016-03-31 03:11
FW烧录为SPI flash时,修改BD地址

因为我们想在FW烧录到SPI flash的时候修改DA14580中的BD地址,怎么做?
(让每个设备有不同的BD地址。)

方法1:
我们在SPI flash中烧FW。如果有可能,我们可以通过修改十六进制文件的BD地址来修改BD地址吗?(不要再编译。)
如果我们能做到,请帮助让我们知道如何做。

方法2:
我们在SPI flash中烧FW。然后把BD地址从OTP改过来。
但我们只是想更改BD地址,不要在OTP中使用其他设置。我们怎样呢?
您可以在SmartSnioOets Toolbox V4.7.3.1690中提供烧焦的OTP文件和命令行方法吗?(JTAG端口)
我们将直接刻录对话框中的OTP文件。
(希望逐步提供给我们方法。)

如果在FW烧录为SPI flash时,你有其他更好的更改BD地址的方法,请帮忙告诉我们。
谢谢。

设备:
MT_dialog
离线
最后看到:3个月3周前
工作人员
加入:2015-06-08 34
嗨Vic Lin,

嗨Vic Lin,

580,没有闪光灯,所以在编译SDK时,为580编译,要通过NVDS更改每个设备的BD地址的选项,可以通过OTP或WW加载的FW填充。现在,如果您使用的是外部闪存,您必须修改SDK才能从闪存中读取BD地址,此方法存在于船上内部闪光灯的583。583如何完成,您将能够在System_Init()函数中调用的nvds_read_bdaddr()函数中找到它。读取583的闪存的函数是nvds_read_bdaddr_from_da14583_flash()。NVDS_READ_BDADDR_FROM_DA14583_FLASH()中的代码将在闪存中的指定地址中查找产品标题,如果该值除零以外,则检查指定的偏移量。如果值为有效,则它将需要该值并将其应用于用于设置设备的BD地址的Dev_bdaddr变量。因此,通过在具有不同DB地址的偏移中实现类似和刻录每个设备的闪光灯的东西,允许您为从闪存读取的每个设备具有不同的地址。

谢谢mt_dialog.

维克林
离线
最后看到:3年4个月前
加入:2016-03-31 03:11
所以我们必须修改代码

因此,如果我们想从SPI Flash更改BD地址,我们必须通过模仿DA14583代码来修改代码来修改代码,而无法直接使用所提到的DA14583功能。
但是通过这种方法,我们如何在SPI flash中添加新的BD地址呢?正如我所知,SmartSnippets将检查校验和时,我们烧十六进制文件到SPI flash。

但是,“方法2”怎么样?也许这是简单的方法。

MT_dialog
离线
最后看到:3个月3周前
工作人员
加入:2015-06-08 34
嗨Vic Lin,

嗨Vic Lin,

从SPI Flash从580上获取BD地址的代码将与583相同,但您将删除583个定义,以便将代码包含在构建中,更改函数名称更改默认583闪存的引脚您的闪光设置等。但作为一个实现将是相同的。使用智能片段,您可以使用Pricigtifiess Header Programmer来创建标题并刻录Flash中的创建标题。此页面也将在Flash SS中的不同地址上检查是否正确下载了所示的任何指示。

关于第二种方法,它将需要烧OTP头,我有一个印象,你不会想烧OTP在所有,但如果它对你烧OTP然后SDK将读取OTP bd地址值没有任何修改。为了做到这一点,你所需要做的只是烧bd地址在设备唯一ID字段的OTP头(智能片段“OTP头”工具)。这就是设备从OTP获取bd地址所需要做的一切,您不需要更改任何其他内容。如果您想为此使用命令行,请签入Smart Snippets帮助选项,并打开用户手册。在用户手册中,您将能够找到用于燃烧OTP的cli命令。

由于MT_dialog

维克林
离线
最后看到:3年4个月前
加入:2016-03-31 03:11
对于方法1:

对于方法1:
当使用专有头程序员时,你能提供烧毁的文件吗?
每个设备都具有相同的刻录文件(唯一的区别是BD地址)。这是对的吗?
我们应该燃烧哪个位置,我们应该烧掉FW和标题吗?

对于方法2:
这意味着我们可以按照以下步骤更改BD地址,并且没有副作用。这是对的吗?
步骤1:从DA14580读取OTP报头。
步骤2:在“读取OTP”标题的“设备唯一ID”中修改BD地址。
将修改后的OTP报头写入DA14580。

谢谢

MT_dialog
离线
最后看到:3个月3周前
工作人员
加入:2015-06-08 34
嗨Vic Lin,

嗨Vic Lin,

  1. 请查找附加的一个示例的一个.txt文件,您可以在专有的标题程序员工具中加载它,并填写您想要的数据,然后将其刻录到闪光灯中。每个设备都应该用该标题刻录,但使用不同的BD地址。SDK将检查的默认地址为0x1f000,但它可以决定。
  2. 这意味着你可以燃烧的OTP报头字段,我已经指定了上面的智能片段工具,而不修改任何其他在报头和SDK将检查该特定字段时,系统启动和它的时间选择一个bd地址。指定的OTP报头字段是SDK在尝试填充bd地址时将检查的第一个位置。

由于MT_dialog

维克林
离线
最后看到:3年4个月前
加入:2016-03-31 03:11
方法一(更改BD

对于方法1(通过SPI闪存更改BD地址):
我们只需要修改你附件中的以下“112233445566”。其他物品可以原装保存(无价值)。这是对的吗?
6 String bd_address BD地址112233445566

方法二(以OTP报头更改BD地址):
如果我们在OTP标题中没有更改任何内容,我们无法通过OTP标头更改BD地址。
所以我认为我们应该按照以下步骤更改BD地址,并且没有副作用。这是对的吗?
步骤1:从DA14580读取OTP报头。
步骤2:在“读取OTP”标题的“设备唯一ID”中修改BD地址。
将修改后的OTP报头写入DA14580。

谢谢。

MT_dialog
离线
最后看到:3个月3周前
工作人员
加入:2015-06-08 34
嗨Vic Lin,

嗨Vic Lin,

  1. 除了bd地址字段,您还需要填充签名头0x7052,以便fw确认这是一个有效的产品头。
  2. 我不明白这个问题,为了烧在指定字段的OTP头,SDK读取为bd地址,你将不得不使用智能片段工具,并应用VPP电压,以烧OTP头。所以你应该遵循的步骤是:
    1. 点击连接按顺序为将刻录OTP标题的FW下载,这将自动读取内存的内容。
    2. 更改设置设备BD地址的两个“设备唯一ID”字段。
    3. 点击“燃烧”按钮,让数值在字段中燃烧,然后你就可以开始了。

由于MT_dialog