<div dir="ltr">Hi,<div>there was actually some discussion in the last student software project here at Freie Universit√§t Berlin (but sadly no implementation yet, since RIOT lacks to date some general interface to access file-like objects). The results were in general: FAT (as Adam previously stated in part) a) is ridden from ballasts of past specification, b) is not suitable for for flash, and c) weird regarding licensing (and propably incompatible to RIOT), since MS is somehow still involved. So they looked at NuttX and CFS (among others), too and found CFS as the most suitable and it is to assume, that since Contiki is very modular as well, that it is easily portable (when we have some genaral file interface, which hopefully will be easier to realize when Kaspar's IPC change is finally there).</div><div><br></div><div>Cheers,</div><div>Martine</div><div><br></div><div>PS: There are already fd-like PIDs in RIOT [1], but since the current situation is that 1 communication end-point (read this as fd, socket, whatever) equals 1 thread (which will change in the future), this is just not feasible.</div><div><br></div><div>[1]¬†<a href="https://github.com/RIOT-OS/RIOT/blob/master/sys/include/posix_io.h">https://github.com/RIOT-OS/RIOT/blob/master/sys/include/posix_io.h</a></div></div><div class="gmail_extra"><br><div class="gmail_quote">2014-09-10 21:50 GMT+02:00 Adam Hunt <span dir="ltr"><<a href="mailto:voxadam@gmail.com" target="_blank">voxadam@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">I'm not positive but I don't believe that the mainline Contiki tree includes support for any version of FAT though I think that there may be some non-mainline forks that have implemented it. I know they implement their own simple log structured file system called Coffee. FAT may be ubiquitous but it's likely one of the least optimal options for writing to flash. This is especially true when you're writing to raw NAND devices that contain no wear leveling, garbage collection, compression, or other niceties in hardware (this is far less of an issue if writing to microSD cards).</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Has anyone taken a look around at the VFS, file system, and FTL implementations in other suitably licensed (e.g. LGPL, MIT, BSD) systems? Contiki (BSD) has their Coffee file system and CFS layer. NuttX (BSD) has what looks like a fairly impressive VFS layer with support for a few log type systems, FAT12/16/32, FTL, ROMFS, NFS, bind mounts, and an ELF loader.</div><div><div class="h5"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_extra"><div class="gmail_quote">On Wed, Sep 3, 2014 at 2:22 AM, Joakim Gebart <span dir="ltr"><<a href="mailto:joakim.gebart@eistec.se" target="_blank">joakim.gebart@eistec.se</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>On Wed, Sep 3, 2014 at 2:31 AM, David Lyon <<a href="mailto:david.lyon@clixx.io" target="_blank">david.lyon@clixx.io</a>> wrote:<br>
><br>
><br>
> Hi,<br>
><br>
> I was having a conversation on IRC and the benefits of the Arduino Due were discussed.<br>
><br>
> Quoting <a href="http://arduino.cc/en/Main/arduinoBoardDue" target="_blank">http://arduino.cc/en/Main/arduinoBoardDue</a> "512 KB (2 blocks of 256 KB) of flash memory".<br>
><br>
> Anyway, I know in RIOT you guys are not exactly looking for new features, however, it's enough to implement a simple file system mainly for data-logging purposes in IoT.<br>
><br>
> Any interest in that ?<br>
><br>
> Regards<br>
><br>
> David<br>
> _______________________________________________<br>
> devel mailing list<br>
> <a href="mailto:devel@riot-os.org" target="_blank">devel@riot-os.org</a><br>
> <a href="http://lists.riot-os.org/mailman/listinfo/devel" target="_blank">http://lists.riot-os.org/mailman/listinfo/devel</a><br>
<br>
</div></div>You could look at porting some other embedded file system, e.g.<br>
<a href="https://github.com/contiki-os/contiki/wiki/File-systems" target="_blank">https://github.com/contiki-os/contiki/wiki/File-systems</a>, or using a<br>
FAT library if you want compatibility with desktops (for SD cards<br>
etc).<br>
<br>
Best regards,<br>
Joakim<br>
<div><div>_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@riot-os.org" target="_blank">devel@riot-os.org</a><br>
<a href="http://lists.riot-os.org/mailman/listinfo/devel" target="_blank">http://lists.riot-os.org/mailman/listinfo/devel</a><br>
</div></div></blockquote></div><br></div></div></div></div>
<br>_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@riot-os.org">devel@riot-os.org</a><br>
<a href="http://lists.riot-os.org/mailman/listinfo/devel" target="_blank">http://lists.riot-os.org/mailman/listinfo/devel</a><br>
<br></blockquote></div><br></div>