This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

OTA DFU SD 8.0 SDK 8.0 Uploaded application does not run

I am using SD 8.0 SDK 8.0 and MCP 3.8 I am able to find the DFUtarg service and successfully complete the transfer of my applcation (100% complete). However, upon finishing the application does not boot. This is the command I am using to generate my .zip packet. Perhaps this is a CRC problem?

nrf.exe dfu genpkg j1.zip --application nrf51822_xxac.bin --application-version 0xff --dev-revision 0xffff --dev-type 0xffff --sd-req 0x64

Parents
  • My custom application is for custom hardware currently using nRF51822QFAC (HW XLR3). The application works fine without the bootloader. One this to note is that this setup worked with SDK 7.1 SD 7.1. In porting to SD 8.0 SDK 8.0 I had to make some modifications to my application to get it to run. I'm using the new DFU library that came with SD 8.0, but I took my main.c, dfu_ble_svc.c, hci_mem_pool_internal.h, and pstorage_platform.h from my SD 7.1 SDK 7.1 project. Those files seemed to be external to the library so I figured I could use them with SD 8.0 SDK 8.0.

    My guess is that it is this line causing the problem

    if (bootloader_app_is_valid(DFU_BANK_0_REGION_START) && !bootloader_dfu_sd_in_progress())

    bootloader_app_is_valid checks the memory contents as well as CRC? Is CRC enabled by default?

Reply
  • My custom application is for custom hardware currently using nRF51822QFAC (HW XLR3). The application works fine without the bootloader. One this to note is that this setup worked with SDK 7.1 SD 7.1. In porting to SD 8.0 SDK 8.0 I had to make some modifications to my application to get it to run. I'm using the new DFU library that came with SD 8.0, but I took my main.c, dfu_ble_svc.c, hci_mem_pool_internal.h, and pstorage_platform.h from my SD 7.1 SDK 7.1 project. Those files seemed to be external to the library so I figured I could use them with SD 8.0 SDK 8.0.

    My guess is that it is this line causing the problem

    if (bootloader_app_is_valid(DFU_BANK_0_REGION_START) && !bootloader_dfu_sd_in_progress())

    bootloader_app_is_valid checks the memory contents as well as CRC? Is CRC enabled by default?

Children
No Data
Related