Re: littlefs BIOC_FLUSH in NAND flash

2024-02-24 Thread Alan C. Assis
Hi Saurav, Amazing! I'm happy to know you fixed it! If you can create some board configuration or document how you are doing it, I think it will be useful for more people here! Some years ago Ken Petit created a small Flash Simulator to use with SmartFS, but I think this one you are using is

Re: littlefs BIOC_FLUSH in NAND flash

2024-02-24 Thread Saurav Pal
Hi Alan, I have figured out the cause...it was because of a very *small* error in my rawwrite method which was confusing littlefs (which I think commits CRC, flushes it and rechecks the written data for consistency at one point in the forceformat operation). Right now, mount() works as intended.

Re: littlefs BIOC_FLUSH in NAND flash

2024-02-24 Thread Saurav Pal
Hi Xiang and Alan, Thanks for the info Xiang. Alan, the first error returns ENOTTY as littlefs sends a BIOC_FLUSH command in IOCTL which isn't supported in NAND, and Xiang has provided the explanation on why that is fine. As for the -ENOSPC, I'm looking into it currently. It *should *have

Re: littlefs BIOC_FLUSH in NAND flash

2024-02-24 Thread Alan C. Assis
Hi Saurav, I suggest you to verifyr these errors first: *Command: 1293 | BIOC_FLUSH: 1293* Error Upper! ioctl | -25 #define ENOTTY 25 /* Not a typewriter */ So, you can search where this ENOTTY is returned. Some to: nx_mount: ERROR: Bind method failed: -28 nsh: mount: mount failed: 28

Re: littlefs BIOC_FLUSH in NAND flash

2024-02-24 Thread Xiang Xiao
BIOC_FLUSH is used to flush the cache which may exist in mtd driver to guarantee the power-loss resilience. It's optional, so it's enough that mtd_nand returns -ENOTTY. On Sat, Feb 24, 2024 at 8:28 PM Saurav Pal wrote: > Hi all, > > I've been trying to develop a device simulator for the NAND

littlefs BIOC_FLUSH in NAND flash

2024-02-24 Thread Saurav Pal
Hi all, I've been trying to develop a device simulator for the NAND flash (in the sim). A short note on what this does is create a virtual NAND flash (from RAM) and provide a driver, as well as a wrapper around the upper half (which for now, does nothing extra). This helps in creating records of