Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Update from SD-Card

Hi there!

I'm currently looking into performing a DFU on a nRF52832 DK from an SD-Card. I managed to get the secure serial uart bootloader up-and-running and have no issues whatsoever.

However, when looking into performing DFU from an SD-Card things start getting considerably more difficult. I found [this](Update from SDcard - Nordic Q&A - Nordic DevZone - Nordic DevZone (nordicsemi.com)) qeustion where an answer is given that suggests implementing the transport layer. I assume though, that this isn't as easy now as it was back then. I made an implementation (that I can share if neccesary) based on the serial uart dfu that just reads a buffer of 128 bytes and forwards them to the on_rx_callback.

This however, doesn't work. The first SLIP packet is decoded, but afterwards things don't continue. I assume this is because I'm not transferring the right data; the plain zip. That's when I looked into just copying the hex file (not the DFU zip file this time) straight into flash with the use of the nvmc. This however, hangs too.

I'm getting dead ends all over the place, so I'd really appreciate some guidance as to what should be possible and what's the best way to continue.

Kind regards,

A desperate Jochem.

Parents
  • Hi,

    DFU via SD card is not something that is supported, so you must implement this yourself, as you are about to do. It is not clear to me exactly how you do this, though, nor which issues you are seeing. Perhaps you can elaborate?

  • Hi Einar,

    I'm sorry for not responding. I've been busy with an alternative implementation as I thought that would be the better route. 

    I've started with the serial_dfu source file and altered it in such a way that the incoming bytes aren't from UART but from FatFS. That's when the SLIP decoder just hangs.

    But, as I've already said, I've now got another implementation that writes the binary file straight from the SD-card into the flash memory with the help of the NVMC. This is then executed in a similair manner as is done with DFU.

    Anyway, thanks for your help and sorry for wasting your time.

    Kind regards,

    Jochem

  • Hi ,

    I also need a solution for the SD-Card firmware update. Could you please share your results?
    I would even like the non-working version. It would be a good starting point.
    I’m thinking primarily of the version in which you didn’t write directly into the flash, because the firmware must be signed. So I want the zip package go through the normal DFU processing.

    Thanks in advance!

Reply
  • Hi ,

    I also need a solution for the SD-Card firmware update. Could you please share your results?
    I would even like the non-working version. It would be a good starting point.
    I’m thinking primarily of the version in which you didn’t write directly into the flash, because the firmware must be signed. So I want the zip package go through the normal DFU processing.

    Thanks in advance!

Children
No Data
Related