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

fstorage problem

Hi

I tried to test the read and write in flash but without success. I added the following code in service_init()

uint8_t               initial_data[8];

err_code = nrf_fstorage_read(&fstorage, FLASH_START_ADD, initial_data, sizeof(initial_data));
APP_ERROR_CHECK(err_code);

for(uint8_t i = 0; i < 8; i++)
{
NRF_LOG_INFO("vrednost: %d", initial_data[i]);
}


if(initial_data[0] > 7)
{
initial_data[0] = 0;
}
else
{
initial_data[0] = initial_data[0] + 1;
}

for(uint8_t i = 1; i < initial_data[0] + 1; i++)
{
initial_data[i] = 5;
}


err_code = nrf_fstorage_write(&fstorage, FLASH_START_ADD, initial_data, sizeof(initial_data), NULL);
wait_for_flash_ready(&fstorage);

APP_ERROR_CHECK(err_code);

Of course I added nrf_fstorage_init() and NRF_FSTORAGE_DEF as well.  When I restart the chip the flash does not change in location FLASH_START_ADD

#define FLASH_START_ADD 0x2A800
#define FLASH_END_ADD 0x2AC00

Here is the output from J-Link. The values are the same all the time regardless the chip is restarted.

<info> app: --> Event received: wrote 8 bytes at address 0x2A800.
00>
00> <info> app: Template example started.
00>
00> <info> app: Fast advertising.
00>
00> <info> app_timer: RTC: initialized.
00>
00> <info> app: vrednost: 0
00>
00> <info> app: vrednost: 5
00>
00> <info> app: vrednost: 255
00>
00> <info> app: vrednost: 255
00>
00> <info> app: vrednost: 255
00>
00> <info> app: vrednost: 255
00>
00> <info> app: vrednost: 255
00>
00> <info> app: vrednost: 255

I use sdk16.0 and softdevice 112.

Related