Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
5 years, 2 months ago.
File closing in littlefs
Hi All,
I'm new to file system, I tried to mount LittleFS on my serial flash. I'm able to mount littleFS, open file, write and read. But once I tried to close it, it never coming out from the close API.
lfs_t lfs; lfs_file_t file;
int Fileerr2; mount the filesystem int Fileerr = lfs_mount(&lfs, &cfg);
reformat if we can't mount the filesystem this should only happen on the first boot if (Fileerr) { Fileerr2= lfs_format(&lfs, &cfg); lfs_mount(&lfs, &cfg);
} if (Fileerr2) { printf("File not mounted\n"); }
/* open the file in read/write mode or create it if doesn't exists */ int l_i32_error = lfs_file_opencfg(&lfs, &file, "boot_count", LFS_O_RDWR | LFS_O_CREAT, &file_cfg);
Fileerr2 = lfs_file_open(&lfs, &file, "boot_count", LFS_O_RDWR | LFS_O_CREAT);
Fileerr2 = lfs_file_read(&lfs, &file, &boot_count, sizeof(boot_count)); boot_count = 10; lfs_file_rewind(&lfs, &file); Fileerr2 = lfs_file_write(&lfs, &file, &boot_count, 256); sizeof(boot_count) boot_count = 0; lfs_file_rewind(&lfs, &file); Fileerr2 = lfs_file_read(&lfs, &file, &boot_count,256 );sizeof(boot_count) remember the storage is not updated until the file is closed successfully
Fileerr2 = lfs_file_close(&lfs, &file);
release any resources we were using Fileerr2 = lfs_unmount(&lfs);
print the boot count printf("boot_count: %d\n", boot_count);
Please let me know what I miss here.
Thanks, Basava.