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 🙂
Archiwalny news dodany przez użytkownika: arturs.
Kliknij tutaj by zobaczyć archiwalne komentarze.

Oznaczone jako → 
Share →