Systemy uruchomieniowe embedded z Linuksem

| Automaticon 2013 Artykuły

Firma Ka-Ro Electronics wspólnie ze swoim dystrybutorem - firmą Glyn, przygotowała nowy zestaw ewaluacyjny, wykorzystujący wyświetlacz ze zintegrowanym panelem dotykowym multitouch. Współpracuje on z całą rodziną komputerów jednopłytkowych firmy Ka-Ro oraz wyświetlaczami TFT serii GET firmy EDT.

Systemy uruchomieniowe embedded z Linuksem

Rys. 1. Ka-Ro StarterKit

W rozwiązaniach embedded bazujących na układach z rdzeniem ARM coraz bardziej popularnym systemem staje się Linux. Nowy zestaw startowy firmy Ka-Ro ułatwia pracę i tworzenie oprogramowania z tym systemem operacyjnym. Dzięki obszernemu pakietowi wsparcia (m.in. sterowniki) rozwój aplikacji od strony hardware oraz software został skrócony do minimum.

W przeszłości w systemach embedded w ogóle nie stosowano systemów operacyjnych, tylko wykorzystywano własne oprogramowanie napisane w C lub asemblerze. W ostatnich latach na rynku pojawiły się wiele typów gotowych komputerów jednopłytkowych typu COM (Computer-on-Module) w bardzo przystępnych cenach i o dużej wydajności, która jeszcze niedawno była zbliżona do komputerów klasy PC.

Przez to stosowanie przez mniejsze firmy jako bazy stworzonego przez siebie systemu operacyjnego przestało być opłacalne. Lepszym wyjściem okazał się Linux, którego implementację dawniej ograniczały zasoby sprzętowe i wydajność, w nowych konstrukcjach ograniczenie to stało się już nieistotne.

Przykładem udanego połączenia w systemie embedded komputera jednopłytkowego z Linuksem jest nowy zestaw startowy firmy Ka-Ro Electronics (rys. 1) oraz seria komputerów jednopłytkowych. Przy dużej złożoności systemu zastosowanie gotowego systemu operacyjnego, jako bazy dla rozwijanego nowego produktu ma tę zaletę, że konstruktor- programista dostaje określone funkcjonalności w postaci gotowej.

Często dla samodzielnego opracowania takich funkcji brakuje zarówno czasu i fachowej wiedzy. Oczywistą i często chwaloną zaletą Linuksa jako bazy dla systemów embedded jest też kwestia kosztów wdrożenia - zarówno jądro systemu, jak i wszystkie inne potrzebne moduły zewnętrzne są dostępne bezpłatnie w ramach licencji open source.

Po dłuższej analizie nierzadko dochodzi się do wniosku, że wartość takiego oprogramowania może być liczona nawet w setkach tysięcy złotych. Powszechnie dostępne kody źródłowe umożliwiają dostosowanie oprogramowania do indywidualnych potrzeb oraz uniezależniają projektanta od konkretnego produktu.

Jednak sam system operacyjny nie stanowi gotowego produktu - liczy się połączenie sprzętu i oprogramowana w całość. Z pomocą dla konstruktorów wyszła firmy Ka-Ro Electronics oraz Glyn. Dostarczają one kompletny zestaw ewaluacyjny, zawierający wybrany komputer jednopłytkowy, pakiet oprogramowania oraz np. wyświetlacz z panelem pojemnościowym.

Poza tym firma Glyn prowadzi szereg cyklicznych szkoleń pomocnych w rozpoczęciu projektu z zestawem ewaluacyjnym firmy Ka-Ro. Do wyboru jest kilka różnych wersji w formie modułów: od TX28 (i.MX28 Freescale, ARM9 454 MHz) do TX6Q (i.MX 6Quad, 4×ARM Cortex-A9 1 GHz).

Zestaw startowy obsługuje wszystkie rodzaje komputerów jednopłytkowych firmy Ka-Ro serii TX oraz wyświetlaczy EDT o przekątnych od 3,5" do 7", w opcji bez panelu lub z dotykowym panelem rezystancyjnym/pojemnościowym. Zarówno komputery jednopłytkowe, jak i wyświetlacze EDT są zgodne pod względem wyprowadzeń dla różnych wersji. Pozwala to na szybkie wdrożenie do produkcji aplikacji o różnym stopniu zaawansowania, w zależności od aktualnych potrzeb.

Szybki start

Rys. 2. Moduł komputera jednopłytkowego firmy Ka-Ro

W obiegowej nomenklaturze konstruktorzy posługują się pojęciem Linux - systemu operacyjnego jako całością. Niemniej w zastosowaniach embedded składa się on z trzech głównych części: bootloadera, kernela ("jądra" systemu) oraz systemu plików wraz z aplikacjami użytkownika. Mówiąc ogólnie bootloader można porównać do BIOS-u w standardowych komputerach klasy PC.

Jego zadaniem jest inicjalizacja procesora oraz niektórych peryferii. Kernel z kolei jest kodem, który wywoływany jest przez bootloader i przyjmuje potem największy priorytet w systemie - to on ma bezpośredni dostęp do warstwy sprzętowej. Wszystkie aplikacje użytkownika pracują pod ścisłą kontrolą jądra systemu.

System plików to wszystkie komponenty potrzebne do prawidłowego działania systemu: biblioteki, wykonywalne pliki binarne, pliki urządzeń itp. Każda dystrybucja systemu Linux musi zawierać te składowe. Samodzielne przygotowanie i konfiguracja wszystkich tych komponentów wymaga szerokiej i fachowej wiedzy.

Ponadto każda platforma sprzętowa potrzebuje np. odpowiednich sterowników peryferii. Dlatego też firma Ka-Ro wprowadziła pojęcie Board Support Package - BSP. Obejmuje ono gotowy do użycia bootloader (U-Boot), kernel oraz drivery dla danej serii komputerów jednopłytkowych TX. Wszystkie te elementy są oferowane wraz z zestawem startowym firmy Ka-Ro Electronics.

Aby dodatkowo ułatwić konstruktorom wejście w Linuksa i platformy embedded Glyn rozpoczął współpracę z firmą Kernel Concepts. Od ponad 11 lat świadczy ona usługi wsparcia rozwojowego i technicznego dla Linux Embedded. Zestaw startowy z modułami TX28 oraz TX53 można dodatkowo wzbogacić o pakiet narzędzi wspomnianej firmy o nazwie "uCross".

Powstał on w celu zapewnienia maksymalnego skrócenia czasu wprowadzenia produktu na rynek, w szczególności aplikacji wykorzystujących wyświetlacz TFT oraz graficzny interfejs użytkownika. uCross jest więc uzupełnieniem BSP firmy Ka-Ro Electronics. BSP to części charakterystyczne dla hardware.

Wszystko, co wykracza poza to zapewnia uCross, a więc dopasowane do siebie komponenty takie jak toolchain dla docelowej platformy (bazujący na narzędziach GNU, jak GCC), SDK dla środowiska GUI, wsparcie dla GTK+, Qt, Qt/Embedded, FLTK i DirectFB, Root-Filesystem, Packet-Feeds (źródła dla prefabrykowanych pakietów binarnych, ponad 6000 dostępnych pakietów) i inne.

Oczywiście dla tego pakietu dostępne są cykliczne aktualizacje oraz wsparcie techniczne. Za pomocą znanego już środowiska programistycznego (IDE) i narzędziom do debugowania można w krótkim czasie opracować GUI dla urządzeń embedded. Kompilacja i linkowanie do systemu docelowego będzie znacznie uproszczone.

uCross jako produkt jest podzielony na pakiety i tak też jest zarządzany w systemie docelowym. Szczególnie praktyczna jest możliwość późniejszej aktualizacji "w polu" na bazie pakietów, zamiast kompletnych obrazów systemu plików.

Podsumowanie

Dla konstruktorów systemów embedded gotowe komputery jednopłytkowe mają wiele zalet. Nie muszą się oni martwić o projekt wielowarstwowej płytki PCB, kompletację komponentów takich jak mikrokontroler, pamięci itp., o późniejszą produkcję oraz długie terminy dostaw.

Zarówno produkty firmy Ka-Ro, jak i wyświetlacze firmy EDT dostępne są w ilościach detalicznych. Otwiera to dostęp do wyrafi nowanych technologii hobbystom, jak i firmom, nastawionym na serie produkcyjne wymagające szybkiego wdrożenia.

Glyn GmbH & Co. KG oddział w Polsce
www.glyn.pl

Zobacz również