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

DFU controller in central nRF52 device

Hi Nordic team,

Is there any sample project which implements DFU controller in nRF52832 central device? I need to update peripheral device firmware from central device by using DFU. In my another project, I was able to implement DFU target in peri device and succeeded firmware update from android app using SDK. So, I can say DFU target is ready. I just need DFU controller in centeral device.

Please advise any sample project which can help my developement of DFU controller.

Thansk,

Robin

Parents
  • Hi,

    I could make the device move to DFU mode by using Buttonless service. Now, I could make a connection to DfuTarg device, and established dfu service. I am working on implementing the DFU protocol. Following is logs I got so far.

        tx: 0601 // SELECT CMD

        rx: 600601000200000000000000000000 // SELECT RSP

        tx: 01010000008d000000 // CREATE CMD

        rx: 600104 // CREATE RSP

    When I sent SELECT message, I am getting SELECT Response message with offset=0x200, crc=0, max_len=0. But I have no idea whether these parameters are valid or not. Can you please explain what the offset, crc and max_len means and how I should handle these parameters?

    When I sent CREATE message with obj_type=1 and obj_size=141 (which is app.dat file size), I got the result code 04 (insufficient resources). Can you please advise how to solve this error?

    Thanks,

  • I solved this problem. For SELECT RSP message, the parameter ordering was wrong. the right order is max_len, crc, and then offset. so, I can parse it as max_len=0x200, crc=0, offset=0. For CREATE RSP, the CREATE CMD message was wrong. obj_type should be 1 byte not 4 bytes. Thus, when I sent "01018d000000" I got write response "600101".

Reply Children
No Data
Related