eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaObsługa kart SDHC przez uC który pracował z kartami SD 512MRe: Obsługa kart SDHC przez uC który pracował z kartami SD 512M
  • Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.wp.pl!not-for-mail
    From: Adam Dybkowski <a...@4...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Obsługa kart SDHC przez uC który pracował z kartami SD 512M
    Date: Sun, 05 Jul 2009 22:13:03 +0200
    Organization: Wirtualna Polska S.A. http://www.wp.pl
    Lines: 61
    Sender: a...@a...neoplus.adsl.tpnet.pl
    Message-ID: <h2r1gd$cfj$1@news.wp.pl>
    References: <9...@h...googlegroups.com>
    <h2ip90$s4s$1@nemesis.news.neostrada.pl>
    <b...@x...googlegroups.com>
    <h2itc3$s4d$1@atlantis.news.neostrada.pl> <h2j5b1$bmh$1@achot.icm.edu.pl>
    <0...@4...com>
    <h2o7rn$66l$1@nemesis.news.neostrada.pl> <h2o98c$5a7$1@achot.icm.edu.pl>
    <h2obl2$dpl$1@news.mm.pl> <h2ocj8$850$1@achot.icm.edu.pl>
    <h2oe9g$q3q$1@news.wp.pl> <h2of2l$aak$1@achot.icm.edu.pl>
    <h2on9u$1tl$1@news.wp.pl> <h2pkh3$vc2$1@achot.icm.edu.pl>
    <h2qu7l$a89$1@news.wp.pl> <h2qvb0$97q$1@achot.icm.edu.pl>
    NNTP-Posting-Host: aelm180.neoplus.adsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: 8bit
    X-Trace: news.wp.pl 1246824782 12787 79.191.38.180 (5 Jul 2009 20:13:02 GMT)
    X-Complaints-To: a...@w...pl
    NNTP-Posting-Date: Sun, 5 Jul 2009 20:13:02 +0000 (UTC)
    X-Organization-Notice: Organization line has been filtered
    In-Reply-To: <h2qvb0$97q$1@achot.icm.edu.pl>
    User-Agent: Thunderbird 2.0.0.22 (Windows/20090605)
    X-Original-Organization: Wirtualna Polska S.A. http://www.wp.pl
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:566824
    [ ukryj nagłówki ]

    Sebastian Biały pisze:

    >> Sama obsługa FATu nie wprowadza żadnych działań blokujących (tzn.
    >> pollingu / aktywnego oczekiwania na cośtam)
    >
    > Przy dwoch watkach piszących do różnych plików wymaga przynajmniej
    > muteksowania na poziomie allokacji sektorów/blokow/clusterów. Moj
    > multitasking jest preemptive więc takie problemy sa niestety do obejścia.

    Eee tam, wystarczy założyć semafor na dostęp do całego systemu plików i
    już po kłopocie. Czyli tylko jeden wątek w danej chwili będzie mógł
    siedzieć w środku funkcji czytającej/piszącej/kasującej plik. To
    upraszcza znacząco zarządzanie kontekstem systemu plików. Bo nawet przy
    całkowicie równolegle działających funkcjach operacji na plikach i tak
    musiałbyś poczekać na dostęp przez SPI (czyli udostępnienie innego
    semafora).

    >> czyli SPI realizuje operacje długotrwałe, wymagające poczekania na
    >> odczyt danych czy skasowanie bloku. Jeżeli podczepisz swoją obsługę SPI
    >> i wywłaszczanie (przy długotrwałych operacjach pamięciowych jak
    >> poszukiwanie czegośtam w indeksach) to nie widzę problemu.
    >
    > Prawie wszystkie widziane przeze mnie FATy (i komunikacje po SPI) na uC
    > były pisane kompletnie bez możliwości wzbogacenia ich o warstwe
    > synchronizacji bo z definicji były jednowątkowe albo pracowały w jakimś
    > cooperative multitaskingu. Dlatego bede zmuszony wynaleźć koło na nowo.

    Po opakowaniu takiego najprostszego "jednowątkowego" systemu plików w
    semafor otrzymujesz bardzo skuteczną synchronizację równoczesnych
    dostępów do plików przez różne wątki. Jedynie trzeba uważać (we własnych
    aplikacjach) aby nie robić zbyt dużych operacji naraz, np. zapisywać
    wielomegowy plik kawałkami a nie jednym wywołaniem funkcji write.

    > PS. O ile FAT jeszcze da się muteksowac, to np. SPI byc może wymagać
    > będzie asynchronicznego I/O bo np. trudno muteksowac jakiś watek na czas
    > wrzucania framebuffera do LCD, lepiej żeby w tym czasie _mógł_ coś zrobić.

    LCD masz na SPI? W takim wypadku oczywiście przydałoby się zrobić
    chociaż asynchroniczne zapisy. Albo wyodrębnić demona wysyłającego ekran
    po kawałku "w tle", bo nie będzie blokować głównego zadania
    zainteresowanego rysowaniem. A "po kawałku" ze względu na współdzielenie
    magistrali SPI i nieblokowanie na zbyt długi czas np. dostępów do karty SD.

    >> A zdecydowanie najlepiej (jeżeli jest taka możliwość) nie używać FAT
    >> tylko przejść na inny system plików.
    >
    > Powiedź to marketoidom z Microsoftu. Na razie mam goowniany FAT,
    > zamknięty NTFS i Readonly ISO. Niestety docelowo karty SD beda
    > obsługiwać niepelnosprytni.

    Myślałem wcześniej, że karta SD to tylko lokalny nośnik danych, nie
    przekładany z urządzenia do komputera. No ale jeżeli masz takie
    potrzeby, to rzeczywiście FAT nie ominiesz. Chociaż, w zależności od
    wersji Windows, w której to ma być czytane, możesz rozważyć exFAT:
    http://pl.wikipedia.org/wiki/ExFAT

    --
    Adam Dybkowski
    http://dybkowski.net/

    Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: