Implement a file system for use in embedded systems
Jonathan Marler
johnnymarler at gmail.com
Mon Aug 6 01:49:37 UTC 2018
On Sunday, 5 August 2018 at 05:53:20 UTC, Mike Franklin wrote:
> On Saturday, 4 August 2018 at 18:24:28 UTC, B Krishnan Iyer
> wrote:
>
>> I had some questions regarding the project and also needed
>> some pointers to get started with the project. Also, more it
>> would be great if more description of the project statement
>> can be provided.
>
> The idea is to create something that can replace FatFs
> (http://www.elm-chan.org/fsw/ff/00index_e.html) for use in
> embedded systems just like you mentioned (ARM Cortex-M
> microcontrollers).
>
> I don't think you necessarily need to be proficient in embedded
> systems to write such a project, as the file system could be
> persisted to anything from an SD Card, RAM, or a simple file.
> But understanding the limitations of ARM Cortex-M embedded
> systems will give one perspective that will add in making their
> design trade-offs.
>
> I can think of a few things that would probably help anyone
> attempting to tackle such a project
>
> 1. Get familiar with FatFs by porting it to an existing HAL
> and successfully read/write from/to an storage medium like an
> SD card.
> 2. Buy a book on the FAT file system. A quick search yielded
> this
> (https://www.amazon.com/ExFAT-FAT-File-Systems-Internals/dp/1539928977/ref=sr_1_fkmr2_3?s=books&ie=UTF8&qid=1533447939&sr=1-3-fkmr2&keywords=flat+file+system), but I have no idea if it's any good.
> 3. Study the FatFs source code.
> 4. Start coding and progressively work through your ideas,
> incrementally learning from your successes and failures.
> 5. Begin asking questions
>
> Mike
A bit of history...the FAT filesystem was a Microsoft proprietary
filesystem until UEFI came along. Microsoft suggested UEFI use
FAT as one of its filesystem formats, but UEFI required that
Microsoft create/release a specification for it in order for them
to accept it. Surprisingly, Microsoft agreed. I believe this
document is the result of that:
https://staff.washington.edu/dittrich/misc/fatgen103.pdf
More information about the Digitalmars-d
mailing list