I'm trying to piece together how to be able to get this migration to work OTA via DFU. I was told by Nordic that all you need is to .zip SD8 + Boot(SDK10) and DFU both to update. However these seems to fail.
I followed a previous posts to create the zip using nrf.exe.
nrf.exe dfu genpkg sd8_and_boot.zip --bootloader sdk10_dfu_bootloader_xxaa.hex --softdevice s110_nrf51_8.0.0_softdevice.hex --application-version 0xffff --dev-revision 0xff --dev-type 0xff --sd-req 0xfffe
The SD update functions dfu_sd_image_swap() and dfu_sd_image_validate() don't seem to have any issues (no errors), but obviously my debugger loses track at dfu_bl_image_swap(). In bootloader_settings, it correctly tracks the sd_image_size=88344.
Inside dfu_sd_image_swap() I have the following values:
- sd_start 4096
- block_size 0xA800, 43008
- img _block_start 0x2B000, 176128
- sd_block_start 0x16000
- image_end 0x2B918, 178456
Inside dfu_sd_image_validate() I have the following setting values:
- sd_image_size 0x15918 88344 (correct for SD 8)
- sd_image_start 0x16000
I also noted that dfu_image_validate() fails because the m_image_crc != received_crc. However the entry in m_init_packet[3] does contain the correct CRC value. Is this a compatibility issue?
Is there anything I'm missing to be able to support this OTA migration?
Thanks for the help guys,