Freescale Tower: nowatorski zestaw uruchomieniowy

MQX-RTOS wyposażono w intuicyjny interfejs programistyczny (API), który w połączeniu z modularną budową systemu umożliwia bezproblemowe wykorzystanie jego możliwości i dostosowanie jego konfiguracji do potrzeb aplikacji i możliwości wybranego mikrokontrolera. MQX-RTOS jest standardowo wyposażony w funkcje WebServera, obsługę Telnetu, FTP, SMTP, procedury kryptograficzne i inne.
Atutem MQX-RTOS jest możliwość selektywnego dołączania modułów niezbędnych w tworzonej aplikacji, bez obciążania pamięci i rdzenia mikrokontrolera zadaniami niezwiązanymi bezpośrednio z realizowanymi zadaniami. Dzięki temu wygoda programisty nie wiąże się z niekontrolowanym rozrostem kodu wynikowego projektu – w skrajnym przypadku MQX może zajmować tylko 6 kB pamięci Flash, w czym mieszczą się: kernel, systemy obsługi przerwań i semaforów, kolejki oraz menadżer pamięci.

 

Rys. 9. Budowa MQX RTOS

Rys. 9. Budowa MQX RTOS

 

Warstwa programowa systemu (rys. 9) odpowiadająca ze obsługę peryferiów składa się z zestawu sterowników. Sterownik jest to program, który konfiguruje urządzenie peryferyjne oraz udostępnia zestaw funkcji (lokalne API) niezbędnych do wykorzystania możliwości przypisanego urządzenia w aplikacji. Wyodrębnienie sterowników jako niezależnego elementu systemu operacyjnego jest spowodowane specyfiką ich wykorzystania: każde zadanie (aplikacja) może wykorzystywać dane urządzenie peryferyjne do własnych celów. Korzystając z uniwersalnych sterowników unikamy wielokrotnego konfigurowania tych urządzeń, a także konfliktów związanych z dostępem do urządzeń oraz obsługą zgłaszanych przez nie błędów. System MQX umożliwia tworzenie własnych sterowników przez programistów.
Najpopularniejsze peryferia, dla których sterowniki zawarto w MQX to: UART, SPI, I2C, FlexBus, moduł RNG, pamięć Flash oraz linie GPIO. Przykładem specyficznego sterownika stosowanego w systemie MQX jest obsługa systemu plików MFS (MSDOS File System), który obsługuje standartowe systemy plików FAT12, FAT16 oraz FAT32. Sterownik MFS zawiera zestaw sterowników niższego poziomu, przeznaczonych do obsługi różnych mediów, np.: dysku Flash, stacji dyskietek, pamięci Flash USB, kart SD itd. We współczesnych aplikacjach dużą rolę odgrywa interfejs USB, którego sterownik jest także standardowym elementem systemu MQX. Obsługuje on interfejs USB w trybie host (z obsługą urządzeń klasy HID (myszy, klawiatury), MSD (dyski Flash), HUB oraz CDC (komunikacja szeregowa). Obsługiwany jest także tryb USB device, w ramach którego obsługiwane są urządzenia należące do klas: HID, CDC, PHDC (Personal Health Core Device Class) oraz MSD. Standardowym elementem systemu MQX jest stos TCP/IP czasu rzeczywistego o nazwie RTCS. Zastosowano w nim standardowy mechanizm interfejsu opartego na gniazdach (sockets), zapewnia on obsługę wielu protokołów (m.in. Telnet serwer i klient, FTP serwer i klient, agent SNMP, klient SNTP, DNS Resolver, serwer i klient DHCP itp.).
Stos RTCS jest skalowalny zarówno podczas kompilacji aplikacji jak i w czasie działania. Programista może wybrać implementację tylko tych protokołów, które są w aplikacji wykorzystywane. Implementacja stosu RTCS jest wspomagana przez środowisko programistyczne CodeWarrior, dzięki czemu podczas uruchamiania i śledzenia wykonywania programu można monitorować stan obciążenia CPU i pamięci mikrokontrolera przez protokół sieciowy.
Konfiguracja stosu RTCS jest niezależna od wybranego do mikrokontrolera, co umożliwia m.in. łatwą integrację bibliotek udostępnianych przez partnerów zewnętrznych. Modułowa budowa stosu umożliwia ich łatwą i wygodną inicjalizację i stosowanie.

O autorze