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 Hung, I have some interesting observations. Before coming to that, the good news is I am able to get the serial boot loader working. Until now I was using the keil to flash my serial bootloader binaries. In the "Flash Download" settings in Keil, I had opted for a full flash erase before the programming operation to simulate a bare flash scenario coming out of production. I was struggling to get the serial boot loader work with this setup.

    Now I switched to nRFGo for the first time. I did the exact same procedure of "erase all" and then program the bootloader. Even this didn't seem to work. Then just my the stroke of luck I happened to program the SD after an "erase all" and then program the bootloader. Bingo, It started working now and I was able to perform serial DFU. Until then or even now I dont understand the need of the SD for bootloader to work? Continuing below..

Reply
  • Hi Hung, I have some interesting observations. Before coming to that, the good news is I am able to get the serial boot loader working. Until now I was using the keil to flash my serial bootloader binaries. In the "Flash Download" settings in Keil, I had opted for a full flash erase before the programming operation to simulate a bare flash scenario coming out of production. I was struggling to get the serial boot loader work with this setup.

    Now I switched to nRFGo for the first time. I did the exact same procedure of "erase all" and then program the bootloader. Even this didn't seem to work. Then just my the stroke of luck I happened to program the SD after an "erase all" and then program the bootloader. Bingo, It started working now and I was able to perform serial DFU. Until then or even now I dont understand the need of the SD for bootloader to work? Continuing below..

Children
No Data
Related