diff --git a/components/nvs_flash/test_nvs_host/spi_flash_emulation.h b/components/nvs_flash/test_nvs_host/spi_flash_emulation.h index 14e56bab6..d8099322d 100644 --- a/components/nvs_flash/test_nvs_host/spi_flash_emulation.h +++ b/components/nvs_flash/test_nvs_host/spi_flash_emulation.h @@ -148,10 +148,20 @@ public: fseek(f, 0, SEEK_END); off_t size = ftell(f); assert(size % SPI_FLASH_SEC_SIZE == 0); - mData.resize(size); + mData.resize(size / sizeof(uint32_t)); fseek(f, 0, SEEK_SET); auto s = fread(mData.data(), SPI_FLASH_SEC_SIZE, size / SPI_FLASH_SEC_SIZE, f); assert(s == static_cast(size / SPI_FLASH_SEC_SIZE)); + fclose(f); + } + + void save(const char* filename) + { + FILE* f = fopen(filename, "wb"); + auto n_sectors = mData.size() * sizeof(uint32_t) / SPI_FLASH_SEC_SIZE; + auto s = fwrite(mData.data(), SPI_FLASH_SEC_SIZE, n_sectors, f); + assert(s == n_sectors); + fclose(f); } void clearStats()