well, why and how you say that ? Have you checked it out ? What is no working ? Saying such a stuff is not helping me: exactly what is not working ?
- compiling app ... In file included from lib_fs_block_l3.h:5:0,
from app.h:8,
from app.c:1:
lib_media_disk.h:13:36: fatal error: lib_media_disk.interface: No such file or directory
#include "lib_media_disk.interface"
^
compilation terminated.
make: *** [obj/app.o] Error 1
fails on the first file, not even a single file compile! total fail.
yeah and its crap. OS_FileEntry_t is full of shit that does not need to be there making it twice as big.
for example ? what to be removed ? I do not need to hear "shits", i need "advices"!
here is original, 60 bytes long.
typedef struct
{
char_t name[FILE_NAME_SIZE];
uint32_t iblock; /* first block of file */
uint32_t modifiedTime;
uint32_t length;
uint8_t isDirectory;
uint8_t attributes;
uint8_t valid;
uint8_t mediaType;
uint16_t blockSize;
uint8_t pad1, pad2;
} OS_FileEntry_t;
here is what it should be, fits nicely in 32 byte chunk.
typedef struct
{
char_t name[19];
uint32_t iblock;
uint32_t modifiedTime;
uint32_t length;
uint8_t attributes;
} OS_FileEntry_t;
an entire byte to say its a directy? fuck that. use 1 bit into attributes. for emebdded filesystem you dont even need attributes really. padding? wtf. remove the padding and add them to the filename size. block size stored per file? thats some stupid ass design for an embedded filesystem. media type per file, where its defined as ram/flash/disk/unknown? throw this shit out.
why ? It seems to me you are thinking it is a filesystem for workstation: well, it's not!
you have infinite depth sub directories, file attributes, block size per file that can change, media types?
if my 64gb SD card wont work in your device, what good is it to me? do I have to go on ebay and buy some really old 256mb card?
i am looking for such a code to be put inside an fpga SoC and MPU.
if its going to be on removable media an user user is going to manage/insert into windows etc, usb key or something, it needs to handle >4gb, be readable on windows machine. proprietary FS wont cut it. 4gb max? not good enough.
if its a filesystem for your device that nobody will see, ie only your device sees it, all this complexity of multiple subdirectories, attributes, media types, all this bullshit is not required imo.
I knocked out a simple no nothing filesystem test.