Temat systemów specjalizowanych przyciąga coraz większą uwagę
zarówno użytkowników, jak
i konstruktorów. Sprzęt tanieje, ludzie są coraz bogatsi (w skali
indywidualnej), dlaczego więc nie stworzyć... urządzenia swoich
marzeń? :)
W tej serii artykułów postaramy się przedstawić w _bardzo ogólnym
zarysie_ fazy tworzenia tego typu urządzenia opartego na
Linuksie. Bliższe omówienie nie jest łatwe również z tego względu, że
jego charakter musiałby być ścisle związany z przeznaczeniem tego
urządzenia. A możliwości jest naprawdę wiele.
Przede wszystkim powinnismy podjąć decyzję odnośnie platformy i
sprzętu. Najłatwiej jest skorzystać z x86, ponieważ możemy sprawnie
opracować wersję systemu na własnym PC, eksperymentując z wersjami
umieszczonymi na wydzielonej partycji.
Jeśli chodzi o przechowywanie danych, mamy w zasadzie trzy
wyjścia. Pierwsze - wykorzystanie tradycyjnego dysku 2,5 cala,
prawdopodobnie odrzucimy w większosci wypadków. Tradycyjne dyski mają
tylko jedną zaletę: są tanie. Wydzielają jednak dużo ciepła,
są prądożerne, wrażliwe na wstrząsy, często hałasują i mają spore
rozmiary. Dlatego najczęściej spotykanym rozwiązaniem w urządzeniach
specjalizowanych jest pamięć Flash, czasem podłączana przez złącze
IDE. Bardzo ciekawym rozwiązaniem jest DiskOnChip firmy M-Systems,
współpracujący z odpowiednimi płytami głównymi. Najtańsze wersje
kosztują od $30-40 za 8-megabajtowy układ. Niestety, sterownik
produkowany przez M-Systems nie jest otwarty; istnieje co prawda
otwaty odpowiednik, ale jest wciąż w fazie beta, a jego wydajność jest
niższa od dostarczanego przez M-Systems.
Bardzo interesująca jest też oferta firmy PQI, i to nie tylko ze względu na stosunek
jakości do ceny, oraz SanDisk.
Pozostale elementy dobieramy według potrzeb projektu. Zazwyczaj tego
typu urządzenia produkowane są przez firmy na skalę masową; aby być
konkurencyjną, firma musi stworzyć produkt atrakcyjny zarówno pod
względem ceny, jak i możliwości. Dlatego próbuje się za wszelką cenę
onbiżyć koszty szukając nowych rozwiązań sprzętowych i optymalizując
oprogramowanie. Tworząc urządzenie dla siebie nie musimy koniecznie
przejmować się każdym megabajtem. Przykładowo - mając do wyboru
wyswietlacz LCD bez podświetlania za $20 i z podświetlaniem za $30,
prawdopododobnie zdecydujemy się na ten drugi, zwłaszcza w sytuacji,
kiedy jest to niezbędne (samochodowa odtwarzarka mp3/radio).
Rozglądając się za płytami głównymi warto zwrócić uwagę na PC/104, de
facto standard dla urządzeń specjalizowanych zbudowanych na bazie
PC. Nie, nie jest to rozwiązanie najtańsze, ale wspierane przez wielu
producentów.
Następna sprawa to oprogramowanie. Pamiętacie aferę z urządzeniem
AOL(Gateway Touch Pad)? AOL skorzystała z dedykowanej dystrybucji
tworzonej przez Transmetę -
Midori Linux. Istnieje kilka dystrybucji przeznaczonych dla
embedded Linux; o wartości każdej z nich nie decyduje - jak w
przypadku popularnych "mogę więcej", ale "pożeram mniej". Możemy też
skorzystać z dodatku do książki "Embedded Linux" -
Embedded Linux Workshop.
Jeśli decydujemy się na samodzielne rozwiązanie, naszym celem jest
maksymalne odchudzenie systemu: począwszy od jądra, poprzez usługi, a
skończywszy na bibliotekach i zwykłych aplikacjach. Pod nóż pójdzie
również swap. Proces przygotowywania oprogramowania w dużej mierze
przypomina tworzenie minidystrybucji, z tą różnicą, że znając przeznaczenie
projektu, nie musimy martwić się o obsługę wielu różnych urządzeń.
Ale o tym - w następnej części :)
|