-
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.
Następne wpisy z tego wątku
- 05.07.09 20:28 Sebastian Biały
- 05.07.09 20:48 T.M.F.
- 05.07.09 20:54 Sebastian Biały
- 05.07.09 21:43 T.M.F.
- 05.07.09 22:06 Sebastian Biały
- 06.07.09 17:11 Zbych
Najnowsze wątki z tej grupy
- SEP 1 kV E
- Aku LiPo źródło dostaw - ktoś poleci ?
- starość nie radość
- Ataki hakerskie
- Akumulatorki Ni-MH AA i AAA Green Cell
- Dławik CM
- JDG i utylizacja sprzetu
- Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
Najnowsze wątki
- 2024-12-12 Warszawa => Administrator Bezpieczeństwa IT <=
- 2024-12-12 Ostrów Wielkopolski => Trener zespołu sprzedaży Call Center <=
- 2024-12-12 Kraków => Key Account Manager <=
- 2024-12-11 SEP 1 kV E
- 2024-12-11 DNS restrictions are on
- 2024-12-11 wielkie bu
- 2024-12-11 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-11 Aku LiPo źródło dostaw - ktoś poleci ?
- 2024-12-11 Warszawa => Specjalista Bezpieczeństwa Informacji <=
- 2024-12-11 Wrocław => Application Security Engineer <=
- 2024-12-11 Warszawa => Analyst in the Trade Development department (experience wi
- 2024-12-11 Lublin => Programista Delphi <=
- 2024-12-11 Motodziennik #305 Nowy ELEKTRYK za 350 złotych miesięcznie? Kreatywne kredytowanie problemów
- 2024-12-11 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-11 Katowice => Key Account Manager (ERP) <=