Wszyscy znają FatFs, jednak "małe" AVR'y posiadają za małe zasoby Flash'a i RAM'u aby go wykorzystać. Na podstawie FatFs powstał Petit FAT http://elm-chan.org/fsw/ff/00index_p.html. Jest to okrojona wersja do minimum projektu FatFs.
Biblioteka z funkcją tylko do odczytu potrzebuje około 1,7kB Flash oraz 44B RAM'u w przypadku skierowania strumienia danych NIE DO TABLICY.
Poniżej prosty opis imlpementacji projektu.
Wszystkie podstawowe informacje autor umieścił na stronie. Gdyby pojawiły się pytania dotyczące implementacji z Petit FAT , proszę pisać, postaram się na wszystkie odpowiedzieć.
Sciągamy sobie projekt: http://elm-chan.org/fsw/ff/pfsample.zip
w Katalogu avr jest gotowy projekt dla Attiny85. Po odpaleniu (bez żadnych zmian) wszystko się ładnie kompiluje
Ale chcemy tylko odczyt więc odhaczamy odpowiednie opcje w pff.h
W pliku main zostaje to co nas interesuje:
Wywalamy całego void main (void) i wklejamy stąd http://elm-chan.org/fsw/ff/pf/open.html
Kasujemy błędy
w
zamiast 0 można podać wskaźnik do bufora danych (wtedy dane nie będą trafiać do strumienia danych).
Pozostaje kwestia zmiany na np: Atmegę8, a jakby kto chciał to na Atmegę32, wszystko znajduje sie w pliku mmc.c
W plikach
Znajdują się już funkcje konfiguracyjne i komunikacyjne dla SPI i UART...ale myślę że to nie problem przerobić na inny model AVR'a?
Biblioteka z funkcją tylko do odczytu potrzebuje około 1,7kB Flash oraz 44B RAM'u w przypadku skierowania strumienia danych NIE DO TABLICY.
Poniżej prosty opis imlpementacji projektu.
Wszystkie podstawowe informacje autor umieścił na stronie. Gdyby pojawiły się pytania dotyczące implementacji z Petit FAT , proszę pisać, postaram się na wszystkie odpowiedzieć.
Sciągamy sobie projekt: http://elm-chan.org/fsw/ff/pfsample.zip
w Katalogu avr jest gotowy projekt dla Attiny85. Po odpaleniu (bez żadnych zmian) wszystko się ładnie kompiluje
Ale chcemy tylko odczyt więc odhaczamy odpowiednie opcje w pff.h
W pliku main zostaje to co nas interesuje:
Wywalamy całego void main (void) i wklejamy stąd http://elm-chan.org/fsw/ff/pf/open.html
Kasujemy błędy
w
do
res = pf_read(0, 512, &br); // Send data to the stream
while (res || br != 512); // Break on error or eof
zamiast 0 można podać wskaźnik do bufora danych (wtedy dane nie będą trafiać do strumienia danych).
Pozostaje kwestia zmiany na np: Atmegę8, a jakby kto chciał to na Atmegę32, wszystko znajduje sie w pliku mmc.c
W plikach
Znajdują się już funkcje konfiguracyjne i komunikacyjne dla SPI i UART...ale myślę że to nie problem przerobić na inny model AVR'a?
