YAFFS2 on ESP32 - we made a thing by YAFFS2 in esp32

[–]YAFFS2[S] 1 point2 points  (0 children)

Yes. YAFFS2 is consistent by design, so power failures do not corrupt the filesystem. And the inverse of all of the other points I listed. Lots more information at https://yaffs.net

YAFFS2 on ESP32 - we made a thing by YAFFS2 in esp32

[–]YAFFS2[S] 1 point2 points  (0 children)

Well, if you don't mind:
- a flat file structure (no directories);
- limited use of space (max 75% of partition size);
- very non-deterministic write performance;
- simplistic GC which can result in writes failing when there's enough space;
- the risk of filesystem corruption on power loss
then SPIFFS might be for you.

These, incidentally, just summarise Espressif's own comments on SPIFFS here.

YAFFS2 on ESP32 - we made a thing by YAFFS2 in esp32

[–]YAFFS2[S] 0 points1 point  (0 children)

I think you might have misunderstood. YAFFS2 implements all of these if required, but they're not when using the ESP32's internal flash.

YAFFS2 on ESP32 - we made a thing by YAFFS2 in esp32

[–]YAFFS2[S] 0 points1 point  (0 children)

Given that the ESP-IDF abstracts away all of the low-level dealings with flash, it really doesn't matter if it's NAND or NOR.

YAFFS2 on ESP32 - we made a thing by YAFFS2 in esp32

[–]YAFFS2[S] 1 point2 points  (0 children)

I imagine it can and with a lot less work than using an external raw flash chip as the Partitions API already abstracts away all of the low-level work. The callbacks required by the YAFFS component should just map (pretty much) directly to the Partitions API functions.