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

Question about flash origin for a DFU application

Dear Nordic Team,

I'm slowly feeling my way around DFU via BLE on the nRF5280 with s140, but need a little clarification about the flash and RAM settings in the .ld file. Does the flash origin still need to be 0x27000, or does nrfutil ignore the addresses in the hex file when it builds the package zip because the DFU module knows that Bank 0 must start at 0x27000 ?

Also, what is the preferred RAM origin for the application when using s140? The examples seem to use a range of values, e.g. Blinky uses 0x20002300, HRS uses 0x20002be0, and GLS and a few others use 0x20002260. What is the absolute minimum permitted?

In the case where there is no softdevice, but serial DFU is required, how does the MBR get into the flash at address 0x0? And should the application flash origin be set to 0x1000  in this case ?

Thanks,

Pete

Parents
  • Hi Pete,

    Does the flash origin still need to be 0x27000, or does nrfutil ignore the addresses in the hex file when it builds the package zip because the DFU module knows that Bank 0 must start at 0x27000 ?

    The flash start address still needed to set as 0x27000 because the nrfutil doesn't have the function like that.  

    what is the preferred RAM origin for the application when using s140? The examples seem to use a range of values, e.g. Blinky uses 0x20002300, HRS uses 0x20002be0, and GLS and a few others use 0x20002260. What is the absolute minimum permitted?

    Please refer to the s140_nrf52 release notes under nRF5_SDK\components\softdevice\s140\doc. For s140 v7.0.1, SD required the minimum memory RAM is 5.6 kB (0x1678 bytes). See Adjustment of Ram and Flash Memory

    In the case where there is no softdevice, but serial DFU is required, how does the MBR get into the flash at address 0x0? And should the application flash origin be set to 0x1000  in this case ?

    I don't understand the question. In serial DFU, MBR should be 0x0 and MBR application should be 0x1000. 

    See the Memory layout documentation.

    -Amanda H. 

  • Hi Amanda,

    Thanks for the quick reply. I understand now that I need to find out how much RAM the softdevice actually requires.

    Regarding my 3rd question, I think I found the answer elsewhere. It wasn't clear to me how to get the MBR into flash at 0x0 without loading the softdevice - it's not clear in the documentation - but I have now found mbr_nrf52_2.4.1_mbr.hex in ..\components\softdevice\mbr\hex

    Pete

Reply
  • Hi Amanda,

    Thanks for the quick reply. I understand now that I need to find out how much RAM the softdevice actually requires.

    Regarding my 3rd question, I think I found the answer elsewhere. It wasn't clear to me how to get the MBR into flash at 0x0 without loading the softdevice - it's not clear in the documentation - but I have now found mbr_nrf52_2.4.1_mbr.hex in ..\components\softdevice\mbr\hex

    Pete

Children
No Data
Related