嗨,家伙。
我将DA14585基本开发工具包与6.0.6SDK一起使用,试图运行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应用程序,我得到一个“错误:无效的产品头”。所以,我无法完成教程。
任何建议吗?
提前谢谢。
关键词:
设备:
嗨TMiranda,
您所经历的最可能的原因是图像驻留的偏移量,因为585支持更大的图像,这意味着您将不得不增加flash中的偏移量。因此,打开project_multipart_binary_v2.py,并像下面这样修改以下变量的值:
谢谢你的快速回答。
1 -作为一种意见,我建议您将该文件添加到14585可下载内容。它不会伤害任何人,而且可能会避免一些问题。
3 -正如我说过的,我只有DA14585 Basic Dev-Kit,所以我怎么能确定它在工作,因为没有办法看到设备广告?
4 -我想这就是问题所在。烧SPI flash后,我无法看到设备广告在SUOTA应用程序。我已经尝试了新的变量,你已经显示,但没有变化。我还在SPI Flash内存引导部分尝试了这两种选项。
提前谢谢。
嗨TMiranda,
由于MT_dialog
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闪存并重置电路板后,我找不到我的设备。我正在使用电源配置文件,我能够看到电路板应该已经启动并运行(我已经重置了几次)。
现在,我在DA14580DEVKIT中使用DA14585 Pro工具包运行这个示例。通过使用SUOTA跟踪DA1458x,我找到了上一个错误的来源
AN-B-10。问题是bootloader.h和app_spotar.h文件的PRODUCT_HEADER_位置中使用的值是错误的。我已将其更改为0x1f000,错误消失。
现在,我可以烧录Spi闪存,重置我的设备,我可以看到它在SUOTA应用程序上的广告,并连接到它。每当我尝试更新我的新固件版本,使用应用程序,一个新的错误出现,“相同的图像错误”。我已经阅读了使用SUOTA AN-B-10的DA1458x中与这个错误相关的说明,但我仍然感到困惑。我曾多次尝试通过应用程序上传这些图片,并将它们上传到不同的图片库,但到目前为止都没有效果。再提几个问题。
1 -银行不应该有不同的形象吗?(我已经更改了固件版本和时间戳)
2-在哪里可以找到有关两个内存库实现的更多信息?
3-我如何通过软件完成索塔?我不想在我未来的应用程序中使用该应用程序,也不想在教程中显示的USB加密狗。雷竞技安卓下载
嗨TMIranda,
由于MT_dialog
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 -谢谢,我稍后再查。
嗨TMiranda,
在SPI mutlipart.bin上用两家银行的同一版本的ble_app_ota对此进行了测试,我无法复制您报告的内容,您确定您没有混淆头文件,并且您下载的图像头版本与位于特定库中的图像头版本不同,或者至少与两个库中的一个不同吗?
由于MT_dialog
我试着和prox_的记者谈谈。我现在换成了ble_应用程序。
下面是为我在SPI内存中刻录的前两个图像(相同的图像)和fw_multi_part_spi.bin生成的输出。
#############用于创建DA1458x多部件映像的免费脚本###################
###################版本:sw_v_0000.00003##################################
##################### 2017年开发Janua #######################################
hex2bin v1.0.10版权所有(C)2012 Jacques Pelletier和撰稿人
最低地址= 003C0000
最高地址= 003C6927
Pad字节=FF
8位校验和= A8
hex2bin v1.0.10版权所有(C)2012 Jacques Pelletier和撰稿人
最低地址= 003C0000
最高地址= 003C6927
Pad字节=FF
8位校验和= A8
hex2bin v1.0.10版权所有(C)2012 Jacques Pelletier和撰稿人
最低地址= 003C0000
最高地址= 003C18A7
Pad字节=FF
8位校验和=98
信息::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
Pad字节=FF
8位校验和=8F
hex2bin v1.0.10版权所有(C)2012 Jacques Pelletier和撰稿人
最低地址= 003C0000
最高地址= 003C692F
Pad字节=FF
8位校验和=8F
hex2bin v1.0.10版权所有(C)2012 Jacques Pelletier和撰稿人
最低地址= 003C0000
最高地址= 003C18A7
Pad字节=FF
8位校验和=98
信息::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”
[0000e970]填充(FF)
(00013000)“输出\ fw_image_2.img”
(00019970)填充(FF)
[0001 f000]产品标题
完成Fw_multi_part_spi.bin的创建。
#####################################################################################
同样的校验和,因为我用相同的。hex文件创建了两个图像,这和存储在我内存中的图像不同。当我试图用手机上的SUOTA应用程序上传它们时,我仍然得到相同的错误消息。我不知道我做错了什么。
嗨TMiranda,
我觉得你已经误解了SUOTA是如何工作的,你应该上传的图片手机为了执行SUOTA,使用相同的图像,以创建multipart.bin文件(重命名fw_1.bin fw_2.bin并执行python脚本)。在此之后创建第二个映像(不要再次运行python脚本),只需使用更新后的二进制文件和更新后的头文件,并使用以下命令mkimage.exe single your_binary.bin your_fw_version.h new_image将其传递给mkimage.exe文件。Img,将创建图像,你应该上传到你的手机,并使用那个fw做改变。如果你仍然得到错误调试代码,以便可以看到实际的设备读取和promts你信息,确保您使用O0优化为了能够读取变量,燃烧的spi multipart.bin从凯尔和运行相同的项目,您应该检查功能是app_read_image_header (),这样,您可以检查代码读取的内容,并使用该消息提示您。
由于MT_dialog
你好,
我已经完成了上面提到的步骤,只是做了一点更改——我需要运行hex2bin.exe程序来创建一个二进制文件,因为构建过程只返回一个hex文件,然后运行mkimage.exe文件。我还是会得到相同的错误。你能告诉我在哪里可以找到更多关于调试的信息吗?我只看到了教程示例,我不知道如何执行它。我做了一个视频,一步步地展示我在做什么。链接如下。
https://www.youtube.com/watch?v=xkdkw0cdwKo
https://www.youtube.com/watch?v=22lIO55nfvU
提前谢谢。
嗨TMiranda,
没有文档,描述一步一步一步调试方法,你可以做的是有多部分图像的flash和运行图像应该从凯尔为了调试启动它,就像我在以前的文章描述它,我也表示您应该检查的功能。另外,你所附的视频似乎是不可用的。
由于MT_dialog
在特定模式下的视频,我刚刚改变了它,你们现在可能可以看到。
我没有看到你上传的视频有什么问题,我已经附上了一个。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
嗨,Dialog,你确定这个suota没问题吗?我已经改变了img和sw版本这么多次,结果总是“相同的图像错误”,我想可能是bootloader总是检查相同的图像,但不是我上传的?
问题不仅仅发生在TMiranda先生身上,我不知道他或她是否解决了这个问题。
我使用以下命令'mkimage.exe single ncl_1.bin ncl_1_version.h ncl_1. exe '。Img '创建Img文件,然后使用下一个命令'mkimage.exe multi spi secondary_bootloader_585.bin ncl_1。img 0 x4000 ncl_1。img 0x1B000 0x38000 ncl_1_ota.bin'创建bin文件与引导加载程序,然后刻录到flash,然后我可以找到设备现在。
接下来,我将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
我在rcu_585应用程序中遇到了“相同的图像”错误。
我可以使用软件指南附录C中的说明运行“mk_suota_img.bat”并生成“rcu_585_suota.bin”。我可以用SmartSnippets闪现这个箱子,并用我的软件版本在SUOTA应用程序中看到它。
然后我清理我的项目,用新版本和构建日期修改“user_config_sw_ver.h”,重新构建,然后再次使用“mk_suota_img.bat”生成一个新的.img文件。我将新版本的img文件加载到我的android手机上,但当使用SUOTA应用程序时,得到了“相同的图像”错误。
你好,
我只是自己尝试了一下,并让它工作起来(使用SUOTA应用程序升级语音RCU开发工具包中的固件)。有几件事需要检查:
-您需要在user_config_sw_ver.h文件中更新版本号和构建日期。
—如果您注释掉原始版本和日期,当您更新这些值时,确保最新的信息出现在文件的顶部。以下工作:
#定义SW_版本“v_v_7.141.3.18”
#定义软件版本日期“2018-11-08 17:04”
//#定义SW_版本“v_v_6.140.2.17”
//#define SW_VERSION_DATE "2017-10-07 16:03"
但这并不像生成图像的脚本忽略注释,只使用它找到的第一个版本和日期,留给你一个包含旧信息的图像(和相同的图像错误的可能性):
//#定义SW_版本“v_v_6.140.2.17”
//#define SW_VERSION_DATE "2017-10-07 16:03"
#定义SW_版本“v_v_7.141.3.18”
#定义软件版本日期“2018-11-08 17:04”
希望这有助于
IM_Dialog