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

Migration of Flash data from SDK V11 to V12

I have an old application which I want to add the bootloader and secure DFU. I have to migrate to SDK version 12 and I have some persistent data which the old program is writing to locations 0x79000 to 0x7D000. I don't want to do any special memory manipulation while doing the update via BLE and DFU. What should I do with that "user" memory? Is it safe to leave there or should I use the fstorage module since the pstorage module was removed?

  • Hi Kevin,

    Could you clarify if you have a bootloader already on the chip ? Of there is, which SDK version that was from ?

    Can you flash something to the chip or everything should be done by DFU ?

  • I have not yet added a bootloader, but when I do it will be from 12.2. Right now, I'm in development and using the IAR embedded workbench to program the chip. DFU will be near future when the hardware is in the field; just needing to know before I start my final changes to the firmware.

  • Hi Kevin, Is it obligated to have your data at 0x79000 to 0x7D000 ? It's overlapping the bootloader area, and you would need to either move that or move the bootloader. I would suggest to move the application data.

    The memory layout for the application data and the declaration to reserve it is explained here.

    In SDK v12, the bootloader start address is at 0x78000.

    Note that if you use peer manager, the fds module is used for storing bond information and will reserve 3 pages (1 page for swap 2 page = 8kB for data). I would suggest you to either use fds or fstorage to store your app data also. You may need to increase the FDS_VIRTUAL_PAGES to meet your requirement.

Related