Sepehr's Blog

A place to begin

  • Project Goal The goal was to replace DOSFS with a lighter FAT implementation and provide benchmarking – This was done by porting the open‑source FatFS file‑system to RTEMS. This would offer a smaller, simpler alternative to RTEMS’s custom DOSFS and reduce memory usage while maintaining functionality. The proposal also called for building integrated benchmarking tools…

  • We are finally here, at the midterm milestone! I’ve learned a lot and coded a bunch, made the porting of FatFS into RTEMS possible. This was a fantastic journey so far and I’m excited that there’s more of it. Summary (so far) Stage 1 started with me getting to know the fs concepts, including but…

  • There is a wonderful post by Chis on this topic. This blog post is a complement of that post, reflecting my efforts on testing FatFS. After cloning the rtems, make sure you build tests: Here’s the sample ini config: Then just run: And it will compile rtems + tests. Now you have to run rtems-test…

  •  Integrating a third-party filesystem like FatFS into RTEMS requires understanding both the RTEMS filesystem architecture and the nuances of bridging two different APIs. Here’s what I learned while implementing the FatFS mount functionality for RTEMS.  The Challenge: Two Different Worlds  RTEMS uses a POSIX-like filesystem abstraction with operations like open(), read(), and write(), while FatFS…

  • This post will walk you through how libblock works in RTEMS! What is libblock? libblock is RTEMS’s block device management library. Think of it as the middleman between your filesystem (like FatFS) and the actual storage hardware (SD cards, flash memory, etc.). It provides a consistent interface for reading and writing blocks of data, regardless…