Implementacja FAT12/16 na uC

Witam!

Projektuje aktualnie pewne urządzenie. Musze w nim zapewnić dużą ilość pamieci do zapisu danych pomiarowych na przestrzeni wielu dni. Oczywistym wyborem będą jakieś karty Flash (zapewne MMC ze względu na w miarę wygodny interfejs).

Wacham sie aktualnie nad spodobem zapisu danych i mam do wyboru dwie opcje:

  1. Zapis "raw" - ładuje dane pomiarowe bezpośrednio w pamięć flash bajt za bajtem. Zaletą jest oczywoście prostota. Wadą jest kłopot z odczytem poza urządzeniem.

  1. Zapis filesystemem. Zakładając że docelowo karta będzie czytana w Win należało by chyba zmontować filesystem na jakiejś odmianie FAT. I tu jest problem - muszę po pierwsze ją napisać lub znaleźć gotową. Niestety aplikacja jest komercyjna wiec automatycznie odpada mi GPL i szukam czegoś na LGPL/podobnej. Ponadto ostatnio M$ zaczyna się upominać o opłaty licencyjne ...

W zasadzie system plików FAT byłby mi tylko potrzebny do jednego - łatwości przerzucania do win danych pomiarowych. Jednak zastanawia mnie, czy mozna w windowsie w sposób wygodny czytać taką kartę bajt po bajcie / sektor po sektorze. Jeśli by się dało, to implementacja systemu plików okazała by się niepotrzebna.

A może jakiś inny filesystem pozbawiony licencji M$ i łatwy w implementacji ? (i czytający się pod Win ... - tylko nie Joilet/ISO :)

Potrzebuje zapisywać około paru MB danych w jednym pliku ze stałym skokiem między kolejnymi wpisami (choć nie będącym wielokrotnością 2^x bajtów ...).

Pozdrawiam.

Reply to
Sebastian Bialy
Loading thread data ...

Użytkownik Sebastian Bialy napisał:

(...)

Trzeba by napisać sterownik dla systemy Windows do takiego użądzenia i nie musisz się bawić z systemem plików FAT a którmy najwiecej informacji znajdziesz na stronach projektów odtwarzaczy MP#.

Reply to
Maksymilian Dutka

Zdecydowany problem, bo jak to odczytac .. pod roznymi systemami ?

Masz jeszcze mozliwosc posrednia - niby FAT, ale ograniczasz sie do jednego pliku. Po wsadzeniu karty mozesz ja "zaformatowac" wpisujac dane od boot rekordu, przez FAT z sekwencja 2,3,4,... po katalog z jednym plikiem .. a potem tylko wpisujesz dane do kolejnych sektorow, a na koniec dlugosc pliku.

W Polsce nie ma podstaw. W UE prawdopodobnie tez nie. W Rosji i okolicach tez chyba nie.

A czemu nie ? Tylko czy driver to udostepni windowsowi jako dysk ?

J.

Reply to
J.F.

Sebastian Bialy napisał(a):

a moze jakis linuksowy system? dokladniej jest poopisywany...

ewentualnie w yamp'ie chyba jest zaimplementowane fat??? bo przeciez jakos te mp3 sa odczytywane i zapisywane na nosnik:)

Reply to
"Przemcio Ż."
[.....]

W UE również nie ma patentów na algorytmy/oprogramowanie aczkolwiek to może ulec zmianie. Chociaż IMO obecny stan zostanie utrzymany.

Ja w każdym bądź razie do Stanów się nie wybieram ze względu na kawałek kodu który parę lat temu opublikowałem. :-)

Regards, /J.D.

Reply to
Jan Dubiec

Czy widziałeś kiedyś przykład sterownika bajt po bajcie/sektor po sektorze dla win ? Tzn interesuje mnie czy w ogóle jest potrzebny taki sterownik do windowsa, wydaje mi się, że majac odpowiednie prawa każdy program powinien dać radę majstrowac po sektorach każdego dysku.

Reply to
Sebastian Bialy

Pod _innymi_ niż windows zapewne bym się w ogóle nie zastanawiał. Wszystko pochodne od unixa ma to rozwiązane w sposób oczywisty i jasny - jako pliki w /dev.

Hmm na razie nie ma podstaw. Obawiam się co się stanie, gdy podstawy się pojawią. Z resztą nie mogę wykluczyć rynku US tak od razu.

Hmm no własnie ... ;) Licze na to że ISO nie jest objęty jakimś idiotycznym patentem ale z drugiej strony robienie z MMC CD-ROMa jest lekkim przegięciem ...

Reply to
Sebastian Bialy

Gdybym robił dla siebie nie było by kłopotu. Ale ja to robie dla ludzi, którzy Linuxa na oczy nie widzieli. Musi być czytalny w win. A to chyba ogranicza mnie do FAT,ISO,NTFS (to dopiero byłby kłopot).

Implementacja w yampie jest na licencji GPL. A ja nie mogę z niej skorzystać. Musiałbym mieć LGPL.

Reply to
Sebastian Bialy

Jesli mozesz karte podlaczyc poprzez jakis interfejs - np. RS232(wolny) lub lpt to z odczytem raw nie bedziesz mial zadnych problemow. Wada - koniecznosc konstrukcji interfejsu MMC<->port.

Zobacz tak jak ci radzono yamppa, ew. przejrzyj sterowniki FAT do linuxa. To, ze sa na GPLu nie implikuje, ze korzystajacy z nich soft musi byc na GPLu (mowiac zartobliwie GPL nie jest zarazliwe). Po prostu jesli je zmodyfikujesz to musisz je udostepnic w postaci zrodlowej, natomiast reszta programu moze byc closed source.

Windows nie obsluguje za wiele systemow plikow:( Zakladam, ze NTFS cie nie interesuje ;)

Reply to
T.M.F.

Swoja droga ciekawe - patenty maja ~15lat, msdos jest starszy :-)

No, to nie jest takie pewne. Modemowy standard V.34 zawieral patentow cos kilkanascie, z roznych firm.

A czemu ?

J.

Reply to
J.F.

Coś czuje, że czeka mnie dłubanie w google. Ale znając życie i tak nie znajdę firmy z jakiegoś zadupia US która ma patent na 8 bitów w bajcie :/

Zawsze twierdziłem, że patenty utrudniają postęp ;)

Ciekawy jestem jak zareaguje windows widząc "nie cd" z filesystemem cd. Muszę zrobić jakiś eksperyment, typu partycja z filesystemem ISO i czy windows ją zobaczy. O ile w ogóle ISO można wrzucić na zwykłą partycję. No i ISO chyba jest dośc kłopotliwy w zapisie, to chyba było projektowane jako tylko do odczytu ?

Reply to
Sebastian Bialy

Wydaje mi sie ze MS ma patent na FAT 32, albo na dlugie nazwy w facie..

Pewnie nie. Ale czy nie da sie zadeklarowac tego urzadzenia jako "cd" ? nagrywarki usb istnieja..

Tak mi sie cos kojarzy ze tam po prostu kazdy plik musi zajmowac ciagly obszar. Co utrudnia/uniemozliwia skasowanie jednego pliku z wielu i zapisanie nastepnego. Ale w twoim przypadku to nie powinien byc problem. No i obszar "katalogu" - chyba zawsze ~20MB, duze marnotrawstwo.

Natomiast .. wydaje mi sie ze kiedys widzialem jakis w miare "normalny" filesystem na CD-RW, bodajze 512MB zostawalo ..

J.

Reply to
J.F.

On Behalf Of Mister

Na WinNT4 też?

pzdr Artur

Reply to
ziel

Użytkownik Sebastian Bialy napisał:

Niestety bez pisania sterownika się nie obejdzie (tylko aplikacja tego typu ma bezpośredni dostęp do sprzętu), chodź ten sterownik będzie znacznie łatwiej napisać jeśli będzie do pośderniczenia sprzęt<->program obrabiający dane z karty. Bardziej złożonym wariantem będzie napisanie sterownika który pozwoli na dostęp do karty jak do napędu.

Reply to
Maksymilian Dutka

Urządzenie musi pracować bez komputera. Zupełnie autonomicznie przez pare dni.

Reply to
Sebastian Bialy

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.