Tworzenie oprogramowania dla systemów wbudowanych
Transkrypt
Tworzenie oprogramowania dla systemów wbudowanych
Tworzenie oprogramowania dla systemów wbudowanych Cel i zakres ćwiczenia: Eclipse to wolne oprogramowanie napisane w języku Java stanowiące platformę do tworzenia aplikacji. Na jej bazie powstało zintegrowane środowisko programistyczne do tworzenia programów w różnych językach - przede wszystkim Java oraz C/C++. Projekt został stworzony przez firmę IBM, a następnie udostępniony na zasadach otwartego oprogramowania. W chwili obecnej jest on rozwijany przez Fundację Eclipse. Celem ćwiczenia jest zapoznanie ze sposobem instalacji i konfiguracji środowiska Eclipse do pracy z cross-kompilatorem oraz zapoznanie ze sposobem konfiguracji Eclipse do uruchamiania i debugowania aplikacji bezpośrednio na urządzeniu wbudowanym. Sposób wykonania ćwiczenia: 1. Zainstaluj wersję Linuksową Eclipse dla programistów C/C++.. sudo aptget install eclipsecdt 2. W katalogu domowym utwórz katalog openwrtsdk i przejdź do tego katalogu. 3. Pobierz archiwum OpenWrt-SDK przeznaczone na platformę raspberry pi 2. wget –c teleinfo.pb.edu.pl/sswb/download/openwrt toolchain.tar 3. Rozpakuj archiwum: tar -xf openwrttoolchain.tar 4. Uruchom środowisko eclipse eclipse 5. Po uruchomieniu Eclipse, wyświetlana jest zakładka Welcome. Należy ją zamknąć, aby wyświetlić domyślną perspektywę 6. Tworzymy nowy projekt w języku C. Z menu File → New → Project 7. Wybieramy nazwę projektu i typ toolchaina jako Cross Gcc (typ projektu jako „Hello World ANSI C Project”) 8. Następnie określamy opcje naszego toolchaina: Cross compiler prefix: armopenwrtlinux Cross compiler path: {tu podajemy ścieżkę do katalogu ...staging_dir/toolchain... z rozpakowanego archiwum OpenWrtSDK} Po kliknięciu Finish - projekt jest tworzony i pojawia się w perspektywie. 9. Wybieramy Project → Properties następnie C/C++ General i klikamy na link Configure Workspace Settings. Następnie wybieramy C/C++ → Build → Environment, i klikamy Add... następnie dodajemy nową zmienną STAGING_DIR i określamy jej wartość na równą ścieżce do katalogu ...staging_dir/toolchain... z rozpakowanego archiwum OpenWrt-SDK. Zamykamy preferencje. Eclipse jest gotowy do tworzenia i kompilowania kodu w C. 10. Edytujemy przykładowy program „hello world” dodając np. jakąś funkcję, która zmienia i wyświetla wartość jakieś zmiennej. Funkcję wywołujemy z głównej procedury programu. 11. Zdalne uruchamianie aplikacji. Zanim zaczniemy konfigurować eclipse należy dodatkowo zainstalować dodatkowe wtyczki. W tym celu z menu Help → Install New Software… Wybieramy Indigo Update Site i zaznaczamy i instalujemy z Mobile and Device Development następujące wtyczki: • • • • C/C++ GCC Cross Compiler Support C/C++ GDB Hardware Debugging C/C++ Remote Launch Remote System Explorer End-User Runtime Następnie z menu Window → Show view → Other… i Remote Systems. Następnie tworzymy nowe połączenie: klikając na Local następnie New → Connection…. i wybieramy typ Linux. Następnie ustawiamy parametry zdalnego Linuksa. (w polu Host Name wpisujemy adres naszego openwrt). Następnie konfigurujemy sposób przesyłania plików jako ssh.files, sposób pozyskiwania informacji o procesach: processes.shell.linux i sposób zdalnego uruchamiania poleceń ssh.shells. Zdalny system został skonfigurowany. Poprawność działania połączeń, można sprawdzić klikając na nazwę naszego systemu i wybierając Connect. 12. Pliki można przenosić między katalogami na zasadzie przeciągnij i upuść. Przenosimy nasz skompilowany program do katalogu domowego na systemie wbudowanym. Można też skorzystać z bezpośredniego dostęp do terminala naszego OpenWrt w celu uruchomienia naszego programu. 13. Następnie instalujemy na OpenWrt debuger gdb i program gdbserver opkg update opkg install gdb opkg install gdbserver 12. Uruchamiamy nasz program w terminalu pod kontrolą debuggera: gdb ./HelloWorld debugger umożliwia dostęp do wielu komend, (informacje o poszczególnych komendach wyświetlają się za pomocą komendy help). Korzystając np. z komend break, run, continue i print przeanalizuj działanie programu. Następnie zamknij debugger za pomocą komendy quit. 13. Skonfiguruj eclipse do zdalnego debugowania aplikacji. W tym celu wybieramy z menu Run → Debug Configuration, a następnie klikamy na C/C++ Remote Application i wybieramy New. W zakładce main ustawiamy ścieżki dostępu do programu wykonywalnego na naszym komputerze i systemie wbudowanym. W zakładce Debugger ustawiamy właściwą ścieżkę do cross-debuggera gdb. Konfiguracja eclipse zakończona można zdalnie debugować naszą aplikację. i to już koniec :) Opracowanie sprawozdania Nie ma potrzeby sporządzania sprawozdania z tego ćwiczenia. Wymagania BHP W trakcie realizacji programu ćwiczenia należy przestrzegać zasad omówionych we wstępie do ćwiczeń, zawartych w: „Regulaminie porządkowym w laboratorium” oraz w „Instrukcji obsługi urządzeń elektronicznych znajdujących się w laboratorium z uwzględnieniem przepisów BHP”. Regulamin i instrukcja są dostępne w pomieszczeniu laboratoryjnym w widocznym miejscu. Literatura 1. Bis M.: „Linux w systemach embedded”, Wydawnictwo BTC, Warszawa, 2011 2. https://openwrt.org/