I'm registering two p_storage
modules, one allocates 3 blocks of 16 bytes (so one page to my understanding) and the other one 512kb ( 5 pages).
to my understanding,if I callpstorage_register
with param_1
first, then I call pstorage_register
with param2
, pages allocated for param_1
are allocated before pages reserved for param_2
(before means they are closer to bootlader pages). butg I can see in flash memory dump that param_2
pages are located just above the bootlooder, then pages of param_1
.
how can I specify that it's param_1
which should be located just above the bootloader. I need this configuration to keep the data of param_1 after performing dfu with minimal setting ofDFU_APP_DATA_RESERVED
(no need to save pages of param_2
after DFU).
static void flash_init()
{
uint32_t err_code;
pstorage_module_param_t param_1;
pstorage_module_param_t param_2;
param_1.block_size = 16;
param_1.block_count = 3;
param_1.cb = flash_callback_handler;
// 5ko
param_2.block_size = 256;
param_2.block_count = 20
param_2.cb = flash_callback_handler;
err_code = pstorage_init();
APP_ERROR_CHECK(err_code);
// allocate storage blocks for data
err_code = pstorage_register(¶m_1, flash1_handler);
APP_ERROR_CHECK(err_code);
err_code = pstorage_register(¶m_2, &flash2_handler);
APP_ERROR_CHECK(err_code);
}