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

Issue with serial DFU on NRF52

Hi All,

I am trying to get the serial DFU working with nRF52832 development kit with SDK 13. I am able to get the bootloader flashed and have installed the nrfUtil tool. I followed the exact sequence of the steps mentioned here and got it right until the final step where I am trying to sent the application image to the device. The image transfer doesn't progress from 0% and it finally fails with the below logs: image description

I did some debugging and found that in the "on_packet_received" function, the device is getting an invalid opcode and so its responding with an error. I also tried disabling the HFC in device and the nrfutil tool as mentioned in this thread with no success. Finally I also tried changing the UART Tx/Rx pins to to P[0].3 and P[0].4 with no improvements.

Please let me know if you have some pointers which would help me in debugging this.

Parents
  • Hi Siva,

    If you have a look at the documentation (very first lines), you can find that the serial bootloader still require the softdevice.

    The reason is that the bootloader still use the vector forwarding inside the softdevice and the flash API is also used the softdevice flash API.

    The softdevice always have to be flashed first.

    Erase function inside Keil is not suggested to use, the reason is that it can't erase the softdevice. You should always use nRFGo studio or nRFjprog to do flash erase.

Reply
  • Hi Siva,

    If you have a look at the documentation (very first lines), you can find that the serial bootloader still require the softdevice.

    The reason is that the bootloader still use the vector forwarding inside the softdevice and the flash API is also used the softdevice flash API.

    The softdevice always have to be flashed first.

    Erase function inside Keil is not suggested to use, the reason is that it can't erase the softdevice. You should always use nRFGo studio or nRFjprog to do flash erase.

Children
No Data
Related