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