SUOTA教程错误

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.wsdof.com/support。我们会在接下来的几天修复bug /优化搜索和标记。
20个帖子/ 0个新帖子
最后发表
TMiranda
离线
最后看到:2年10个月前
加入:2017-11-16 18:00
SUOTA教程错误

嗨,大家好。

我在6.0.6 SDK中使用DA14585 Basic Dev-Kit,尝试运行SUOTA教程(第6个)。我遇到了一些我想问的问题。

1.在DA14585软件和工具页面中没有DA1458x_SUOTA_Multipart_Binary_Generator_0.rar。我从DA14583上下载的。这有什么原因吗?

2.SUOTA教程要求您使用ble_585_sw_version.h文件来生成.img文件。这个文件在SDK 6.0.6上不存在(或者我一直无法找到它)。

3.在SmartSnippets工具上烧录multi_part.bin后,使用JTAG,并重置我的板,在SmartSnippets工具上没有发生任何事情(没有重置确认)。除此之外,我在iPhone的SUOTA App里找不到这款设备。(如果我再次调试代码,我可以找到它,但我认为这样做有一些错误)。

4.当我尝试将fw_image_2.img上传到我的设备时,使用suota应用程序,我得到“错误:无效的产品标题”。所以,我无法完成教程。

任何建议吗?
提前致谢。

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

嗨TMiranda,

  1. 原因是因为581/583和585/586的版本几乎是关于拟议程序的相同,这意味着您可以使用相同的文件来生成多级。
  2. 本教程中引用的ble_585_sw_version.h文件是SDK6.0.6中的sdk_version.h文件,该文件应该被纠正,感谢指出。
  3. 在flash中刻录文件后,Smart Snippets工具没有重置确认,您将只能看到设备通过Power Profiler发布的广告(该功能仅用于使用UART接口的pro套件)。如果您无法看到这一点,那么在生成多部分二进制文件期间出现了问题。
  4. 从上一个问题来看,当你在flash中刻录multipart后,你无法看到设备广告,你如何更新图像?如果你只是尝试从uart的JTAG下载,没有辅助引导加载程序,这是不会工作的,因为SUOTA期望在flash中找到一些额外的信息,以执行SUOTA。

由于585支持更大的图像,因此可能是您所在历史的原因是最重要的,这可能是驻留的偏移量,这意味着您必须增加闪存中偏移量的大小。所以打开project_multipart_binary_v2.py并更改以下变量中的值,如下所示:

mem_loc_for_fww_1_img.= " 0 x8000 "
MEM_LOC_FOR_FW_2_IMG= " 0 x1f000”
MEM_LOC_FOR_PRODUCT_HEADER= " 0 x38000”
这将给你的图像之间更多的空间。
由于MT_dialog
TMiranda
离线
最后看到:2年10个月前
加入:2017-11-16 18:00
谢谢你的快速回答。

谢谢你的快速回答。

1 -作为一种意见,我建议您将该文件添加到14585可下载内容。它不会伤害任何人,而且可能会避免一些问题。
3 -正如我说过的,我只有DA14585 Basic Dev-Kit,所以我怎么能确定它在工作,因为没有办法看到设备广告?
4 - 我认为这是问题。在燃烧SPI闪光灯后,我无法在Suota应用程序上看到设备广告。我已经尝试过您所示的新变量,但没有更改。我还在SPI闪存可启动部分上尝试过两种选项。

提前致谢。

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

嗨TMiranda,

  1. 感谢您的提示,稍后教程将正确更新。
  2. 如果你不有一个职业装备,因此你不能使用分析器,那么你唯一的选择是使用SUOTA应用程序或一个通用BLE应用程序,请注意,为了使SUOTA android / ios应用程序显示设备作为可用SUOTA设备你需要把SUOTA UUID的广告字符串。这就引出了另一个问题,为了构建multipart.bin文件,你使用了哪个fw ?你是否使用了一个启用了SUOTA的fw,比如ble_app_ota ?
  3. 请使用BLE_APP_OTA演示才能执行SUOTA程序,如果这对Python脚本不适用于您,请尝试使用Suota.pdf,它是一个580文档但是遵循AN-B-010 DA14580中的说明。我提到的程序是相同的。还要记住,您必须为图像2和0x38000使用图像和0x8000的图像和0x1f000的不同偏移。

由于MT_dialog

TMiranda
离线
最后看到:2年10个月前
加入:2017-11-16 18:00
2.事实上,我可以找到

2.事实上,我可以使用LightBlue和SUOTA for iOS找到SUOTA设备,但只有当我在Keil的调试模式下运行时。什么都没有发生,当我烧它在SPI内存和重启板。为了构建multipart.bin文件,我只使用本教程中显示的输入文件,即fw_1。十六进制,fw_2。通过ble_examples/prox_reporter.uvprojx命令生成fw_1_version和fw_2_version。secondary_bootloader。我使用的十六进制文件已经在SUOTA_Multipart_Binary_Generator/input文件。

3.我会在这里给这个跑步和帖子。

事实上,我刚刚把我的手放在一个专业套件,我有同样的问题之前相关。我将尝试使用ble_app_ota运行它,并在这里进行更新。

编辑:
我也有同样的问题。使用ble_app_ota生成fw_multi_part_spi.bin文件不会改变任何东西。我找不到我的设备烧录到SPI flash和复位板。我正在使用功率配置文件,我能够看到董事会应该是起来和运行(我已经重置了它几次)。

TMiranda
离线
最后看到:2年10个月前
加入:2017-11-16 18:00
现在我在运行

因此,现在我使用DA14580DEVKIT中的DA14585 Pro-Kit运行示例。通过使用SUOTA跟踪DA1458x,我找到了上一个错误的来源
AN-B-10。问题是在bootloader.h和app_spotar.h文件的PRODUCT_HEADER_POSITION中使用的值是错误的。我已经将它更改为0x1f000,错误消失了。

现在,我可以刻录SPI闪存,重置我的设备,我能够在Suota App上看到它广告并连接到它。每当我尝试将我的新固件版本更新到它,使用应用程序时,会出现一个新的错误,“相同的图像错误”。我使用Suota An-B-10阅读了DA1458X中的错误与此错误相关的说明,但我仍然困惑。我试图通过应用程序多次上传图像,以及不同的图像库,但到目前为止没有任何工作。再次,几个问题。

1 -银行不应该有不同的形象吗?(我已经更改了固件版本和时间戳)
我在哪里可以找到关于两个内存库实现的更多信息?
3 -我如何通过软件做一个SUOTA ?我不想在我的未来应用程序中使用这个应用程序,也不想使用教程中显示的USB加密狗。雷竞技安卓下载

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

嗨TMIranda,

  1. 我不明白你的问题,fw会检查图像,当你第一次在闪光灯中烧多部分时,你可以使用相同的图像,以避免相同的图像错误。
  2. 这两个内存库是您声明的不同地址,没有文档解释SUOTA的内部工作,您可以在secondary_bootloader项目中查看SUOTA实现。
  3. 您的意思是写下自己的主机,将连接到外设并更新图像?支持站点上可用Android和IOS的源代码,并且还有一个示例在执行upota更新的Windows应用程序中,与UART的585个BLE模块通信。您将能够在SDK 6.0.6中找到da14585_sdk \ 6.0.6.427 \ projects \ host_apps \ windows \ suota中的源代码。

由于MT_dialog

TMiranda
离线
最后看到:2年10个月前
加入:2017-11-16 18:00
1 -正如AN-B中说的

1 -正如在AN-B-010 DA14580中使用SUOTA_0文件所说的,fw_multi_part_spi.bin文件是使用fw_1创建的。img和fw_2.img。这将在SPI内存中编程,其中将包含辅助引导加载程序(0x00000)、fw_1.img(0x80000)、fw_2.img(0x13000)和产品头(0x1F000)。我的fw_1。img和fw_2。img应该是不同的,因为我已经改变了代码(我已经在user_config.h上改变了设备的名称),固件版本(sdk_version.h)和时间戳(sdk_version.h)。正如你所说,我现在使用相同的图像(fw_1)。Img和fw_1_copy。Img [named as fw_2.img])创建multi_part_spin .bin。当我尝试上传不同的图像时,我仍然有一个相同的图像错误。

2/3 -谢谢,我稍后再查。

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

嗨TMiranda,

在SPI multipart .bin上用ble_app_ota在两个银行相同的版本测试这个,我不能复制你正在报告的内容,您确定您没有混淆头文件和您下载的图像有不同的图像头版本位于一个特定的银行或它与两个银行中的至少一个不同?

由于MT_dialog

TMiranda
离线
最后看到:2年10个月前
加入:2017-11-16 18:00
我在试着用代理

我想和代理记者谈谈。我现在已经更改为ble_app_ota。

以下是对于我在SPI内存中刻录的前两个图像(相同的图像)和fw_multi_part_spi.bin生成的输出。

############# 免费的脚本创建DA1458x多声部的形象 ###################
################### 版本:sw_v_0000.00003 ##################################
#############在2017年开发Janua #####################################
hex2bin v1.0.10,版权所有(C) 2012 Jacques Pelletier &贡献者
最低地址= 003c0000
最高地址= 003C6927
字节= FF
8位校验和= A8
hex2bin v1.0.10,版权所有(C) 2012 Jacques Pelletier &贡献者

最低地址= 003c0000
最高地址= 003C6927
字节= FF
8位校验和= A8
hex2bin v1.0.10,版权所有(C) 2012 Jacques Pelletier &贡献者

最低地址= 003c0000
最高地址= 003C18A7
字节= FF
8位校验和= 98

INFO :: FW_IMAGE_1.IMG以没有数据加密成功创建。
信息::fw_image_2。成功创建了没有数据加密的Img。创建图像的输出\ fw_multi_part_spi.bin……
[00000000] AN-B-001 SPI报头
[00000008]引导装载程序
(000018 b0)填充(FF)
(00008000)“输出\ fw_image_1.img”
(0000 e968)填充(FF)
(00013000)“输出\ fw_image_2.img”
[00019968]填充(FF)
[0001 f000]产品标题

完成Fw_multi_part_spi.bin的创建。#####################################################################################

正如你所看到的,两个图像(fw_1和fw_2,我猜)的校验和是相同的,所以它应该是相同的图像。

为了创建第二个图像,我已经更改了设备的名称和sdk_version信息,并按照教程中的要求生成。我已经用iTunes把第二张图片的两份拷贝发到了我的手机上。下面是第二个图像的python脚本的输出。

############# 免费的脚本创建DA1458x多声部的形象 ###################
################### 版本:sw_v_0000.00003 ##################################
#############在2017年开发Janua #####################################
hex2bin v1.0.10,版权所有(C) 2012 Jacques Pelletier &贡献者

最低地址= 003c0000
最高地址= 003C692F
字节= FF
8位校验和= 8F
hex2bin v1.0.10,版权所有(C) 2012 Jacques Pelletier &贡献者

最低地址= 003c0000
最高地址= 003C692F
字节= FF
8位校验和= 8F
hex2bin v1.0.10,版权所有(C) 2012 Jacques Pelletier &贡献者

最低地址= 003c0000
最高地址= 003C18A7
字节= FF
8位校验和= 98

INFO :: FW_IMAGE_1.IMG以没有数据加密成功创建。
信息::fw_image_2。成功创建了没有数据加密的Img。

创建图像的输出\ fw_multi_part_spi.bin……
[00000000] AN-B-001 SPI报头
[00000008]引导装载程序
(000018 b0)填充(FF)
(00008000)“输出\ fw_image_1.img”
(0000 e970)填充(FF)
(00013000)“输出\ fw_image_2.img”
(00019970)填充(FF)
[0001 f000]产品标题
完成Fw_multi_part_spi.bin的创建。
#####################################################################################

同样的校验和,因为我用相同的。hex文件创建了两个图像,这和存储在我内存中的图像不同。当我试图用手机上的SUOTA应用程序上传它们时,我仍然得到相同的错误消息。我不知道我做错了什么。

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

嗨TMiranda,

我的印象是你已经误解了Suota如何工作和你应该上传到手机的哪些图像以执行课题,使用相同的图像来创建多百分之文件(只要重命名FW_1.bin进入fw_2.bin并执行python脚本)。在创建第二个图像(不再运行Python脚本)后,只需使用更新的标题拍摄更新的二进制文件,并将其与下面的命令mkimage.exe single your_binary.bin your_fw_version.h new_image.img一起通过mkimage.exe文件。这将创建您应该上传到手机的图像,并使用该FW进行更改。如果您仍然会收到错误,您可以调试代码以查看设备读取和使用该消息的实际读取和启用您的消息,请确保使用O0优化以便能够读取变量,请将SPI与多级烧掉SPI.bin并从keil运行相同的项目,您应该检查的函数是app_read_image_header(),这样您可以查看代码读取的内容并将您带到该消息。

由于MT_dialog

TMiranda
离线
最后看到:2年10个月前
加入:2017-11-16 18:00
你好,

你好,

我已经完成了上面提到的步骤,只是做了一点更改——我需要运行hex2bin.exe程序来创建一个二进制文件,因为构建过程只返回一个hex文件,然后运行mkimage.exe文件。我还是会得到相同的错误。你能告诉我在哪里可以找到更多关于调试的信息吗?我只看到了教程示例,我不知道如何执行它。我做了一个视频,一步步地展示我在做什么。链接如下。

https://www.youtube.com/watch?v=xkdkw0cdwKo
https://www.youtube.com/watch?v=22lIO55nfvU

提前致谢。

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

嗨TMiranda,

没有文档将逐步描述一步一步调试方法,您可以做的是在闪存中的多部分图像并运行应从Keil启动的图像以调试它,就像我在我的情况下描述它一样之前的帖子和i ve也表示您应该检查的功能。此外,您已附加的视频似乎无法使用。

由于MT_dialog

TMiranda
离线
最后看到:2年10个月前
加入:2017-11-16 18:00
在视频中

在特定模式下的视频,我刚刚改变了它,你们现在可能可以看到。

MT_dialog
离线
最后看到:6个月3周前
工作人员
加入:2015-06-08 34
我看不出有什么不妥

我没有看到你上传的视频有什么问题,我已经附上了一个。zip文件和OTA项目,包括两个不同的OTA支持项目fw_1.bin和fw_2.bin的二进制文件以及它们的头文件和对应的图片fw_1。img和fw_2。Img以及multi_part.bin文件(包含fw_1.img的两个映像)。现在,如果你在flash中刻录multi_part.bin文件,然后只复制fw_2。Img在你的手机上,你将能够上传fw_2。Img到设备。所以请尝试这样做,然后如果这是成功的,你可以尝试生成图像提供的二进制文件,也许这将帮助你跟踪问题。

由于MT_dialog

附件:
离线
最后看到:1年2个星期前
加入:2018-04-19 13:53
嗨,对话,你确定

嗨,Dialog,你确定这个suota没问题吗?我已经改变了img和sw版本这么多次,结果总是“相同的图像错误”,我想可能是bootloader总是检查相同的图像,但不是我上传的?
问题不仅仅发生在TMiranda先生身上,我不知道他或她是否解决了这个问题。

离线
最后看到:1年2个星期前
加入:2018-04-19 13:53
我使用以下命令

我使用以下命令'mkimage.exe single ncl_1.bin ncl_1_version.h ncl_1.img'来创建img文件,然后使用下一个命令'mkimage.exe multi spi secody_bootloader_585.bin ncl_1.img 0x4000 ncl_1.img 0x1b000 0x38000 ncl_1_ota.bin'用bootloader创建bin文件,然后将其刻录到闪存中,然后我现在可以找到设备。
接下来,我将sdk_version更改为一个新版本(更改sdk_version,SDK_VERSION_DATE,SDK_VERSION_STATUS),并重命名ncl_2_version.h,重建一个新的bin文件,并执行命令'mkimage.exe single ncl_2.bin ncl_2_version.h ncl_2. h。以创建第二个Img文件。
现在我需要img文件ncl_1。img和ncl_2。Img,我通过itunes把文件信息复制到我的iPad上,当我上传ncl_2。我总是得到msg '相同的图像错误'。

PM_Dialog
离线
最后看到:2天7小时前
工作人员
加入:2018-02-08 11:03
你好,嗯,

你好,嗯,

我们正在尝试复制你的问题,以便给你指示来解决你的问题。我们会尽快让您知道。

谢谢,PM_Dialog

mrlambchop
离线
最后看到:2年1星期前
加入:2017-02-01 07:35
我遇到了“同样的人”

我在rcu_585应用程序中遇到了“相同的图像”错误。

我可以按照软件指南附录C的说明,运行“mk_suota_img.bat”,生成“rcu_585_suota.bin”。我可以用SmartSnippets来flash这个bin,然后用我的软件版本在SUOTA应用程序中看到它。

然后我清理我的项目,用新版本和构建日期修改“user_config_sw_ver.h”,重新构建,然后再次使用“mk_suota_img.bat”生成一个新的.img文件。我将新版本的img文件加载到我的android手机上,但当使用SUOTA应用程序时,得到了“相同的图像”错误。

IM_Dialog
离线
最后看到:5个月3周前
加入:2016-12-06 22:25
你好,

你好,

我只是尝试了这个,并让它工作(使用SUOTA应用程序升级语音RCU开发工具包的固件)。有几件事需要检查:

-您需要在user_config_sw_ver.h文件中更新版本号和构建日期。
—如果您注释掉原始版本和日期,当您更新这些值时,确保最新的信息出现在文件的顶部。以下工作:

#定义SW_VERSION“v_v_7.141.3.18”
#define SW_VERSION_DATE "2018-11-08 17:04"

/ / # define SW_VERSION“v_v_6.140.2.17”
//#define SW_VERSION_DATE "2017-10-07 16:03"

但这并不像生成图像的脚本忽略注释,只使用它找到的第一个版本和日期,留给你一个包含旧信息的图像(和相同的图像错误的可能性):

/ / # define SW_VERSION“v_v_6.140.2.17”
//#define SW_VERSION_DATE "2017-10-07 16:03"

#定义SW_VERSION“v_v_7.141.3.18”
#define SW_VERSION_DATE "2018-11-08 17:04"

希望这可以帮助

IM_Dialog