因为我们想在FW烧成SPI flash的时候修改DA14580的BD地址,我们该怎么做呢?
(让每个设备有不同的BD地址。)
方法1:
我们在SPI闪光中燃烧FW。如果可能,我们可以通过修改十六进制文件的BD地址来修改BD地址吗?(不要再次编译。)
如果我们可以做到,请帮助让我们知道如何做。
方法2:
我们在SPI flash中烧FW。然后把BD地址从OTP改过来。
但我们只想更改BD地址,而不使用OTP中的其他设置。我们怎么办?
能否在SmartSniooets工具箱v4.7.3.1690中提供已刻录的OTP文件和命令行方法?(Jtag端口)
我们将直接从Dialog中刻录OTP文件。
(希望逐步给我们提供方法。)
FW烧成SPI flash时,如果你有其他更好的方法更改BD地址,请帮忙告诉我们。
谢谢
关键词:
设备:
嗨,林维克,
580没有闪存,因此在为580编译SDK时,更改每个设备的bd地址的选项是通过NVD,NVD可以通过OTP或fw donwload填充。现在,如果您使用的是外部闪存,则必须修改SDK,以便从闪存读取bd地址,此方法适用于583,该583板上有一个内部闪存。583是如何实现的,您将能够在system_init()函数中调用的nvds_read_bdaddr()函数中找到它。读取583闪存的函数是nvds_read_bdaddr_from_da14583_flash()。nvds_read_bdaddr_from_da14583_flash()中的代码将在flash中的指定地址中查找产品标头,如果值不是零,则检查指定的偏移量。如果该值有效,它将获取该值并将其应用于用于设置设备的bd地址的dev_bdaddr变量。因此,通过实现类似的功能,并使用不同的db地址在该偏移量中燃烧每个设备的闪存,将允许您为从闪存读取的每个设备拥有不同的地址。
谢谢你的对话
因此,我们必须模仿前面提到的DA14583代码来修改代码,如果我们想从SPI闪存更改BD地址,则不能直接使用前面提到的DA14583函数。
但是通过这种方法,如何在SPI flash中添加新的BD地址呢?正如我所知,当我们将十六进制文件刻录到SPI flash时,smarsnippets将检查校验和。
但是,“方法2”呢?也许这是一个简单的方法。
嗨,林维克,
从580上的spi闪存获取bd地址的代码与583相同,但您必须删除583定义,以便将代码包括在构建中,更改函数名,将默认583闪存的引脚更改为闪存设置等。但作为实现,将是相同的。使用智能代码段,您可以使用proprity头程序员来创建头并在flash中刻录创建的头。此外,该标题将位于flash中的不同地址,SS将检查指示下载的内容是否正确下载。
关于第二种方法,它将需要燃烧的OTP头,我有印象,你不会想要燃烧的OTP,但如果它是对你燃烧的OTP,然后SDK将读取OTP bd地址值没有任何修改。为了做到这一点,所有你需要做的就是在设备唯一ID字段的OTP头中刻录bd地址(智能片段“OTP头”工具)。这是所有你要做的设备从OTP获得bd地址,你不需要改变任何其他东西。如果您想使用命令行进行此操作,请在Smart Snippets中签入帮助选项,并打开用户手册。在用户手册中,您可以找到用于刻录OTP的cli命令。
由于MT_dialog
对于方法1:
你可以提供烧文件时,使用专有头程序?
每个设备都有相同的刻录文件(唯一的区别是BD地址)。是这样吗?
我们应该在SPI闪存中的哪个位置刻录FW和收割台?
对于方法2:
这意味着我们可以通过以下步骤更改BD地址,并且没有副作用。是这样吗?
步骤1:从DA14580读取OTP报头。
步骤2:修改读取OTP头的“设备唯一ID”中的BD地址。
步骤3:将修改后的OTP头写入DA14580。
谢谢
嗨,林维克,
由于MT_dialog
对于方法1(通过SPI闪存更改BD地址):
我们只需要修改附件文件中以下的“112233445566”。其他物品可保留原状(无价值)。这是对的吗?
6 String bd_address BD地址112233445566
对于方法2(通过OTP头更改BD地址):
如果我们不改变OTP头中的任何内容,我们就不能通过OTP头来改变BD地址。
所以我认为我们应该按照以下步骤更改BD地址,并且没有副作用。这是对的吗?
步骤1:从DA14580读取OTP报头。
步骤2:修改读取OTP头的“设备唯一ID”中的BD地址。
步骤3:将修改后的OTP头写入DA14580。
谢谢
嗨,林维克,
由于MT_dialog