Uruchomienie Intel Galileo

Podobne dokumenty
Uruchomienie Raspberry Pi

Uruchomienie Raspberry Pi

Programowanie Systemów Wbudowanych

Instalacja i konfiguracja serwera SSH.

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

System kontroli dostępu ACCO NET Instrukcja instalacji

Materiały wprowadzające. dr inż. Arkadiusz Chrobot

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Tryb konsolowy ćwiczenie b

Map Reduce Wprowadzenie do Apache Hadoop

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Instalacja i konfiguracja serwera telnet.

Rys. 1. Widok uruchomienia polecenia apt-get install build-essential. Rys. 2. Widok uruchomienia polecenia apt-get install apache2

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja wielokrotna)

IBM SPSS Statistics - Essentials for R: Instrukcje instalacji dla Linux

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Instalacja serwera baz danych PostgreSQL ze źródeł i pierwsze uruchomienie

Wstęp do systemu Linux

Laboratorium 2 Sterowanie urządzeniami z wykorzystaniem systemu plików Intel Galileo

IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa)

Materiały wprowadzające. dr inż. Arkadiusz Chrobot

Tworzenie oprogramowania

Podstawy informatyki

instrukcja instalacji w systemie Linux modemu USB ZXDSL 852

BF20 JTAG dla ARM ów z interfejsem USB Instrukcja obsługi

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Instalacja sterownika portu USB

Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier

K. Konopko; Toolchain. Jądro Linuksa. dr inż. Krzysztof Konopko

1.Wstęp. 2.Generowanie systemu w EDK

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 25 ARCHITEKTURA SYSTEMU LINUX. Opracował Sławomir Zieliński

Podstawy Programowania.

instrukcja instalacji modemu SpeedTouch 605s

Laboratorium 1. I. Zainstaluj program Eclipse (wersja C/C++ w odpowiednim systemie operacyjnym

Instalacja i konfiguracji czytników kart kryptograficznych, aplikacji procertum CardManager w systemach Mac OS X

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Instalacja środowiska MPI w systemie operacyjnym Linux

Usługi sieciowe systemu Linux

Instrukcja instalacji i konfiguracji czytników kart kryptograficznych, aplikacji procertum CardManager, obsługa aplikacji procertum CardManager w

ARCHITEKTURA SYSTEMÓW WBUDOWANYCH - LABORATORIUM. Ćwiczenie 4. Temat: Serwer stron WWW jako interfejs komunikacyjny z Systemem Wbudowanym.

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

Nazwa kwalifikacji: Montaż i eksploatacja systemów komputerowych, urządzeń peryferyjnych i sieci Oznaczenie kwalifikacji: EE.08 Numer zadania: 01

Rozdział 1. Informacje ogólne

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE

Instrukcja korzystania z Virtual Box-a i SQLPLUS-a

1 Praca z maszyną wirtualną qemu/kvm

Programowanie procesora Microblaze w środowisku SDK

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania

SYSTEMY CZASU RZECZYWISTEGO (SCR)

IBM SPSS Modeler Social Network Analysis 16 podręcznik instalowania i konfigurowania

Pracownia Technik Obliczeniowych

X P.I.W.O. Portowanie Tizena na nowe architektury na przykładzie ARMv6. Maciej Wereski Samsung R&D Institute Poland. 17 Maj Poznań, Polska

Lab3 - Zastosowania protokołów przesyłania plików

RASPBERRY PI EXTENSION 01

Viper Linux Lite, oprogramowanie Linux

Pomoc: konfiguracja PPPoE

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

Przewodnik instalacji i rejestracji ASN RadioOS

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

INSTRUKCJA INSTALACJI APLIKACJI SEPI W SYSTEMIE LINUX. Dokumentacja zasilania aplikacji SEPI dla systemu Linux

Qmail radość listonosza. Autorzy: Bartosz Krupowski, Marcin Landoch IVFDS

Fiery Remote Scan. Uruchamianie programu Fiery Remote Scan. Skrzynki pocztowe

Parametryzacja przetworników analogowocyfrowych

Wstęp do systemów wielozadaniowych laboratorium 03 Praca w powłoce UNIX-owej

Ćwiczenie 6. Wiadomości ogólne.

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2018 CZĘŚĆ PRAKTYCZNA

Instrukcje dotyczące systemu Windows w przypadku drukarki podłączonej lokalnie

Technologie informacyjne lab. 4

Fiery Remote Scan. Łączenie z serwerami Fiery servers. Łączenie z serwerem Fiery server przy pierwszym użyciu

Finanse VULCAN. Jednostki dodaje i konfiguruje administrator główny platformy (w aplikacji Zarządzanie platformą).

Instalacja i konfiguracja konsoli ShadowControl

Instrukcja instalacji i konfiguracji czytników kart kryptograficznych, aplikacji procertum CardManager, obsługa aplikacji procertum CardManager w

Instrukcja szybkiej instalacji. Przed przystąpieniem do instalacji należy zgromadzić w zasięgu ręki wszystkie potrzebne informacje i urządzenia.

T: Zabezpieczenie dostępu do komputera.

Linux cz.3: polecenia systemowe, ćwiczenia

Ćw. I. Środowisko sieciowe, połączenie internetowe, opcje internetowe

Pracownia internetowa w szkole ZASTOSOWANIA

Ćwiczenia Linux konsola

Instrukcja programowania płytek edycji 2014

Procedura aktualizacji systemu TelkomBud. dla serwera DBfC w wersji 4.x

Laboratorium 1 Wprowadzenie do programowania Intel Galileo

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

OPIS PROGRAMU APEK MULTIPLEKSER RX03

1. INSTALACJA SERWERA

Programowanie Systemów Czasu Rzeczywistego

Instrukcja aktualizacji oprogramowania (firmware) serwera DESKTOP 1.0 systemu F&Home RADIO.

Wprowadzenie do środowiska Qt Creator

WPROWADZENIE. Warto pamiętać o opcji autouzupełniania, której używamy naciskając klawisz [Tab]

WYDZIAŁ ELEKTRYCZNY KATEDRA TELEKOMUNIKACJI I APARATURY ELEKTRONICZNEJ. Pracownia specjalistyczna. Numer ćwiczenia: 5.

Instrukcja uruchomienia egzaminu z użyciem Wirtualnego Serwera Egzaminacyjnego

Podstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat

Najczęściej występujące problemy z instalacją i konfiguracją i ich rozwiązania.

MultiBoot Instrukcja obsługi

Informatyka I : Tworzenie projektu

MODELOWANIE MATERIAŁÓW I PROCESÓW

Egzamin pisemny z przedmiotu: Systemy operacyjne Semestr I

Maple i wykresy. 1.1 Najpierw należy się zalogować. Jak to zrobić zostało opisane w moim poprzednim tutorialu.

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2018 CZĘŚĆ PRAKTYCZNA

Tworzenie maszyny wirtualnej

Pracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Transkrypt:

Imie i nazwisko Nr indeksu Liczba punktów: Ramki oznaczone kolorem żółtym należy uzupełnić odpowiednią informacją! Po zakończeniu ćwiczenia niniejszą formatkę należy wysłać na adres: iwona.kochanska@eti.pg.gda.pl Przebieg labororatorium: Uruchomienie Intel Galileo Kompilacja skrośna programu C dla Intel Galileo Obsługa interfejsu GPIO biblioteka mraa Kompilacja skrośna biblioteki mraa dla Intel Galileo Obsługa czujników przez interfejs GPIO Kolorem zielonym w instrukcji oznaczono polecenia wykonywane w terminalu Intel Galileo! Logowanie do systemu operacyjnego hosta (OS Linux Debian): LOGIN: student HASŁO: student* Uruchomienie Intel Galileo 1. Komunikacja z Intel Galileo UART-USB Procedura uruchamiania Intel Galileo: włóż kartę SD z systemem Linux (Debian) połącz IG z komputerem hosta za pomocą przewodu USB-UART włącz zasilanie połącz IG ze switchem za pomocą przewodu Ethernet na komputerze hosta uruchom program putty z uprawnieniami root-a. W tym celu w linii

poleceń terminala wpisz: ~$ sudo putty konfiguracja połączenia w putty: Logowanie do systemu IG: LOGIN: root HASŁO: root Po zalogowaniu możesz sprawdzić, czy interfejs eth0 otrzymał numer IP z serwera DHCP: ~$ ifconfig Jeśli tak, możesz połączyć się z IG za pomocą ssh w terminalu na maszynie hosta: $ ssh root@192.168.1.xxx XXX ostatnie 3 cyfry nr IP Kompilacja skrośna programu C na platformę Intel Galileo Napisz programu (w języku C lub C++) wyświetlający w konsoli napis Hello World. Możesz do tego wykorzystać edytor plików Geany (Applications Menu Development Geany). Plik z kodem programu zapisz w swoim katalogu domowym w podkatalogu programy

#include <stdio.h> int main() { printf( %s, Hello World! ); return 0; } Skompiluj program kompilatorem natywnym maszyny hosta: $ gcc hello.c -o hello i uruchom go: $./hello Następnie sprawdź nagłówek ELF pliku wykonywalnego: $ file hello Wklej zawartość nagłówka: Jest to plik wykonywalny dla maszyny hosta. Aby skompilować program do pliku wykonywalnego dla procesora Quark, należy wykorzystać kompilator skrośny (cross-kompilator). Toolchain zawierający taki kompilator skrośny można przygotować kierując się wskazówkami zawartymi w dokumentacji: http://www.intel.com/content/dam/www/public/us/en/documents/release-notes/quark-x1000-bsp-build-sw-rel-userguide.pdf Rozdział 7: Building the Linux* Cross Compile Toolchain Using Yocto Project Taka budowa kompilatora trwa jednak kilka godzin. Gotowy Toolchain można pobrać spod adresu: http://git.eti.pg.gda.pl/intel-grant/pliki/iotdevkit.zip Rozpakuj go w katalogu /opt/ (w takim miejscu toolchain został zapisany na maszynie, na której został zbudowany, zapisanie go w innym miejscu spowodowałoby konieczność zmiany ścieżek w plikach konfiguracyjnych) $ cd /opt/ Student nie ma praw zapisu w tym katalogu, więc kolejne działania należy wykonać z uprawnieniami root-a: $ sudo cp ~/Downloads/iotdevkit.zip. $ sudo unzip iotdevkit.zip

Zmień właściciela katalogu iot-devkit: $ sudo chown -R student:student iot-devkit Od teraz nie trzeba mieć uprawnień roota, by wykonywać akcje w katalogu iot-devkit Przejdź do katalogu 1.7.2/ i wyświetl jego zawartość: $ cd 1.7.2 $ ls W katalogu znajdują się skrypty konfiguracyjne oraz katalog zawierający system plików potrzebnych do kompilacji skrośnej. Wyświetl zawartość skryptu environment-setup-i586-pokylinux, z którego będziesz za chwilę korzystać do kompilacji na platformę IG $ cat environment-setup-i586-poky-linux Ustawia on wartości różnych zmiennych środowiskowych (za pomocą polecenia export) Napisz, jakie wartości mają zmienne: ścieżka do systemu plików (SDKTARGETSYSROOT) kompilator GCC (CC) kompilator G++ (CXX) architektura maszyny docelowej (ARCH) prefiks kompilatora skrośnego tor GCC (CROSS_COMPILE) Uruchom w powłoce skrypt konfiguracyjny environment-setup-i586-poky-linux: $ source environment-setup-i586-poky-linux Od teraz możesz się posługiwać poleceniem zapisanym w zmiennej ${CC} do kompilacji

programów.c na platformę IG: $ ${CC} hello.c -o hello Prześlij plik wynikowy hello na platformę Intel Galileo za pomocą polecenia scp: $ scp hello root@192.168.1.xxx/. I spróbuj go uruchomić (terminal IG) $./hello Obsługa interfejsu GPIO biblioteka mraa Do obsługi pinów GPIO można wykorzystać bibliotekę mraa. Jej źródła powinny się znajdować w katalogu /opt/sources/. Jeśli ich tam nie ma, pobierz plik archiwum z repozytorium: https://github.com/intel-iot-devkit/mraa Skopiuj plik archiwum do swojego katalogu domowego i rozpakuj go: $ cd ~ $ cp /opt/sources/mraa-master.zip. $ unzip mraa-master.zip W ten sposób zostanie utworzony katalog mraa-master/. Znajduje się w nim oprócz źródeł biblioteki podkatalog z przykładowymi programami (examples). Skopiuj z niego przykład blink_onboard.c do swojego katalogu programy: $ cp mraa-master/examples/blink_onboard.c programy/ i spróbuj skompilować kompilatorem natywnym gcc (lub g++) i cross-kompilatorem zapisanym w zmiennej ${CC} (lub ${CXX}). Jakie komunikaty zwrócą kompilatory? Natywny gcc (lub g++): Skrośny ${CC} (lub ${CXX}): Kompilator skrośny zgłosił brak referencji do nazw zmiennych i funkcji z biblioteki mraa. Biblioteka ta powinna być dołączona do programu w sposób dynamiczny. Należy poinformować o tym kompilator: $ ${CC} blink_onboard.c -lmraa -o blink_onboard Sprawdź nagłówek pliku wynikowego: $ file blink_onboard

Wynik: Spróbuj teraz uruchomić plik wynikowy na maszynie hosta: $./blink_onboard System pozwolił uruchomić plik, jednak zgłosił brak biblioteki współdzielonej. Samo uruchomienie pliku jest możliwe dzięki zgodności architektury procesora Quark z architekturą procesora na maszynie hosta (akceptowalna jest różnica: 32-bit / 64-bit). Nie byłoby to możliwe, gdyby plik został skompilowany na architekturę ARM (np. dla Raspberry Pi). Brak biblioteki wpsółdzielonej nie powinien dziwić. Nie ma jej w standardowych bibliotekach systemu hosta. Prześlij plik do IG $ scp blink_onboard root@192.168.1.xxx/. I uruchom go (terminal IG) $./link_onboard Tu również brakuje biblioteki mraa. Listę wszystkich bibliotek potrzebnych do uruchomienia programu można obejrzeć po wywołaniu polecenia ldd: $ldd link_onboard Bibliotekę mraa należy skompilować na maszynie hosta za pomocą kompilatora skrośnego i586-poky-linux- 3. Kompilacja skrośna biblioteki mraa na platformę Intel Galileo Otwórz nowe okno terminala. Każda kompilacja powinna być realizowana w nowej sesji terminala ze względu na dobry obyczaj czyszczenia zmiennych środowiskowych przed kolejnym zadaniem. Ponowne ustawienie zmiennych środowiskowych dla cross-kompilatora: $ source /opt/iot-devkit/1.7.2/environment-setup-i586-poky-linux Przejdź do katalogu ~/mraa-master. Utwórz w nim katalog build i przejdź do niego: $ mkdir build $ cd build Skonfiguruj proces kompilacji: $ cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchains/oe-sdk_cross.cmake.. Uruchom kompilator: $ make Biblioteka zostanie skompilowana przy użycia kompilatora skrośnego. Następnie zainstaluj skompilowane biblioteki:

$ sudo make install Przejrzyj informację zwróconą przez narzędzie make. Zwróć uwagę, gdzie zostały zainstalowane biblioteki (ścieżka wypisana jest po komunikatach -- Installing: ). Ścieżka do plików nagłówkowych (*.h) to: Ścieżka do biblioteki libmraa.so.0.10.1 oraz linków symbolicznych do niej: libmraa.so.0 i libmraa.so to: Skopiuj pliki biblioteki i linki do niej do właściwego katalogu (względem punktu montowania!) na Intel Galileo. Punkt montowania na maszynie hosta: /opt/iot-devkit/1.7.2/sysroots/i586-poky-linux/ Punkt montowania na maszynie IG: / Ponownie uruchom program na platformie IG. Dioda na płycie powinna zacząć mrugać. 4. Zapis danych z czujnika do pliku Napisz program w języku C lub C++ odczytujący sygnał z wybranego sensora, podłączonego do analogowych pinów wejściowych GPIO i zapisujący: nr pomiaru odczytaną wartość rezystancji wartości mierzonej wielkości fizycznej (obliczoną z rezystancji) Jako kolejne wiersze pliku tekstowego dane.txt. Program powinien działać tak długo, dopóki w konsoli nie zostanie wpisany znak 'k'. Przykładowy program odczytujący analogowy pin wejściowy GPIO znajdziesz wśród przykładów w mraa-master/examples. Wynikowy plik tekstowy prześlij (poleceniem scp) na maszynę hosta i wyświetl w formie wykresu. Można to zrobić np. za pomoca narzędzia gnuplot: $ gnuplot gnuplot> plot "dane.txt" with linespoints Kod programu:

Wykres: