digitalmars.D - Implement a file system for use in embedded systems
- B Krishnan Iyer (12/12) Aug 04 2018 Hello everyone, I am Newbie here and I am interested in "
- Mike Parker (9/21) Aug 04 2018 The projects listed on the Wiki page are simply suggestions. You
- Mike Franklin (23/27) Aug 04 2018 The idea is to create something that can replace FatFs
- Jonathan Marler (8/37) Aug 05 2018 A bit of history...the FAT filesystem was a Microsoft proprietary
- kunal kapoor (2/14) Feb 14 2019 Hey B Krishnan Iyer, I am also new to this forum.
Hello everyone, I am Newbie here and I am interested in " Implement a FAT/FAT32/EXFAT file system for use in embedded systems" project which is part of SAOC. For past a year I have been working on embedded systems and invested past few months in developing drivers for Nucleo-F446RE which is ARM Cortex M4 based dev board. I was successful in creating HAL layer for accessing GPIO pins and currently developing the driver for SPI. 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. Thanks :)
Aug 04 2018
On Saturday, 4 August 2018 at 18:24:28 UTC, B Krishnan Iyer wrote:Hello everyone, I am Newbie here and I am interested in " Implement a FAT/FAT32/EXFAT file system for use in embedded systems" project which is part of SAOC. For past a year I have been working on embedded systems and invested past few months in developing drivers for Nucleo-F446RE which is ARM Cortex M4 based dev board. I was successful in creating HAL layer for accessing GPIO pins and currently developing the driver for SPI. 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. Thanks :)The projects listed on the Wiki page are simply suggestions. You can gather ideas here in the forums, study references provided in the Wiki entry, and do whatever research you need, but ultimately it's up to you to flesh out the details of the project and define your goals. That said, this particular project idea was added to the wiki by Mike Franklin. Perhaps he can provide some more details. I'll ping him to make sure he sees this thread.
Aug 04 2018
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&keyword =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
Aug 04 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: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.pdfI 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&keyword =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
Aug 05 2018
On Saturday, 4 August 2018 at 18:24:28 UTC, B Krishnan Iyer wrote:Hello everyone, I am Newbie here and I am interested in " Implement a FAT/FAT32/EXFAT file system for use in embedded systems" project which is part of SAOC. For past a year I have been working on embedded systems and invested past few months in developing drivers for Nucleo-F446RE which is ARM Cortex M4 based dev board. I was successful in creating HAL layer for accessing GPIO pins and currently developing the driver for SPI. 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. Thanks :)Hey B Krishnan Iyer, I am also new to this forum.
Feb 14 2019