Hi Dialog,
i am working on a custom board for some time now, I am using a macronix flash.
我确实设法使用SDK 1.0.8进行偶像。在我的定制董事会上。
i did check the forum and i have problem really similar to the one below :
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_configIMAGE_FLASH_OFFSET parameter matches my partition table.
When updating an image through the smart app, everything seems fine but then loader reboot and never jump to my code.
我用自己的代码和pxp_reporter项目尝试了相同的结果。
我尝试过pro DK,结果相同。
似乎图像标题已损坏或未复制。
我应该在哪里看?
谢谢你的帮助。
matthieu
Hi MatthieuW,
Well in the forum post that you are refering the user haven't defined the custom flash that he was using, and since you are using a flash that its not supported by default from the SDK, you will have you created the proper drivers for the flash that its been used from your custom board, which i suppose that you have allready done that (please take a look in the readme.md file in order to double check the procedure in order to add a custom flash on the SDK). Regarding the fact that you have used the dev kit, you mean you have used it and fail to update the device's fw using the flash that is allready supported by the SDK and the dev kit or you attached the custom flash on the dev kit ? since i ve checked using the proximity SUOTA enabled sw and i could perform the update properly.
If you think that this is an image header issue then you can check (after the upload of the new fw through SUOTA) the fw and the image header from the Smart Snippets QSPI partition table tool and read back the data from the flash after the update has occured.
Thanks MT_dialog
Hello,
我进行了多次测试。
我可以使用PXP Reporter项目和我自己的项目使用Pro Devkit上的OTA函数和DA14681。
On my own board which implement a da14680 with internal flash, i can use the ota only with the pxpreporter project.
发送我自己的项目(与我发送给Pro DK的IMG相同)时,对话框无休止地重新启动,好像重置向量未在RAM中更新。
然而,这很奇怪,
我在项目中使用附加的分区表(ble_suota_loader,pxp_reporter和mine)。
As my application needs more space i shifted the NVMS_PRODUCT_HEADER_PART to 0x22000.
If my understanding is correct, i must define in the application the dg_configIMAGE_FLASH_OFFSET accordingly to the NVMS_FW_EXEC_PART address (in the project i want to update), and the ble_suota_project must have the same partition table has the project i want to update.
问题是PXP_Reporter OTA仅在将image_offset定义为0x20000时才能与其分区表定义为0x20000。
在收取任何项目以更新分区表之前,我会删除闪光灯。
有什么我缺失或误解的东西吗?
谢谢你的帮助。
matthieu
嗨matthiew,
I am quite confused from the partition table that you have attached, the offset that you have placed the NVMS_FW_EXEC_PART (which is the actual fw that the device will run after running the bootloader) is 0x25000 and not 0x22000. From the partition table you increased the space that the bootlaoder will be stored. Please take a look at the UM-B-056-DA1468x Software Developer Guide.pdf in paragraph 9.1.4 SUOTA Flash Memory Layout in order to check what goes where, and modify the partition table as you see fit. If you need more space for your NVMS_FW_EXEC_PART which is the location that the fw runs you will only need to modify the partitions under that specific partition, so you wont have to build for a different address. Also for you information the fact that you have builded the application for a different address other than the 0x20000 doesn't mean that the tool will automatically burn it at that location, you will have to alter the script as well in order for the image to be burned at the proper offset in the initial_flash.bat.
Thanks MT_dialog
HI,
sorry for the confusion,
我现在更好地了解分区,
因此,我现在使用附加的分区并将Flash_offset设置为0x20000。
我不明白的是我可以表演的原因
- 与我的ble_suota_loader和pxp_reporter和我自己的项目上的pxp_reporter。
- and with the exact same projects suota works only with the pxp reporter on my own board.
我使用调试器检查,重置向量在引导加载程序Boot_Application的末尾不再复制。
必须有一些配置丢失。
你有什么暗示吗?
提前致谢。
matthieu
嗨matthiew,
您已附加的分区表与SDK示例中使用的分区表相同,关于您能够在Pro板上运行自定义应用程序和PXP_Reporter,并且只有自定义板上的PXP_Reporter无济于事我不知道任何将使项目板依赖的SDK配置,您可以在此分享更多细节吗?您执行Suota程序以及与您的电路板接下来发生的事情,我的意思是更新后,您看到BLE_SUOTA_LOADER应用程序会批准而不是自定义应用程序?您可以在Suota过程之后调试BLE_SUOTA_LOADER并检查加载器无法从更新的图像启动的位置(检查BLE_SUOTA_LOADER()项目的BOOT_APPLICATION()函数)。
Thanks MT_dialog
Hi,
i know it is confusing.
我的主板实现了一个带有集成闪存的DA14680,而pro-dk实现了一个带有外部闪存的da14681,但是对于winbond来说闪存是相同的参考。
我也使用内部RC时钟,用于低功耗,因此没有32K石英。
由此开放,外部终点是差异(在I2C和SPI总线上),但它不应该是相关的。
i updated my schematic.
Now when trying to perform suota :
- first i erase the flash content with qspi erase script.
-then i program the ble_suota_loader
- then i update the application program using the dialog suota smartapp.
- 然后我重新引导电路板和苏格达装载机将新程序更新到固件执行板,将重置向量更新为RAM并重置
- but here instead of starting my application the suota loader is started, as the updated header as been erased by the loader the boot application jumps directly to the update of the reset vector and reboot and again and again.
It seems that the reset vector is not updated by the boot application or that my application start address is not good.
I don't know where this come from and where to look.
matthieu
Hi matthieuW,
那是非常奇怪的,你试图在没有型话的情况下在定制板上运行自定义应用程序(就像常规项目一样,只是检查FW是否导致任何重置迫使BLE_SUOTA_LOADER遍历并遍历),你能看到设备正常运行吗?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的图像位置和复位向量。
Thanks MT_dialog