DFU over BLE using slots on external flash

Hello Hi Greetings 
This Ticket is regarding documentation and configuration on DFU over BLE using slots on external flash.


We are using 52833soc based custom board that has SPI flash .
We thought that suppose the new firmware upgrade won't have enough memory in soc flash to store , so we thought we can use external flash to store new firmware image and then do the swapping .


I am here to seek direction . 
Please can you tell me a flowchart like how I should approach this task .
like first I think I should study boot loaders and see what's MCUboot and what's nrf's secure boot .

I feel a flowchart / numbered points from a specialist will help more , that raising tickets all the time . So please help me with this , like what should be done first like partitioning or setting up MCUboot .

After that please provide me the link of sample example (if its there ) that does this operation .

Thanks 

S

Parents Reply Children
  • HI  

    The partition you saw above in screenshot , just declares and initialises external flash partition , I don't see partitions "within" external flash , that mcuBOOT may comprehend that the secondary slot exist at external flash not SoC flash .

    I have followed all configuration as you said 
    Also I don't see sdk 2.7.0 yet in my vscode 



    following is my mcuboot conf

  • Also I have gone thru the devzone course , there they use ncs example config option to support dfu which I can’t use . So that’s why looking for alternative 

  • Hi  
    Greetings of the Day 
    I performed the DFU update after implementing SMP server for my test application , I can see the Nordic Application on my mobile connecting to my custom board , and I have DFU option enabled , when I uploaded a signed binary with a customisation -> UPLOAD ONLY , which I infer means that the new firmware will just be written to secondary slot .

    My secondary slot as per all configuration should exist in External Flash as we discussed . Following is my  Partition manager  report 

    Amanda I expect my new firmware to be written by mcuBOOT to this secondary slot in external flash at address 0x71000 right ? ( as per your messages above you said that I won't have to explicitly write new firmware image to the external flash )

    Or at 0x74000 . im not sure about this , but partition in my overlay file starts at 0x71000.



    I tried to read my external flash after I uploaded my new firmware image with customisation in nrf connect app  -> UPLOAD ONLY 


    my logs below 



    After DFU (upload only performed )




    I read at multiple offset mentioned above but I found all data to be 0xFF , 

    Please let me know where I might be lagging . 

    A direction can help me be better engineer , looking forward your expertise here Amanda 
    Thanks 

    S

  • Did you upload a new image with any changes? Without changes, the image would not be uploaded and updated. 

    Are you able to upload a new image via the nRF Device app without issue? If so, Are you able to see it boot up with the new image after updating? 

Related