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

SDK-8.1.0 bootloader does not flash

When I open the project dfu_dual_bank_ble_s110_pca10028 and configure it for nRF51822, it compiles fine, but flashing does not succeed. I get errors:

No Algorithm found for: 10001014H - 10001017H
Partial Erase Done (areas with no algorithms skipped!)
No Algorithm found for: 10001014H - 10001017H
Partial Programming Done (areas with no algorithms skipped!)

And the bootloader does not start. What could be wrong there? At IROM and IRAM fields I put the following:

IROM1: 0x3C000 0x3C00 (Startup)
IRAM1: 0x20002C00 0x5380
IRAM2: 0x20007F80 0x80  (No Init)
  • Yes, I struggled with that thing whole last week and was eventually very frustrated. The needed information is very fragmented, some important things such as adding 0x64 for S110 8.0 into nrfutil command line I found just with a good luck. Also, my bootloader is still jamming after it enters there from application. I made a this kind of hack into the bootloader's main.c, so I can upload the application, although two upload tries is now needed from nRFTools:

    bool app_reset = (NRF_POWER->GPREGRET == BOOTLOADER_DFU_START);
    bool app_reset2 = (NRF_POWER->GPREGRET == ~BOOTLOADER_DFU_START);
    
    if (app_reset)
    {
        NRF_POWER->GPREGRET = ~BOOTLOADER_DFU_START;
    	NVIC_SystemReset();
    }
    else if (app_reset2)
    {
        NRF_POWER->GPREGRET = 0;
    }
    

    Plus a few of other changes needed to support "app_reset2". At least it works now somehow :)

  • Well, I am not actually sure if that reset thing is needed at all, because I had to change also two other lines as follows:

    ble_stack_init(true); // was "ble_stack_init(!app_reset);"
    
Related