嗨对话框,
我现在正在一段时间工作,我正在使用Macronix Flash。
我确实设法使用SDK 1.0.8进行偶像。在我的定制董事会上。
我确实检查论坛,我有问题真的与下面的问题非常相似:
https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl ...。
我使用一个自定义分区表,我将其更新到BLE_SUOTA_LOADER项目以及如下的MACRONIX FLASH文件:
#define dg_configflash_header_file“qspi_mx25r3235.h”
#define dg_configflash_manufacturer_id macronix_id.
#define dg_configflash_device_type mx25r_series.
#define dg_configflash_denty mx25r3235_size.
我还检查dg_configigimage_flash_offset参数匹配我的分区表。
在通过智能应用程序更新图像时,一切似乎都很好,但随后加载器重新启动,切勿跳转到我的代码。
我用自己的代码和pxp_reporter项目尝试了相同的结果。
我尝试过pro DK,结果相同。
似乎图像标题已损坏或未复制。
我应该在哪里看?
谢谢你的帮助。
Matthieu.
设备:
嗨matthieuw,
在论坛帖子中,您推荐的用户尚未定义他使用的自定义闪存,并且由于您使用的闪存是从SDK中默认不支持的,您将您为其创建了适当的驱动程序闪存已从您的自定义板上使用,我想你已经完成了(请在Readme.md文件中查看,以便仔细检查程序以在SDK上添加自定义闪存。关于您使用DEV套件的事实,您的意思是您已经使用它,并且无法使用SDK和DEV套件支持的闪存更新设备的FW,或者您在DEV套件上附加自定义闪存?由于使用Proximity Suota启用SW检查,我可以正确执行更新。
如果您认为这是一个图像标题问题,那么您可以从智能片段QSPI分区表工具中查看(通过Suota的新FW上载)FW和图像标题,并在更新后从闪存中读回数据已经发生了。
谢谢mt_dialog.
你好,
我进行了多次测试。
我可以使用PXP Reporter项目和我自己的项目使用Pro Devkit上的OTA函数和DA14681。
在我自己的电路板上,通过内部闪光实现DA14680,我只能使用PXPreporter项目使用OTA。
发送我自己的项目(与我发送给Pro DK的IMG相同)时,对话框无休止地重新启动,好像重置向量未在RAM中更新。
然而,这很奇怪,
我在项目中使用附加的分区表(ble_suota_loader,pxp_reporter和mine)。
当我的应用程序需要更多空间时,我将nvms_product_header_part转移到0x22000。
如果我的理解是正确的,我必须在应用程序中定义DG_CONFIGIMAGE_FLASH_OFFSET到NVMS_FW_EXEC_PART地址(在我想要更新的项目中),BLE_SUOTA_PROJECT必须具有相同的分区表具有我要更新的项目。
问题是PXP_Reporter OTA仅在将image_offset定义为0x20000时才能与其分区表定义为0x20000。
在收取任何项目以更新分区表之前,我会删除闪光灯。
有什么我缺失或误解的东西吗?
谢谢你的帮助。
Matthieu.
嗨matthiew,
我与附加的分区表非常混淆,您将NVMS_FW_EXEC_PART(它是运行引导加载程序运行后的实际FW)的偏移量为0x25000,而不是0x22000。从分区表中,您可以增加Bootlaoder将存储的空间。请查看UM-B-056-DA1468X软件开发人员指南.pdf在第9.1.4段闪存布局中,以检查何处,并根据您认为合适的方式修改分区表。如果您需要NVMS_FW_EXEC_PART的更多空间,那就是FW运行的位置,您只需要修改该特定分区下的分区,因此您不会为不同的地址构建。另外,您还为0x20000以外的不同地址构建了应用程序的信息并不意味着该工具将在该位置自动刻录它,您必须更改脚本,以便映像为图像在initial_flash.bat中的适当偏移量刻录。
谢谢mt_dialog.
你好,
对困惑感到抱歉,
我现在更好地了解分区,
因此,我现在使用附加的分区并将Flash_offset设置为0x20000。
我不明白的是我可以表演的原因
- 与我的ble_suota_loader和pxp_reporter和我自己的项目上的pxp_reporter。
- 与完全相同的项目,Suota仅在我自己的董事会上与PXP记者工作。
我使用调试器检查,重置向量在引导加载程序Boot_Application的末尾不再复制。
必须有一些配置丢失。
你有什么暗示吗?
提前致谢。
Matthieu.
嗨matthiew,
您已附加的分区表与SDK示例中使用的分区表相同,关于您能够在Pro板上运行自定义应用程序和PXP_Reporter,并且只有自定义板上的PXP_Reporter无济于事我不知道任何将使项目板依赖的SDK配置,您可以在此分享更多细节吗?您执行Suota程序以及与您的电路板接下来发生的事情,我的意思是更新后,您看到BLE_SUOTA_LOADER应用程序会批准而不是自定义应用程序?您可以在Suota过程之后调试BLE_SUOTA_LOADER并检查加载器无法从更新的图像启动的位置(检查BLE_SUOTA_LOADER()项目的BOOT_APPLICATION()函数)。
谢谢mt_dialog.
你好,
我知道这很困惑。
我的电路板用集成闪光灯实现了DA14680,而Pro DK使用外部闪光灯实现DA14681,但闪光灯与Winbond相同的参考。
我也使用内部RC时钟,用于低功耗,因此没有32K石英。
由此开放,外部终点是差异(在I2C和SPI总线上),但它不应该是相关的。
我更新了我的原理图。
现在在尝试执行suota时:
- 首先我用qspi擦除脚本删除闪存内容。
- 我编写了ble_suota_loader
- 然后我使用对话框SumotApp更新应用程序。
- 然后我重新引导电路板和苏格达装载机将新程序更新到固件执行板,将重置向量更新为RAM并重置
- 但这里而不是启动我的应用程序,因此启动了Suota Loader,因为装载机已删除的更新标头,引导应用程序直接跳转到重置向量并重新启动且又重要。
似乎重置矢量不被引导应用程序更新,或者我的应用程序开始地址不好。
我不知道这来自哪里以及在哪里看。
Matthieu.
嗨matthieuw,
那是非常奇怪的,你试图在没有型话的情况下运行自定义应用程序吗你能看到设备正常运行吗?BLE_SUOTA_LOADER还具有调试功能(DG_CONFIGDEBUG_TRACE),也许您可以设置它,这将提供有关发生的事情的一些额外信息。
此外,我也没有完全了解复位向量和标题的内容,在完成更新时,设备将重新启动,引导加载程序将再次运行,以便从更新的部分复制图像并复制图像的标题nvms_image_header_part和nvms_exec_part中的图像。如果更新分区中的FW是新的,这将仅发生一次,这将仅发生一次。复制在NVMS_EXEC_PART中的更新图像后,设备将采用中断向量表验证他并在RESET后复制地址0在RAM中复制该设备将启动具有矢量表的应用程序,其中包含一个包含与您的应用程序对应的重置处理程序。从应用程序开始的中断向量表取决于图像上的IVT是什么,这就是复制到RAM的内容。使用dg_configdebug_trace检查,这将打印出您当前IVT的图像位置和复位向量。
谢谢mt_dialog.