nRF52832 DFU升級導致FDS數據丟失的問題

     產品使用nRF52832的FDS模塊來存儲用戶數據。產品在使用過程中,發現DFU升級有一定概率導致FDS數據丟失。經過查找相關資料,發現在Bootloader程序中有一個宏,用來指定受保護Flash區的大小。在保護範圍之外的,有肯能被Bootloader給擦除。這個宏是:

#ifndef DFU_APP_DATA_RESERVED
#define DFU_APP_DATA_RESERVED               (CODE_PAGE_SIZE * 3)
#endif

對於這個宏,Nordic論壇上有如下描述:

 DFU_APP_DATA_RESERVED only referes to how many pages below the bootloader start address it shoudl preserve during a DFU, i.e. not erase, see this page. Whereas, FDS_VIRTUAL_PAGES defines how many pages below the bootloader start address that are reserved for the FDS module. So if you want to preserve the data stored by FDS you should set DFU_APP_DATA_RESERVED equal to FDS_VIRTUAL_PAGES.

通過以上信息可以得知,該宏的大小就是被保護區域的大小,應該與應用程序中開闢的FDS大小一致,或者更大。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章