Dual Image does not boot on DA14586

Learn MoreFAQsTutorials

6 posts / 0 new
Last post
jlabuac
Offline
Last seen:1 year 3 months ago
加入:2017-04-20 06:06
Dual Image does not boot on DA14586

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:
MT_dialog
Offline
Last seen:1 month 3 weeks ago
工作人员
加入:2015-06-08 11:34
Hi jlabuac,

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:

  1. Build the ble_app_ota for the 586 and alsobuild the secondary bootloader for the 586(there is an option that you can change this right next to the "options for target", this is most probably your issue).
  2. Run the mk_image.exe in order to produce the .img files for each fw and the multi_part.bin for the image that you will burn in the flash.
  3. Reset the board and you should see the device advertising.
  4. Connect to the SUOTA application and update the deviceby selecting the proper pins for the 586,dont update with the default values.

Thanks MT_dialog

jlabuac
Offline
Last seen:1 year 3 months ago
加入:2017-04-20 06:06
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

jlabuac
Offline
Last seen:1 year 3 months ago
加入:2017-04-20 06:06
The following are the exact

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?

jlabuac
Offline
Last seen:1 year 3 months ago
加入:2017-04-20 06:06
Dialog,

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

MT_dialog
Offline
Last seen:1 month 3 weeks ago
工作人员
加入:2015-06-08 11:34
Hi jlabuac,

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