Hi, all
I'm trying to write/erase data to flash memory (nrf52833, pca10100)
I want to erase only 4 bytes.. Is it wrong to define like this? I guess '4' value's unit is not bytes.
ret_code_t rc = nrf_fstorage_erase(&fstorage, now_addr, 4, NULL); APP_ERROR_CHECK(rc); wait_for_flash_ready(&fstorage); NRF_LOG_INFO("Done.");
I write code like above, but didn't work what I expected,
so I changed 'erase unit' 4096 to 4.. (in nrf_fstorage_sd.c)
/* Flash device information. */ static nrf_fstorage_info_t m_flash_info = { #if defined(NRF51) .erase_unit = 1024, #elif defined(NRF52_SERIES) // .erase_unit = 4, .erase_unit = 4096, #endif .program_unit = 4, .rmap = true, .wmap = false, };
but it returns 0x03 error in fstorage_evt_handler function.
I don't know which part to modify more.
I'd appreciate it if you could suggest other methods than the ones above.
BR,
lyrics