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

DFU GATT error on nrf51822

I use bootloader example of SDK8.1.0, when I begin OTA, I got GATT error.

I use nRF Toolbox Version1.16.2

here is application upload: dfu_test_app_hrm.bin

here is the init file: manifest.json

how to fix it ? Thank you !

here is the bootloader

Parents
  • Both .json and .bin seems correct. Please try the following steps and see if you get the same GATT error:

    • Load s110 v.8.0.0 and bootloader from SDK 8.1.0
    • Download the dfu_test_app_hrm_s110.zip found in \nRF51_SDK_8.1.0\examples\dfu\ble_dfu_send_hex\test_images_update to your phone.
    • In nrftoolbox select the .zip file, connect to "dfutarg" and start uploading.

    Note that if you're using nRF51 variant with 16K of RAM you need to adjust the linker settings accordingly. Also for custom boards you may not have the external crystal for LF clock(?)

    Linker settings for 16K RAM variants (Cross module optimization must be selected as well):

    image description

  • Firmware updates successfully when I use SDK6 with the example:"Keil\ARM\Device\Nordic\nrf51822\Board\nrf6310\device_firmware_updates\bootloader" in the function ble_stack_init(void) of sdk6 SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_XTAL_20_PPM, true);

    However I choose sdk 8.1.0,s s110 V8.0.0, I got gatt error when use bootloader by example: "nRF51_SDK_8.1.0_b6ed55f\examples\dfu\bootloader" I find out function "static void ble_stack_init(bool init_softdevice)" has the same code:"SOFTDEVICE_HANDLER_APPSH_INIT(NRF_CLOCK_LFCLKSRC_XTAL_20_PPM, true);" So I wonder the external crystal is not the key to resolve the question.

Reply
  • Firmware updates successfully when I use SDK6 with the example:"Keil\ARM\Device\Nordic\nrf51822\Board\nrf6310\device_firmware_updates\bootloader" in the function ble_stack_init(void) of sdk6 SOFTDEVICE_HANDLER_INIT(NRF_CLOCK_LFCLKSRC_XTAL_20_PPM, true);

    However I choose sdk 8.1.0,s s110 V8.0.0, I got gatt error when use bootloader by example: "nRF51_SDK_8.1.0_b6ed55f\examples\dfu\bootloader" I find out function "static void ble_stack_init(bool init_softdevice)" has the same code:"SOFTDEVICE_HANDLER_APPSH_INIT(NRF_CLOCK_LFCLKSRC_XTAL_20_PPM, true);" So I wonder the external crystal is not the key to resolve the question.

Children
No Data
Related