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

sdk 12 bootloader erased after programming

Hi,

I'm trying to load the secure_debug bootloader for the nrf52 with the SD 132 3.0 and an aplication. But when I load the aplication the bootloader gets erased or overwritten... I'm using Keil, and my process is: 1-Program the softdevice 3. 2-program the bootloader_debug with keil (using the external program nrfprog). (At this point the bootloader appears on the nrfgo aplication...) 3-Program the aplication with Keil.

And the bootloader dissapears after the 3rd step.

I don't know what I'm doing wrong...

Thank you!

Parents
  • Some other bugs I found in the experimental buttonless module:

    1. The characteristic should have the Write property. Add:

      char_md.char_props.write = 1;

    to ble_dfu.c file after line 90.

    1. Change:

    if (rsp_code == BLE_DFU_ENTER_BOOTLOADER && p_evt_write->data[0] == BLE_DFU_ENTER_BOOTLOADER)

    to

    if (rsp_code == DFU_RSP_SUCCESS && p_evt_write->data[0] == BLE_DFU_ENTER_BOOTLOADER)

    in the same file around line 249. BLE_DFU_ENTER_BOOTLOADER and DFU_RSP_SUCCESS accidentally have the same value = 0x01.

    Optional:

    1. Try to ignore methods documentation :) It has texts like this: "Handle write events to the Location and Navigation Service Control Point characteristic." or "Function for adding RX characteristic."

    2. Rename rx_char_add method. The name was copied from UART example, which has RX characteristic. I would say cp_char_add (control_point) would be better.

Reply
  • Some other bugs I found in the experimental buttonless module:

    1. The characteristic should have the Write property. Add:

      char_md.char_props.write = 1;

    to ble_dfu.c file after line 90.

    1. Change:

    if (rsp_code == BLE_DFU_ENTER_BOOTLOADER && p_evt_write->data[0] == BLE_DFU_ENTER_BOOTLOADER)

    to

    if (rsp_code == DFU_RSP_SUCCESS && p_evt_write->data[0] == BLE_DFU_ENTER_BOOTLOADER)

    in the same file around line 249. BLE_DFU_ENTER_BOOTLOADER and DFU_RSP_SUCCESS accidentally have the same value = 0x01.

    Optional:

    1. Try to ignore methods documentation :) It has texts like this: "Handle write events to the Location and Navigation Service Control Point characteristic." or "Function for adding RX characteristic."

    2. Rename rx_char_add method. The name was copied from UART example, which has RX characteristic. I would say cp_char_add (control_point) would be better.

Children
No Data
Related