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.
Regards,
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.
部,我需要编辑二级bootloader to make it compatible with the 586?
Regards,
Jazer
The following are the exact steps that I did:
Hardware:
1. Configured the DA14586 pins to be able to connect with debugger and be able to flash image via SPI.
2. Successfully loaded Barebone image to SysRam using Keil's debug functionality.
3. Successfully loaded Barebone image to internal flash memory using SmartSnippets.
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. Launched the SmartSnipper and configured SPI Flash pins.
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?
- Do I need explicitly burn the Product header? Or is it already part of the mkimage execution?
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.
Regards,
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.
Best Regards MT_dialog