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

single bank bootloader ble

hi, i have a project which need dfu by OTA,but nrf51822 flash is not enough.The project detail information in the following: chip:nrf51822QFACA10 SDK6.0 SOFTDEVICE:7.3.0 my project application has used 105k flash,so i can not updata firmware by dfu_dual_bank_ble,so i want to updata firmware by dfu_dual_bank_ble. question one: i think i can updata firmware by dfu_dual_bank_ble if i never program application ,i think the flash is enough ,but i can not updata firmware,the MCP show updata complete,but the device is duf mode alway,so why question two:if i want to updata firmware by dfu_single_bank_ble,SDK9.0 also have not dfu_single_bank_ble , who can hlep me to solve this problem,think you.

  • In SDK 9 you only need to replace the dfu_dual_bank.c with dfu_single_bank.c in your project to make your bootloader single bank. For SDK 6.0.0. you can use the example given at our github page here.

    UPDATE 24.11

    Please try with the attached bootloader from SDK 10.0.0 :

    • Erase chip and program s110 v.8.0.0 and attached bootloader
    • Open nRFtoolbox and connect to DFU and upload the dfu_test_app_hrm_s110.zip. Note that you need to use the .zip file as it includes the init file when using the mobile apps.
    • Application should start advertising once the upload is complete.

    Attachment:

  • thank you for your answer ,i have tried two way you suggest,but both way is fail. first method:SDK6.0.0 softdivce 7.3.0

    i download the bootload code(nrf51-dfu-single-bank-ble-SDKv6.0.0_S110v7.0.0_nRF51822QFAB)from your github,but the bootload is suitable for nRF51822QFAB i chip is nRF51822QFAC ,so i motify the bootload in the following: #define BOOTLOADER_REGION_START 0x0003C000 #define BOOTLOADER_SETTINGS_ADDRESS 0x0003FC00 #define DFU_APP_DATA_RESERVED 0x0C00 then,i updata firmware by nrf toolbox(android),and nrf toolbox show updata successfully,but the chip stays duf mode,so where i need to motify

    second method:SDK9.0.0 softdivce 8.0.0

    i find dfu_single_bank.c file in the following path: ...\nRF51_SDK_9.0.0_2e23562\components\libraries\bootloader_dfu\dfu_single_bank.c copy content in the dfu_single_bank.c,and open bootload code(dual_bank_ble_s110),clear dfu_dual_bank.c and paste content which copied in the dfu_single_bank.c to dfu_dual_bank.c then program softdevice 8.0.0 and bootloader,uapdata firmware(dfu_test_app_hrm_s110.hex) by nrf toolbox,but updata fail (nrf toolbox show 0%,then DISCONNECT),Where the operation is wrong

  • hi,thank you very much,my problem has solved

  • Hi,I wonder from which version of SDK we can use the single bank ble through the way you mentioned above?Or the other way to achieve this?Thank you!

Related