Hi Dialog,
My dual image hex does not boot on a DA14586.
I created two hex images of the ble_app_ota project which differs only in the BD Addresses. Then I copied those along with the secondary_bootloader.hex provided in the 6.0.4 sdk to the DA1458x_SUOTA_Multipart_Binary_Generator tool to generate the fw_multi_part_spi.bin. And finally, I burned it on the DA14586. I restarted the devkit and expected that it should begin advertising "DLG-OTA but there was nothing. I am sure that the devkit is configured properly because when I burn a single image directly it advertises as expected.
I did the same steps above for the DA14585 and I was able to get an advertisement.
问候,
Jazer
Keywords:
Device:
Hi jlabuac,
Please check the procedure below and check if there is anything that you ve missed using the ble_app_ota on the SDK 6.0.6 the same should apply for the 6.0.4:
Thanks MT_dialog
Dialog,
I have done all that you said above but I still could not boot.
I am pretty sure that the configuration for the DA14586 is correct because I can run it using the debugger, I can burn the SPI using the Smart Snippet installer and have it boot from there.
For the mk_image.exe, I am sure that I used it correctly because I was able to create a dual image bootloader and booted successfully.
bu别的方式,我是否需要编辑辅助引导加载程序以使其与586兼容?
问候,
Jazer
以下是我所做的确切步骤:
Hardware:
1. Configured the DA14586 pins to be able to connect with debugger and be able to flash image via SPI.
2.使用Keil的调试功能成功向Sysram加载到Sysram。
3.使用SmartSnippet成功将鞍骨映像加载到内部闪存中。
Software:
1. Set the OTA project's "Options for Target" to run on a DA14586.
2. Configured the project to output a *.bin file.
3. Updated the project's BD Address and then proceeded with the Build. Copied the fw_1.bin file output to the mkimage directory provided by the 6.0.4 SDK.
4. Changed the project's BD Address and then proceeded with the Build. Copied the 2nd bin file output (fw_2.bin) to the mkimage directory.
5. Created 2 version headers with the following content:
fw_1_version.h:
#define DA14580_SW_VERSION "v_6.0.4.326"
#define DA14580_SW_VERSION_DATE "2017-06-23 12:48 "
#define DA14580_SW_VERSION_STATUS "REPOSITORY VERSION v_6.0.4.326"
fw_2_version.h:
#define DA14580_SW_VERSION "v_6.0.4.327"
#define DA14580_SW_VERSION_DATE "2017-06-23 12:47 "
#define DA14580_SW_VERSION_STATUS "REPOSITORY VERSION v_6.0.4.327"
6. Built bootloader(did not edit anything) : secondary_bootloader.bin
7. Generated fw_1.img;
"mkimage.exe single fw_1.bin fw_1_version.h fw_1.img"
8. Generated fw_2.img:
"mkimage.exe single fw_2.bin fw_2_version.h fw_2.img"
9. Generated dual image bootloader:
"mkimage.exe multi spi secondary_bootloader.hex fw_1.img 0x8000 fw_2.img 0x1F000 0x38000 multi_spi_586.bin"
10.启动SmartSnipper并配置SPI闪存引脚。
11. Under "SPI Flash/EEPROM" tab executed the following in order: Browse multi_spi_586.bin, Connect, Erase, Burn & Verify and do not allow spi to be bootable.
- Do I need to update anything in the secondary bootloader source code?
- 是否需要明确刻录产品标题?或者已经是mkimage执行的一部分?
Dialog,
I was able to boot it now. You are right about the options for target. However, in the bootloader project that i have there is no option for a DA14586 so what I did was I added it to the configuration and updated the secondary bootloader for the dual image process using mkimage.exe.
问候,
Jazer
Hi jlabuac,
Apparently you are right, you will have to place the definition in the "Options for target" in the "C/C++" tab and then build the bootloader for the 586, the drop down feature is added in the 6.0.6 SDK. Thanks for indicating.
最好的问候mt_dialog.