Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/strawberryhacker/fat32
Tiny FAT32 file system implementation.
https://github.com/strawberryhacker/fat32
Last synced: about 2 months ago
JSON representation
Tiny FAT32 file system implementation.
- Host: GitHub
- URL: https://github.com/strawberryhacker/fat32
- Owner: strawberryhacker
- Created: 2020-05-19T12:40:22.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-01-23T20:54:39.000Z (12 months ago)
- Last Synced: 2024-08-04T04:02:14.159Z (5 months ago)
- Language: C
- Homepage:
- Size: 65.4 KB
- Stars: 49
- Watchers: 4
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-embedded-software - fat32 - Lighweight FAT32 file system written in C with no thirdparty dependencies. It requires a small port which provide functions for initializing, reading and writing to the MSD. (Storage / Filesystems)
README
# FAT32
This is a lighweight FAT32 file system written in C with no thirdparty dependencies. It requires a small port which provide functions for initializing, reading and writing to the MSD.
## Requirements
A small disk interface layer is required in order for the FAT32 driver to work. This interface should implement the following functions
- **get disk status** - this will check if the storage device is plugged in an available
- **disk initialize** - this will initialize the hardware and software protocols on the storage device
- **disk read** - this will read a specified number of sectors from the storage device and store it in a buffer
- **disk write** - this will write a specified number of sectors to the stordage device
- **get time** - get the current time from a RTC or over NTP (optional)These functions take in a number which is associated with each disk. The FAT32 disk mount functions will take in the same disk number. For example, if an SD card is referenced in the disk interface as device 2, then disk_mount(2) will mount the SD card. Take a look at the disk_interface.c for some examples.
## Functionality
Disk functions
- Mounting a volume
- Ejecting a volumeVolume functions
- Get a volume based on the letter
- Set volume label
- Get volume label
- Format a FAT32 volume (both quick format and normal format)
- LFN and SFN support
Directory functions
- Directory open
- Directory close
- Directory read
- Directory make
- Directory renameFile functions
- File open
- File close
- File read
- File write
- File jump
- File rename
- File clear
The file and directory functions work the same way as in windows. The functions with take inn a path including the volume letter e.g. C:/home/user/strawberryhacker/README.md
## SupportIf more functionality is needed send me a message