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

S210 Bootloader

I have a blank nrf51422 that I have successfully loaded with the latest S210 softdevice and working application. However, I do not see the bootloader region occupied when I open NRFgo studio. Am I to assume the bootloader is there? If not can someone point me to where I can get it? I've been searching the forums and have not been successful. I'm trying to make the device DFU. Many Thanks,

  • No bootloader is present, it must be added from e.g.:

    nordic's nRF51_SDK_v7.2.0_cf547b5.zip\ examples\dfu\experimental_ant_bootloader

    Tested, works together with thisisant's OTA_Updater_v1.1.zip


    Edit 11.5.:

    I'm sure your IRAM1 start address is wrong, because is outside of 32KB range.

    My settings:

    IROM1: start 0x3B800, size 0x4800

    IRAM1: start 0x20002800, size 0x1800 (16KB RAM only, QFAA device)

    Do not forget to set valid ANT-fs network key instead of zeros too.

    When the bootloader is started for the first time (no app valid flag), app must be transferred through OTA DFU. If done successfully, another app OTA DFU can be performed and an old app stays in device until successfull upload. Starting of dual-bank bootloader doesn't overwrite an original. Only updating of softdevice does this job.


    Edit 22.5.

    I was wrong - no special setting is necessary to run app with ANT bootloader from SDK 7.2.0 without OTA DFU:

    1. nrfjprog --recover
    2. nrfjprog --dfu --verify --programs s210_nrf51422_4.0.1_softdevice.hex
    3. nrfjprog --verify --program ANT_S210_app.hex
    4. nrfjprog --verify --program ANT_S210_bootloader.hex

    My settings for nRF51422 QFAA (16KB RAM, 256KB FLASH) is attached:

    image description

    Keil bootloader settings area for ANT bootloader before OTA DFU process:

    image description

    Updated area after OTA DFU:

    image description

  • Thank you! I did try this before and got it to work, but it overwrites my application. I would like to perform an upgrade with my application still in the device. I think the better question is what the settings for IROM and IRAM should be for this to work. I using the start address 0x03b800 as specified by the example and IRAM start address of 0x20008000 , but had no luck. Any suggestions?

  • Hi SG1. Did you try testy's solution in his edited post from the 11th of May?

  • Hi

    Yes I tried it this morning and it does work. Thank you! I had a problem running debug, but I had the default size of IRAM that the example provided. Once I changed it to 0x1800 it worked properly. However, when I load my application, it does not work. Maybe its my IRAM seetings again (for my application)?

    Application seetings: IROM1 0xD000 start 0x33000 size IRAM1 0x20000900 start 0x7700 size

  • What's your device? 16KB or 32KB RAM

    • If QFAA (e.g.), app IRAM size should be 0x3700.

    Which way you load an app? Through SWD or OTA?

    • If programmed through SWD, app valid setting flag at bootloader settings address must be set else app won't run.
Related