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

Transferring data over to external memory using DFU (SPI)

Our hardware has an externa memory connected to the nRF51 by SPI, we also use DFU to update the firmware creating the zip pack (We have buttonless dfu working as well) and we have full color display. The images to be displayed take a large part of the nRF51 memory, so I want to transfer it to our external memory where I have 32M. I thought of creating a file with the images data and put it inside the zip file, edit the bootloader so it could identify this file and than transfer it to the external memory using SPI. Does some one has any ideia about how to do that or any other way I could save nRF51 memory for code and transfer the images array to the external memory? I am using SDK12, SD130 and nRF51832

Thanks

  • Hi,

    What you are suggesting should be possible, but naturally you will have to modify the bootloader. Today our bootloader solution supports 4 "filetypes": Softdevice, Bootloader, Application, and Softdevice+Bootloader, so you will have to add support for your image files and make the bootloader store them in external flash instead of internal flash.

    The DFU works like this:

    1. The peer application unpacks the .zip-file.
    2. The initialization .dat-file is transferred and stored in flash.
    3. The new firmware .bin-file is transferred and stored in flash.
    4. <- Insert implementation of transfer and storage of image files in external flash.
    5. The nRF51 resets itself.
    6. Bootloader verifies the received files.
    7. Bootloader updates firmware and bootloader settings.
Related