Does single bank bootloader in SDK7.1 support ZIP-file ?
I get error REMOTE DFU INVALID CRC ERROR in the end of flashing by nRF Toolbox when I use ZIP.
If I use hex-file without init file I will send file without this error.
the single bank bootloader supports the zip file format, but it has to be generated using the old nrfutil tool bundled with Master Control Panel v3.9.0 or v3.8.0 since the format has changed as new SDKs have been released. You can download the older versions from here(x64) or here(x86).
How to use the nrfutil tool is explained in this guide.
You can convert the dual bank bootloader example in SDK v7.1 by replacing dfu_dual_bank.c with dfu_single_bank.c. Both are located in \components\libraries\bootloader_dfu
you also need to set the BOOTLOADER_REGION_START and BOOTLOADER_SETTINGS_ADDRESS in dfu_types.h to the values below in order for the bootloader to run properly on the nRF51822 xxAB
#define BOOTLOADER_REGION_START 0x0001C000
#define BOOTLOADER_SETTINGS_ADDRESS 0x0001FC00
you also have to set the following IROM1, IRAM1 and IRAM2 settings
IROM1 Start: 0x1C000 Size: 0x3C00
IRAM1 Start: 0x20002000 Size:0x1F80
IRAM2 Start: 0x20003F80 Size:0x80
I have attached a working single bank bootloader based on the dual bank bootloader from SDK v7.1
It doesn't work for new version 3.10 ?
No, there was a change in the init package format in SDK v9.0.0 or SDK v10.0.0.
OK.Thank you. I get no error now. But I can't start application which I flashed by bootloader now.
Are you able to debug the bootloader and check if it reaches the bootloader_app_start(DFU_BANK_0_REGION_START) statement at the end of main?