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

About the secure serial DFU for nRF52840 and nRF52832

Hi,

I'm using SDK13.0 with nRF52840. Now I'm doing the DFU by the UART through MCU. But we meet a big problem, MCU is hard to read the infomation in the .dat and .json file, so we want to just use the .bin file to do DFU.

I have seen the data on the UART interface as the attachment. It seems MCU must read the infomation in the .dat and .json file and then send to nRF52840, so that it could do DFU. What we want to do is not to do Transfer of an init packet, just do Initialization and the Transfer of a firmware image . As described link text

Could anyone tell me how to do for the bootloader project? Thanks.

PC.txt BLE.txt

Parents
  • Hi Alice,

    The MCU doesn't need to read the .json file. It just need to send the .dat (which is the binary of the init packet) and the .bin.

    If you don't plan to send init packet, you will not be able to check for image size, CRC and signature when you receiving the image.

    I would suggest you to try sending init packet, instead of modifying the bootloader to skip it.

    If you want a very simple bootloader, you can go back to SDK v6.x where we don't require init packet, and the bootloader was pretty simpler.

  • If there isn't any MCU on the Wifi module, how would you plan to interface the bootloader with the Wifi module ? At the beginning you mentioned "I'm doing the DFU by the UART through MCU", where does the MCU sit in your set up ?

    There are several steps you need to do with the bootloader, first step would be to make it work with the new Softdevice, after that you need to adapt the flash size to match with nRF52840. There are some difference in the SDK library as well. It's not a quick task but would require some work here. My comment above on "just some change in the flash size and softdevice API" was not really correct. Sorry about that. My idea here is to follow what we do in SDK v6 and make your own bootloader. Because the bootloader in that SDK was much more simpler.

    With further consideration, I think it's easier just to make the MCU to send the init packet and use the stock SDK v13+ bootloader.

Reply
  • If there isn't any MCU on the Wifi module, how would you plan to interface the bootloader with the Wifi module ? At the beginning you mentioned "I'm doing the DFU by the UART through MCU", where does the MCU sit in your set up ?

    There are several steps you need to do with the bootloader, first step would be to make it work with the new Softdevice, after that you need to adapt the flash size to match with nRF52840. There are some difference in the SDK library as well. It's not a quick task but would require some work here. My comment above on "just some change in the flash size and softdevice API" was not really correct. Sorry about that. My idea here is to follow what we do in SDK v6 and make your own bootloader. Because the bootloader in that SDK was much more simpler.

    With further consideration, I think it's easier just to make the MCU to send the init packet and use the stock SDK v13+ bootloader.

Children
No Data
Related