by writing servals data into flash ,the data is always is 0,
void fstorage_test(void)
{
ret_code_t ret = fs_init();
if (ret != NRF_SUCCESS)
{
bsp_indication_set(BSP_INDICATE_FATAL_ERROR);
}
else
{
SEGGER_RTT_printf(0,"fs_init suc\n");
}
//Read the first 4 words of the page
SEGGER_RTT_printf(0,"Data read from flash address 0x%X: ", (uint32_t)fs_mcube_config.p_start_addr);
uint32_t flash_data[4];
for(int i=0; i<4; i++)
{
flash_data[i] = *(fs_mcube_config.p_start_addr + i);
SEGGER_RTT_printf(0,"%X ", flash_data[i]);
}
SEGGER_RTT_printf(0,"\r\n");
//Write one word
static uint32_t data = 0x11111111;
SEGGER_RTT_printf(0,"Writing data 0x%X to address 0x%X\r\n", data, (uint32_t)(fs_mcube_config.p_start_addr));
fs_callback_flag = 1;
ret = fs_store(&fs_mcube_config, fs_mcube_config.p_start_addr, &data, 1, NULL);
if (ret != NRF_SUCCESS)
{
bsp_indication_set(BSP_INDICATE_FATAL_ERROR);
}
while(fs_callback_flag == 1) { power_manage(); }
//Write another word
static uint32_t data_2 = 0x333333333;
SEGGER_RTT_printf(0,"Writing data 0x%X to address 0x%X\r\n", data_2, (uint32_t)(fs_mcube_config.p_start_addr + 1));
fs_callback_flag = 1;
ret = fs_store(&fs_mcube_config, fs_mcube_config.p_start_addr + 1, &data_2, 1,NULL);
if (ret != NRF_SUCCESS)
{
bsp_indication_set(BSP_INDICATE_FATAL_ERROR);
}
while(fs_callback_flag == 1) { power_manage(); }
//Read what we have written
SEGGER_RTT_printf(0,"Data read from flash address 0x%X: ", (uint32_t)fs_mcube_config.p_start_addr);
//uint32_t flash_data[4];
for(int i=0; i<4; i++)
{
flash_data[i] = *(fs_mcube_config.p_start_addr + i);
SEGGER_RTT_printf(0,"%X ", flash_data[i]);
}
SEGGER_RTT_printf(0,"\r\n");
} Data read from flash address 0x76000: 0 0 FFFFFFFF FFFFFFFF Writing data 0x11111111 to address 0x76000 fstorage command successfully completed
Writing data 0x33333333 to address 0x76004 fstorage command successfully completed
Data read from flash address 0x76000: 0 0 FFFFFFFF FFFFFFFF