Skip to content

Monolith96/EEPROMFileSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Basic File-System for EEPROMs

based on SN74HC299 Arduino library

A lightweight C# library and toolset for working with EEPROMs through a file system-like abstraction. It includes utilities for serializing, deserializing, defragmentation, and managing EEPROM file tables
using the simple rules of Header Tables, individual files can be retrieved by any MCU.


Screenshots

Start:
EFS_1

Removed FileIndex 1:
EFS_2

Defragmented:
EFS_3


Features

  • FileTable & FileData serialization → convert to/from byte[] and lists for easier coding
  • Memory calculations → get free space, used capacity, and header sizes
  • File management → indexing, sorting, compacting, and safe naming
  • Utility extensions → normalization helpers for filenames and memory names
  • Debug-friendly → extension methods keep your code neat and discoverable

To use this program, you need EEPROMProgrammer_JSON sketch of the SN74HC299 library running on an Arduino.


to manipulate files on memomry through this program, you don't need to get to low-level system. just call their respective methods.
here's the way files are stored on the chip (on low level):
Header Tables are stored at the beggining of the chip holding memory details and file counts
Like this:

FileTable

     name              addresses       description
byte FixedBytes[2];    // 0-1          0xAA 0x55
byte MemorySize[3];    // 2-3-4        value is in Bytes (e.g. 2048)
byte MemoryName[16];   // 5 to 20      16 bytes max
MaxEntries;            // 21           max entries 
UsedEntries;           // 22           used entries 

FileData (times MaxEntries)

     name               addresses
byte FileName[16];     //  0 to 15
byte StartAddress[3];  //  16-17-18
byte EndAddress[3];    //  19-20-21
byte Length[3];        //  22-23-24
byte FileIndex;        //  25

after that, files are stored byte-by-byte on specified locations accordingly.

About

Basic file system with easy header table structure for EEPROMs

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages