6
945 Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna Mgr inż. Grzegorz MUCHA MUCHTECH WYKORZYSTANIE PLATFORMY FireMonkey W PROCESIE URUCHAMIANIA I TESTOWANIA UKŁADÓW MIKROPROCESOROWYCH Streszczenie: W referacie przedstawiono możliwości wykorzystania zintegrowanego środowiska programistycznego Embarcadero RAD Studio XE2 wraz z platformą komponentową FireMonkey w procesie uruchamiania i testowania złożonych układów mikroprocesorowych. USE OF FireMonkey PLATFORM DURING STARTUP AND TESTING OF MICROPROCESSOR SYSTEMS Abstract: The paper presents the possibilities of use Embarcadero RAD Studio XE2 IDE with the FireMonkey platform during startup and testing of complex microprocessor systems. 1. WPROWADZENIE Uruchamianie i testowanie złożonych układów mikroprocesorowych niejednokrotnie generuje potrzebę stworzenia programu (bądź całego pakietu programów), umożliwiającego weryfikację poprawności działania analizowanych modułów oraz zapewniającego sprawną, spełniającą wymagane reżimy czasowe rejestrację danych pomiarowych. Wykorzystywane do tworzenia takich aplikacji narzędzia programistyczne powinny cechować się dużą elastycznością, zapewniając szybkie tworzenie złożonych aplikacji, wizualne projektowanie ich interfejsów, sprawną realizację połączeń z usługami i bazami danych, a także dodatkową funkcjonalność, obejmującą m.in. automatyczną inspekcję kodu czy też zachowanie obowiązujących standardów kodowania (np. ANSI/ISO).Wymienione warunki spełniają zintegrowane środowiska programistyczne typu RAD (ang. Rapid Application Development), których sztandarowymi przedstawicielami są rozwijane od wielu lat pakiety firmy Embarcadero (wcześniej Borland i CodeGear) – C++ Builder oraz Delphi. W związku z udostępnieniem przez Embarcadero [9] najnowszych wersji tych środowisk (Embarcadero RAD Studio XE2, Embarcadero C++ Builder XE2 i Embarcadero Delphi XE2) wraz z nowo opracowaną platformą o nazwie FireMonkey, sprawdzono możliwość ich zastosowania do zadań związanych z uruchamianiem, testowaniem i współpracą z pomiarowymi systemami mikroprocesorowymi. Platforma komponentowa FireMonkey, stanowiąca integralny element środowisk programistycznych Embarcadero od wersji XE2, w sposób znaczący poszerza dotychczasową ofertę producenta, jest to bowiem pierwsze narzędzie przeznaczone do tworzenia zaawansowanych aplikacji biznesowych i naukowych, działających niezależnie od systemu

WYKORZYSTANIE PLATFORMY FireMonkey W PROCESIE …€¦ · i vcl_datareader.exe (rys. 3). W celu zapewnienia stabilności i powtarzalności pomiaru opracowano aplikację pelco_driver.exe

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: WYKORZYSTANIE PLATFORMY FireMonkey W PROCESIE …€¦ · i vcl_datareader.exe (rys. 3). W celu zapewnienia stabilności i powtarzalności pomiaru opracowano aplikację pelco_driver.exe

945

Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna Mgr inż. Grzegorz MUCHA MUCHTECH

WYKORZYSTANIE PLATFORMY FireMonkey W PROCESIE URUCHAMIANIA I TESTOWANIA

UKŁADÓW MIKROPROCESOROWYCH

Streszczenie: W referacie przedstawiono możliwości wykorzystania zintegrowanego środowiska programistycznego Embarcadero RAD Studio XE2 wraz z platformą komponentową FireMonkey w procesie uruchamiania i testowania złożonych układów mikroprocesorowych.

USE OF FireMonkey PLATFORM

DURING STARTUP AND TESTING OF MICROPROCESSOR SYSTEMS

Abstract: The paper presents the possibilities of use Embarcadero RAD Studio XE2 IDE with the FireMonkey platform during startup and testing of complex microprocessor systems.

1. WPROWADZENIE Uruchamianie i testowanie złożonych układów mikroprocesorowych niejednokrotnie generuje potrzebę stworzenia programu (bądź całego pakietu programów), umożliwiającego weryfikację poprawności działania analizowanych modułów oraz zapewniającego sprawną, spełniającą wymagane reżimy czasowe rejestrację danych pomiarowych. Wykorzystywane do tworzenia takich aplikacji narzędzia programistyczne powinny cechować się dużą elastycznością, zapewniając szybkie tworzenie złożonych aplikacji, wizualne projektowanie ich interfejsów, sprawną realizację połączeń z usługami i bazami danych, a także dodatkową funkcjonalność, obejmującą m.in. automatyczną inspekcję kodu czy też zachowanie obowiązujących standardów kodowania (np. ANSI/ISO).Wymienione warunki spełniają zintegrowane środowiska programistyczne typu RAD (ang. Rapid Application Development), których sztandarowymi przedstawicielami są rozwijane od wielu lat pakiety firmy Embarcadero (wcześniej Borland i CodeGear) – C++ Builder oraz Delphi. W związku z udostępnieniem przez Embarcadero [9] najnowszych wersji tych środowisk (Embarcadero RAD Studio XE2, Embarcadero C++ Builder XE2 i Embarcadero Delphi XE2) wraz z nowo opracowaną platformą o nazwie FireMonkey, sprawdzono możliwość ich zastosowania do zadań związanych z uruchamianiem, testowaniem i współpracą z pomiarowymi systemami mikroprocesorowymi. Platforma komponentowa FireMonkey, stanowiąca integralny element środowisk programistycznych Embarcadero od wersji XE2, w sposób znaczący poszerza dotychczasową ofertę producenta, jest to bowiem pierwsze narzędzie przeznaczone do tworzenia zaawansowanych aplikacji biznesowych i naukowych, działających niezależnie od systemu

Page 2: WYKORZYSTANIE PLATFORMY FireMonkey W PROCESIE …€¦ · i vcl_datareader.exe (rys. 3). W celu zapewnienia stabilności i powtarzalności pomiaru opracowano aplikację pelco_driver.exe

946

operacyjnego użytkownika. W wersji XE2 umożliwia ono generowanie oprogramowania natywnego na podstawie jednego, wspólnego kodu źródłowego (C/C++ lub Delphi), przeznaczonego do uruchamiania w środowiskach operacyjnych Microsoft Windows oraz Apple Macintosh OS X, a także na platformach przenośnych działających pod kontrolą systemu operacyjnego iOS. Bardziej szczegółowe omówienie platformy FireMonkey zawarto w pracy [6].

Rys. 1. Główne okno środowiska Embarcadero RAD Studio XE2 [9] 2. PRZYKŁAD ZASTOSOWANIA PLATFORMY FireMonkey W PROCESIE TESTOWANIA UKŁADÓW MIKROPROCESOROWYCH Aplikacje testowe (por. rys. 2 i 3)napisano z wykorzystaniem narzędzi udostępnianych przez środowisko Embarcadero C++Builder XE2. Pakiet ten, korzystając z funkcjonalności udostępnianej przez platformę FireMonkey oraz bibliotekę komponentów VCL, wspomaga m.in. szybkie tworzenie atrakcyjnych graficznie aplikacji w języku C++ dla systemów operacyjnych rodziny Microsoft Windows (tylko w wersji 32-bitowej dla wydania XE2).

Page 3: WYKORZYSTANIE PLATFORMY FireMonkey W PROCESIE …€¦ · i vcl_datareader.exe (rys. 3). W celu zapewnienia stabilności i powtarzalności pomiaru opracowano aplikację pelco_driver.exe

947

Rys. 2. Aplikacja testowa korzystająca z platformy komponentowej FireMonkey [1]

Rys. 3. Aplikacja testowa zbudowana w oparciu o komponenty biblioteki VCL [2] Do testów możliwości oprogramowania wykorzystano płytkę ewaluacyjną STM3210E-EVAL z mikrokontrolerem STM32F103 (ST Microelectronics), sprzęgniętą z czujnikiem

Page 4: WYKORZYSTANIE PLATFORMY FireMonkey W PROCESIE …€¦ · i vcl_datareader.exe (rys. 3). W celu zapewnienia stabilności i powtarzalności pomiaru opracowano aplikację pelco_driver.exe

948

ADIS16375 (Analog Devices). Wybór mikrokontrolera i sensora został podyktowany docelowym przeznaczeniem projektowanego układu. ADIS16375 to zintegrowany czujnik przyspieszenia oraz żyroskop o sześciu stopniach swobody. Zakres pracy przyspieszeniomierzy wynosi ±18 g dla wszystkich osi, zaś zakres pracy giroskopów –±300°/s. Czujnik, na podstawie danych z przetworników AC, zapewnia możliwość odczytu kąta i prędkości, ponadto zaś – temperatury (w zakresie od –40°Cdo +85°C). Mikrokontroler STM32F103 jest układem wyposażonym w 32-bitowy procesor ARM Cortex-M3 o architekturze RISC oraz szereg interfejsów komunikacyjnych. W czasie uruchamiania czujnika wykorzystano peryferia komunikacyjne SPI oraz USART. Interfejsu SPI użyto do odbierania danych z czujnika ADIS16375, natomiast komunikację z komputerem PC zrealizowano poprzez USART. Testy przeprowadzono przy wykorzystaniu stolika obrotowego MG-TC 2636B, umożliwiającego wykonywanie obrotu mikroprocesorowego układu pomiarowego w poziomie (bez ograniczeń) oraz w pionie (w zakresie ±90°).Dane pomiarowe wystawiane przez mikroprocesorowy układ pomiarowy z czujnikiem ADIS-16375 przesyłano z różnymi prędkościami do komputera PC – za pośrednictwem interfejsu RS232 oraz konwertera tworzącego w systemie wirtualny port COM – następnie zaś wizualizowano i zapisywano na dysku w formacie CSV za pomocą programów testowych firemonkey_datareader.exe (rys. 2) i vcl_datareader.exe (rys. 3). W celu zapewnienia stabilności i powtarzalności pomiaru opracowano aplikację pelco_driver.exe (rys. 4)wraz z mikroprocesorowym układem sterowania stolikiem, komunikującym się z urządzeniem MG-TC 2636B poprzez interfejs RS232/RS485 i protokół PELCO-D. Schemat układu pomiarowego przedstawiono na rys. 5.

Rys. 4. Program sterujący stolikiem obrotowym MG-TC 2636B [3]

Page 5: WYKORZYSTANIE PLATFORMY FireMonkey W PROCESIE …€¦ · i vcl_datareader.exe (rys. 3). W celu zapewnienia stabilności i powtarzalności pomiaru opracowano aplikację pelco_driver.exe

949

Rys. 5. Schemat układu pomiarowego do testowania możliwości platformy komponentowej FireMonkey

3. PODSUMOWANIE Platforma FireMonkey to ciekawe rozwiązanie, pozwalające na szybkie tworzenie aplikacji i ich kompilację dla kilku różnych systemów operacyjnych. Możliwość generowania programów przeznaczonych dla wielu systemów na podstawie jednego, wspólnego kodu źródłowego jest propozycją nowatorską, nie zmienia to jednak faktu, że w obecnym kształcie FireMonkey stanowi raczej nowinkę techniczną niż w pełni ukształtowany odpowiednik znanej od lat biblioteki VCL. Programy zaprojektowane w oparciu o platformę komponentową FireMonkey w wersji udostępnionej wraz z IDE XE2 – mimo zaprzęgnięcia do realizacji zadań obsługi grafiki procesora karty graficznej (GPU) – wykonywane są wyraźnie wolniej niż analogiczne aplikacje, napisane z wykorzystaniem komponentów biblioteki VCL. Jest to istotna wada, mogąca skutkować koniecznością rezygnacji z zastosowania omawianego rozwiązania w aplikacjach, w których kluczową rolę odgrywa ścisłe wypełnianie nałożonych reżimów czasowych. Nie jest to natomiast czynnik istotny w przypadku programów, wobec których warunek pracy w trybie czasu rzeczywistego (bądź zbliżonym do czasu rzeczywistego) nie musi być zachowany.

Page 6: WYKORZYSTANIE PLATFORMY FireMonkey W PROCESIE …€¦ · i vcl_datareader.exe (rys. 3). W celu zapewnienia stabilności i powtarzalności pomiaru opracowano aplikację pelco_driver.exe

950

Wdrożenie zapowiadanych w wersji XE3 zmian, obejmujących m.in. optymalizację kodu, poprawę stabilności, wsparcie dla systemów operacyjnych rodziny Linux oraz wprowadzających nowe, napisane od podstaw, 32- i 64-bitowe kompilatory języka C++, w znaczący sposób zwiększy możliwości platformy FireMonkey w zakresie realizacji specjalistycznego oprogramowania naukowego. Tworzenie aplikacji dedykowanych do współpracy z układami mikroprocesorowymi to zagadnienie złożone, stanowiące sprawdzian wiedzy elektronicznej i informatycznej. Dobór odpowiednich narzędzi programistycznych w istotny sposób wpływa na czas i skuteczność realizacji postawionych zadań. Nowoczesne pakiety środowisk programistycznych typu RAD oferowane przez Embarcadero zapewniają szerokie wsparcie realizacji projektów informatycznych, pozostawiając programistom wybór platformy komponentowej – uzależniony od docelowego przeznaczenia aplikacji. LITERATURA [1] Bużantowicz W.: program firemonkey_datareader.exe, WAT, Warszawa 2012. [2] Bużantowicz W.: program vcl_datareader.exe, WAT, Warszawa 2012. [3] Bużantowicz W.: program pelco_driver.exe, WAT, Warszawa 2012. [4] Daniluk A.: RS-232C – praktyczne programowanie, Helion, Gliwice 2007. [5] Paprocki K.: Mikrokontrolery STM32 w praktyce, BTC, Legionowo 2009. [6] Warchulski J., Warchulski M., Bużantowicz W.: Wykorzystanie platformy FireMonkey

do automatyzacji zadań grafiki w programie AutoCAD, materiały konferencyjne, XVI Międzynarodowa Szkoła Komputerowego Wspomagania Projektowania, Wytwarzania i Eksploatacji, Jurata 2012.

[7] www.analog.com [8] www.apple.com/pl/macosx/ [9] www.embarcadero.com [10] www.st.com