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

Save data to application data area and share with bootloader

Hi all,

I using nrf52832 , sdk 15.1

- My app include : application + bootloader + application data area 

- application define  appliation data area is 12K byte (FDS_VIRTUAL_PAGES 3 , FDS_VIRTUAL_PAGE_SIZE 1024)

- bootloader define NRF_DFU_APP_DATA_AREA_SIZE 12288 (12K)

- My application using FDS to save data to application data area.

- In my bootloader, I want to read this data from application data.

My problem : 

- In bootloader , nrf_dfu_flash already has a fstorage instance that conflicts if I add FDS library to bootloader.

- When my app start, it consume a large current , I suspect that the flash reading process caused this. Because in my application, I init fds and read data from flash. I supply this device by one pin CR2032, my requirement is this device run in 2 years. But when pin < 2.6V , chip can't start because current start is big , it falls into a state that I don't know but this state consume current very fast. It very bad for me.

- When I save data to application data area, and restart to bootloader, Bootloader can override data to this area. I want to avoid this. So How to calculate a application data satisfy the conditions : application can save, remain when reset, not override by bootloader, bootloader can read, and when  update firmware, It not be erase by this process. 

Please answer my question . 

Thank !!! 

Parents
  • Hi,

    - In bootloader , nrf_dfu_flash already has a fstorage instance that conflicts if I add FDS library to bootloader.

     What error code/message did you get? Did you create a new fstorage instance ? 

    - When I save data to application data area, and restart to bootloader, Bootloader can override data to this area. I want to avoid this. So How to calculate a application data satisfy the conditions : application can save, remain when reset, not override by bootloader, bootloader can read, and when  update firmware, It not be erase by this process. 

     Where are you saving the application data? Note that the Peer Manager uses FDS to store bond information at the already reserved pages(FDS_VIRTUAL_PAGES). If you want to store your your own data, you need to increase NRF_DFU_APP_DATA_AREA_SIZE.

Reply
  • Hi,

    - In bootloader , nrf_dfu_flash already has a fstorage instance that conflicts if I add FDS library to bootloader.

     What error code/message did you get? Did you create a new fstorage instance ? 

    - When I save data to application data area, and restart to bootloader, Bootloader can override data to this area. I want to avoid this. So How to calculate a application data satisfy the conditions : application can save, remain when reset, not override by bootloader, bootloader can read, and when  update firmware, It not be erase by this process. 

     Where are you saving the application data? Note that the Peer Manager uses FDS to store bond information at the already reserved pages(FDS_VIRTUAL_PAGES). If you want to store your your own data, you need to increase NRF_DFU_APP_DATA_AREA_SIZE.

Children
No Data
Related