logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Prosty system plików do mikrokontrolerów ATMega i karty microSD - alternatywy dla FatFS

Pocieszny 31 Maj 2016 10:47 996 4
REKLAMA
  • #1 15711037
    Pocieszny
    Poziom 38  
    Szukam jakiegoś bardzo prostego systemu plików do użycia z mikrokontrolerami ATMega i kartą pamięci microSD. Nie musi on być obsługiwany przez komputer PC. Potrzebny będzie odczyt, zapis, tworzenie i usuwanie plików. FatFS jest fajny, ale trochę zasobożerny. PetitFS za to nie obsługuje zapisu i tworzenia plików. Zapewne ktoś doradzi mi, żebym sam napisał. Tak pewnie zrobię jeżeli nic pasującego nie znajdę, ale nie chcę ponownie wynajdywać koła jeżeli nie muszę ;)

    Moim celem jest zwiększenie dostępnej przestrzeni do zapisu danych, gdyż EEPROM mi nie wystarcza. Oczywiście mógłbym użyć karty jako ciągu bajtów, ale przy takiej ilości danych nawet najprostszy system plików byłby dużym udogodnieniem.
  • REKLAMA
  • #2 15711085
    grko
    Poziom 33  
    To może określ jaki typ zapisu będziesz chciał robić (ile bajtów oraz jak często). Daj jeszcze informację ile zasobów posiadasz.
  • REKLAMA
  • #3 15711145
    Pocieszny
    Poziom 38  
    Używam ATMega644, ale wykorzystuję około 70% RAM, dlatego szukam mało wymagającego kodu. Zapis nie będzie częsty - raz na długi czas zostaną tam zapisane dane odebrane przez moduł wifi. Będą to ciągi znaków po kilkaset bajtów. Odczyt - kilka razy na minutę.
  • REKLAMA
  • #4 15712578
    tmf
    VIP Zasłużony dla elektroda
    @Pocieszny W przykładach do książki "AVR. Układy peryferyjne" znajdziesz przykład prostego FS, działającego z pamięciami SPI, ale także da się go dostosować do kart SD. Wrzuciłem tam cały rozdział "Rozdział 24. Budujemy system plików" - także szukaj w przykłądach do tego rozdziału. Jest to co prawda opisane dla XMEGA, ale poza samym stykiem z SPI, reszta kodu jest uniwersalna. Niestety proste FSy bez FAT, kiepsko działają jeśli kasujesz pliki - robią się dziury, których zapełnienie jest czasochłonne (wymaga przesunięcia dużych bloków danych), lub dochodzi do fragmentacji. Ale niekoniecznie jest to problemem.
  • #5 15712706
    grko
    Poziom 33  
    @Pocieszny
    Możesz użyć tego PetitFS. Stworzyłbym na Twoim plik pod windowsem o odpowiednim rozmiarze i do niego zapisywał te dane z wifi. Jak zapiszesz cały plik to po prostu ustawiłbym się na początek pliku spowrotem. W ten sposób zawsze działasz w jakimś standardzie oraz w łatwy sposób możesz odczytać kartę na PC.
REKLAMA