2 Tworzenie oprogramowania dla systemu wbudowanego
|
|
- Daria Morawska
- 8 lat temu
- Przeglądów:
Transkrypt
1 2 Tworzenie oprogramowania dla systemu wbudowanego 2 Tworzenie oprogramowania dla systemu wbudowanego Przenośność programów Systemy skrośnego tworzenia oprogramowania - podstawowe konfiguracje Budowa systemu skrośnego tworzenia oprogramowania Tworzenie systemu tworzenia oprogramowania skrośnego Przykład 1 System macierzysty i docelowy - QNX6 Neutrino, komunikacja sieć QNET Przykład 2 System macierzysty i docelowy - QNX6 Neutrino, komunikacja TCP/IP Przykład 3 System macierzysty i docelowy - QNX6 Neutrino, środowisko Momentics Uruchomienie narzędzia Momentics, wybór perspektywy Połączenie z systemem docelowym Tworzenie projektu nowego programu Wykonanie programu na systemie docelowym Debugowanie programu w systemie docelowym...33
2 2.1 Przenośność programów Standardowe narzędzia wytwarzania oprogramowania (ang. toolchain) dostępne w określonej dystrybucji Linuksa, są wykonywane na danym komputerze i generują kod na ten sam procesor który zainstalowany jest w komputerze, zwykle o architekturze x86. Taki zbiór narzędzi nazywa się rodzimym systemem tworzenia oprogramowania (ang. native). Wytworzony w systemie rodzimym kod binarny, zwykle nie wykona się w systemie docelowym z następujących powodów: System docelowy może mieć inny procesor niż komputer macierzysty. Np. komputer macierzysty wykorzystuje procesor x86 a system docelowy ARM. System docelowy może mieć inny system operacyjny niż komputer macierzysty. Nawet jeżeli, obydwa systemy wykorzystują takie same procesory i pracują pod kontrolą takiego samego systemu operacyjnego, tworzenie aplikacji nie musi przebiegać tak samo, gdyż: program dla systemu docelowego może być optymalizowany w inny sposób wykorzystywać inne urządzenia i biblioteki. Przenośność oprogramowania Jakie warunki należy spełnić, aby program wytworzony na komputerze i dla komputera A wykonał się na komputerze B (inny procesor, system operacyjny). Literatura wyróżnia następujące poziomy przenośności oprogramowania: Przenośność na poziomie kodu źródłowego Przenośność na poziomie kodu pośredniego Przenośność na poziomie kodu wynikowego
3 Przenośność programu na poziomie kodu źródłowego Aby wykonać program przygotowany dla maszyny A np. w języku C, należy skompilować powtórnie na maszynie B. kod źródowy Kompilator program binarny API kod źródowy Kompilator program binarny System operacyjny 1 System operacyjny 2 Procesor 1 Procesor 2 Komputer A Komputer B Rys. 2-1 Zgodność na poziomie kodu źródłowego API Aby program uruchomił się na maszynie B, kompilator maszyny B, musi właściwie zinterpretować, wywołania systemowe programu. Na przykład funkcja open, w obydwu systemach, musi w taki sam sposób interpretować parametry i się wykonywać. API (ang. Application Program Interface) - sposób komunikacji z systemem operacyjnym zbiór funkcji języka C. Zgodność na poziomie API, wymaga rekompilacji programów. Aby wystąpiła zgodność na poziomie API Maszyna A i maszyna B mogą mieć inne procesory Systemy operacyjne, muszą być zgodne na poziome API (nie koniecznie identyczne).
4 Przenośność na poziomie kodu pośredniego Kod pośredni (ang. Byte Code) stanowi fundament języka Java. Program dla maszyny A kompiluje się tam do postaci kodu pośredniego, który może być bez rekompilacji wykonany przez maszynę wirtualną Javy uruchomioną na komputerze B. kod źródowy Kompilator Java kod pośredni Maszyna wirtualna Java kod pośredni kod pośredni Maszyna wirtualna Java System operacyjny 1 System operacyjny 2 Procesor 1 Procesor 2 Komputer A Komputer B Rys. 2-2 Zgodność na poziomie kodu pośredniego Warunek zgodności: Komputer A i komputer B mogą posiadać różne procesory i systemy operacyjne, Wymagana jest zgodność na poziomie kodu pośredniego. Maszyny wirtualne komputerów A i B muszą w ten sam sposób interpretować kod pośredni.
5 Przenośność na poziomie kodu wynikowego (ABI Application Binary Interface) Aby program skompilowany na maszynie A wykonał się na maszynie B maszyny A i B muszą co najmniej: Posiadać zgodną architekturę Posiadać taką sama listę rozkazów Ale spełnienie powyższych warunków nie jest wystarczające. Wymagane jest spełnienie dodatkowych wymagań, określanych jako zgodność na poziomie interfejsu binarnego ABI (ang. Application Binary Interface). Zgodność na poziomie ABI obejmuje: Postać interfejsu binarnego pomiędzy aplikacją a systemem operacyjnym Typy, rozmiary i sposób interpretacji i przekazywania parametrów (big endian, little endian) Numery wywołań systemowych Sposób korzystania z bibliotek Sposób reagowania na błędy Formatu pliku wykonywalnego (zwykle ELF) kod źródowy Kompilator program binarny ABI program binarny System operacyjny 1 System operacyjny 2 Procesor 1 Procesor 2 Komputer A Komputer B Rys. 2-3 Zgodność na poziomie interfejsu binarnego ABI
6 Przenośność na poziomie kodu binarnego ABI (Application Binary Interface) Przenośność na poziomie kodu binarnego ma miejsce, gdy program źródłowy przygotowany i skompilowany dla maszyny A daje się bez rekompilacji wykonać na maszynie B. Zgodność na poziomie kodu źródłowego API Zgodność na poziomie kodu pośredniego Zgodność na poziomie kodu binarnego ABI Maszyna wirtualna - Zgodne - komputera A i B System operacyjny Zgodne Różne Zgodne komputera A i B Procesor komputera A i B Różne Różne Zgodne Tabela 2-1 Zestawienie różnych rodzajów zgodności programów
7 2.2 Systemy skrośnego tworzenia oprogramowania - podstawowe konfiguracje Oprogramowanie dla systemów wbudowanych zazwyczaj tworzy się w taki sposób że, programy przygotowywane są na komputerze macierzystym a potem przenoszone na system wbudowany nazywany też docelowym (ang. target). Takie postępowanie nazywa się skrośnym tworzeniem oprogramowania (ang. host target development, cross-compiling toolchain) System skrośnego tworzenia oprogramowania Programy tworzone są na komputerze macierzystym, przenoszone są do komputera wbudowanego i tam wykonywane. kod źródowy Rodzimy system rozwoju oprogramowania Skrośny system rozwoju oprogramowania program binarny program binarny System operacyjny 1 System operacyjny 2 Program ladujący Procesor 1 Procesor 2 Komputer macierzysty Komputer docelowy Rys. 2-4 Koncepcja rodzimego i skrośnego systemu tworzenia oprogramowania Zazwyczaj nie tworzy się oprogramowania na systemie docelowym gdyż: Komputer docelowy zwykle ma za małe zasoby (pamięć operacyjna, masowa) by pomieścić system tworzenia oprogramowania. Jest on do tego celu zbyt wolny. Nie posiada wygodnych dla programisty interfejsów (monitor, klawiatura, myszka).
8 Można wyróżnić trzy zasadnicze metody tworzenia oprogramowania dla systemów wbudowanych:. 1. Oprogramowanie tworzone jest na komputerze macierzystym i przenoszone do systemu docelowego przez łącze komunikacyjne. 2. Oprogramowanie tworzone jest na komputerze macierzystym i zapisywane na jakimś nośniku w pamięci nieulotnej. Następnie nośnik z zapisanym programem przenoszony jest fizycznie do systemu docelowego. 3. Oprogramowanie w całości tworzone jest na systemie docelowym. Metoda 1 Oprogramowanie tworzone jest na komputerze macierzystym i przenoszone do systemu docelowego Komputer macierzysty musi posiadać zainstalowany system tworzenia oprogramowania dla systemu docelowego. Systemem operacyjnym - Linux lub Windows, a procesorem x86. kod źródowy Skrośny system rozwoju oprogramowania program binarny program binarny System operacyjny 1 Procesor 1 np. x86 program przesylani a plików lącze komunikacyjne program przesylani a plików System operacyjny 2 lub program ladujący Procesor 2 np. ARM Komputer macierzysty Rys. 2-5 Program przenoszony przez łącze komunikacyjne Komputer docelowy
9 Warunek zastosowania - komputer wbudowany musi być zdolny do odebrania programu binarnego i jego wykonania. Musi tam być zainstalowany system operacyjny albo co najmniej zaawansowany program ładujący (ang. bootloader) np. uboot. System docelowy musi być w stanie: odebrać plik z programem binarnym obsłużyć interfejs komunikacyjny, obsłużyć protokół komunikacyjny, zarządzać pamięcią, sygnalizować błędy. Łączem komunikacyjnym jest zazwyczaj: Ethernet USB RS232 JTAG. Protokołem komunikacyjnym może być FTP, SCP, SFTP albo też TFTP. Gdy stosujemy połączenie poprzez interfejs RS232 może to być Xmodem, Zmodem, Kermit. Warunek zastosowania - obecność w systemie docelowym programu ładującego zdolnego pobrać program z komputera macierzystego i go uruchomić.
10 Metoda 2 Oprogramowanie tworzone jest na komputerze macierzystym i zapisywane na nośniku w pamięci nieulotnej. Następnie nośnik z zapisanym programem przenoszony jest fizycznie do systemu docelowego. Nosnik - pamięć Flash w postaci karty Compact Flash, karty SD czy karty mikro SD. Programator kart pamięci zazwyczaj przyłączony jest do komputera poprzez interfejs USB. System docelowy musi posiadać zdolność odczytu takiej karty a więc musi zawierać co najmniej program ładujący. Rozwiązanie to jest stosowane w przypadkach gdy: uruchamiamy system operacyjny aplikacja ma być wykonywana w środowisku pozbawionego systemu operacyjnego kod źródowy Skrośny system rozwoju oprogramowania pamięć USB program binarny program binarny System operacyjny 1 Procesor 1 np. x86 Komputer macierzysty interfejs USB programator pamięci Flash karta pamięci Flash Rys. 2-6 Program przenoszony przez pamięć Flash lub dysk USB System operacyjny 2 lub program ladujący Procesor 2 np. ARM Komputer docelowy
11 Metoda 3 Oprogramowanie tworzone jest na komputerze docelowym. Komputer musi być wyposażony w: działający system operacyjny, urządzenie pamięciowe mieszczące system plików stosunkowo bogaty zestaw interfejsów. Natomiast nie zawiera on zwykle: monitora, klawiatury i myszki. Dołącza się je poprzez zawarte w urządzeniu interfejsy (HDMI, VGA, USB). Można się komunikować z urządzeniem poprzez komputer macierzysty z wykorzystaniem emulatora terminala szeregowego. Rozwiązanie stosuje się w: BeagleBoard, BeagleBone Black, Raspberry Pi, komputerach z magistralą PC104 kod źródowy emulator terminala szeregowego System operacyjny 1 polączenie sieciowe Skrośny system rozwoju oprogramowania program binarny System operacyjny 2 Monitor Klawiatura Procesor 1 np. x86 Procesor 2 np. ARM Myszka Komputer macierzysty Komputer docelowy Rys. 2-7 System tworzenia oprogramowania wykonywany na komputerze docelowym
12 Rodzaj konfiguracji Zastosowanie Przykłady Program przenoszony Tworzenie programów BeagleBone, przez łącze komunikacyjne aplikacyjnych na system docelowy z systemem Raspberry Pi Program przenoszony przez pamięć nieulotną Program wytwarzany w systemie docelowym operacyjnym 1. Uruchamianie systemu operacyjnego na komputerze docelowym. 2. Uruchamianie programów w środowisku bez systemu operacyjnego System docelowy jest oparty o rozbudowany komputer z systemem operacyjnym i licznymi interfejsami. Tabela 2-2 Porównanie metod tworzenia oprogramowania dla systemów wbudowanych Mikrosterowniki bez systemu operacyjnego BeagleBone, PC104 QNX
13 2.3 Budowa systemu skrośnego tworzenia oprogramowania Zadaniem skrośnego systemu tworzenia oprogramowania (ang. toolchain) jest takie przetworzenie kodu źródłowego aplikacji, aby wytworzyć program wynikowy (binarny), który może być uruchomiony w systemie docelowym. System docelowy może wykorzystywać inny procesor niż komputer macierzysty. Typowo komputer macierzysty wykorzystuje procesor zgodny z x86, podczas gdy komputer docelowy pracuje na procesorze ARM. Nie istnieje ogólny system tworzenia oprogramowania dla systemów wbudowanych. System taki przeznaczony jest zwykle dla: określonego systemu operacyjnego wybranego typu procesora, dysponującego określoną architekturą i listą rozkazów. Są dwie metody uzyskania systemu tworzenia oprogramowania: Wykorzystać gotowy system utworzony przez inne osoby. Samemu utworzyć taki system wykorzystując oprogramowanie GNU. System tworzenia oprogramowania składa się z następujących narzędzi: Kompilator gcc Biblioteki C, C++ Nagłówki jądra (ang. kernel headers) Narzędzia binutils Programu uruchomieniowego GDB (ang. debugger) kod źródlowy Biblioteki C,C++ Narzędzia binutils Kompilator gcc Program uruchomieniowy gdb Naglówki jądra System skrośnego tworzenia oprogramowania kod wynikowy Rys. 2-8 Składniki skrośnego systemu tworzenia oprogramowania
14 Kompilator gcc Do tworzenia oprogramowania dla systemów wbudowanych wykorzystuje się zazwyczaj kompilator GCC (ang. Gnu Compiler Collection). Jest to zbiór kompilatorów i innych narzędzi jak assemblery i linker służących do przekształcenia kody źródłowego w kod binarny. W skład GCC wchodza kompilatory takich języków jak Ada, C, C++, Java, Fortran, Objective C. Program gcc wywoływany jest z linii poleceń analizuje argumenty i stosownie do nich wywołuje kompilator odpowiedni dla danego języka. Dla języka C będzie to program preprocesor cpp, kompilator cc1, assembler as i program łączący ld. Kompilator GCC składa się z części frontowej (ang. Front End), środkowej (ang. Middle End) i końcowej (ang. Back End). kod źródlowy C Analiza skladniowa Middle end informacja o procesorze kod źródlowy C++ Analiza skladniowa Kod AST kod Generic Optymalizacja kodu Kod RTL generator kodu assemblera kod źródlowy Ada Analiza skladniowa Front end Binarny kod obiektowy assembler as Back end kod assemblera Biblioteki libc Konsolidator ld Binarny kod ladowalny Rys. 2-9 Schemat koncepcyjny procesu kompilacji w kompilatorze GCC
15 Część frontowa Indywidualna dla każdego języka programowania. Kod źródłowy poddawany jest procesowi analizy składniowej. Na tym etapie generowana jest większość komunikatów diagnostycznych, tworzone są struktury danych i zmienne. W wyniku działania pierwszego etapu powstaje reprezentacja programu w niezależnym od języka kodzie AST (ang. Abstract Syntax Tree) a dalej w tak zwanym kodzie generycznym. Część środkowa Część środkowa dokonuje różnych optymalizacji zamieniając kod AST na kod wyjściowy w języku RTL (ang. Register Transfer Language). Część końcowa Generuje ona kod dla zadanej architektury i procesora w języku assemblera danego procesora.gcc może generować kod dla szerokiego zestawu procesorów: Alpha, ARM, AVR, MIPS, Motorola 68000, Power PC, SPARC, x86, x86-64 i wiele innych. Kod asemblerowy jest następnie tłumaczony przez program assemblera na binarny kod ładowalny danego procesora zapisywany w formacie ELF.
16 Narzędzia binutils Narzędzia binutils jest to zbiór programów narzędziowych stosowanych do wytwarzania i programów wykonywalnych przeznaczonych na daną architekturę procesora. as Assembler generuje kod binarny na daną architekturę procesora ld Linker łączy moduły programowe addr2line Przekształca adres w komunikacie o błędzie na nazwy plików i numery linii. Przydatny w uruchamianiu programów. ar Program do tworzenia i obsługo archiwów. Łączy kilka skompilowanych plików obiektowych, zwykle zawierających biblioteki, w pojedynczy plik o rozszerzeniu a. c++filt Zamiana identyfikatorów występujących w plikach binarnych c++ w identyfikatory tekstowe dlltool Tworzy pliki DLL gprof Wyświetla informację o częstości użycia występujących w programie funkcji (tak zwane profilowanie programów). nlmconv Konwersja plików obiektowych na NLM nm Wypisuje symbole z plików obiektowych objcopy Kopiuje i tłumaczy pliki obiektowe objdump Wyświetla informację o plikach obiektowych ranlib Tworzy indeks do pliku archiwalnego. size Wyświetla długości sekcji plików obiektowych i archiwalnych strings Wyświetla łańcuchy tekstowe zawarte w plikach binarnych. strip Program do usuwania niekoniecznych części programu w celu jego optymalizacji. windres Kompilator plików zasobów systemu Windows Tabela 2-3 Zestawienie programów wchodzących w skład binutils
17 Nagłówki jądra Program aplikacyjny jak i biblioteki, aby dostarczyć żądanych funkcjonalności muszą odwoływać się do usług jądra. Usługi te dostępne są w postaci funkcji bibliotecznych, ale te są tylko opakowaniem do wywołań systemowych. Przyporządkowanie numerów wywołań do określonych funkcji dane jest w plikach nagłówkowych jądra. Zbiór wywołań systemowych może zależeć od wersji jądra. Biblioteki Standardowa biblioteka języka C nazywa się glibc i jej konstrukcja zgodna jest z różnymi standardami (np. POSIX1.j, Single Unix Specification). Biblioteka ta jest dobrze przetestowana ale nie była konstruowana z myślą o systemach wbudowanych stąd zoptymalizowana została pod względem szybkości działania a nie rozmiaru. Stąd wymaga dużego obszaru pamięci RAM co najmniej 2 MB. Istnieją biblioteki do języka C specjalnie skonstruowane dla systemów wbudowanych. Wymienić tu można takie biblioteki jak embedded C library, uclib, diet, libc.
18 2.4 Tworzenie systemu tworzenia oprogramowania skrośnego Skąd bierze się system tworzenia oprogramowania (ang. toolchain)? Założono że taki system został już wcześniej przez kogoś utworzony i możemy z niego skorzystać. Należy uwzględnić jeszcze etap wytworzenia systemu tworzenia oprogramowania skrośnego. (ang. Build). Należy wyróżnić trzy maszyny: Maszynę na której tworzony jest system tworzenia oprogramowania skrośnego (ang. Build computer). Maszynę na której tworzone jest oprogramowania na system docelowy (ang. Host computer). Maszynę na której wykonywany jest program aplikacyjny (ang. Target computer). Maszyny te mogą być takie same lub też się od siebie różnić. Można rozróżnić trzy etapy tworzenia takiego oprogramowania skrośnego: Etap I - w którym tworzony jest system do tworzenia oprogramowania skrośnego (ang. Build) Etap II - w którym uruchamiany jest system tworzenia oprogramowania (ang. Host). Etap III - w którym wykonywany jest otrzymany na poprzednim etapie program (ang. Target)
19 Załóżmy że mamy do dyspozycji trzy maszyny o różnych architekturach, które oznaczymy jako A, B, C. Stąd możliwe są cztery konfiguracje przydziałów etapów na architektury: 1. Wszystkie etapy I, II i III wykonywane są na maszynie o jednej architekturze A.Ten sposób wykorzystywany jest głównie dla maszyn x86 pracujących w tym samym systemie operacyjnym. 2. Etap I i II wykonywany na komputerze o architekturze A, a program binarny przesyłany jest do systemu docelowego o architekturze B. Jest to najbardziej rozpowszechniona metoda tworzenia oprogramowania dla systemów wbudowanych. 3. Etap I wykonywany jest na komputerze o architekturze A, podczas gdy etapy II i III wykonywane są na komputerze o architekturze B. 4. Wszystkie etapy I, II i III wykonywane są na innych komputerach o architekturach A,B i C. Ta konfiguracja nazywana jest konfiguracją Kanadyjską (ang. Canadian build). Budowa Kompilacja Wykonanie Budowa Kompilacja Wykonanie architektura A architektura A architektura B Budowa Kompilacja Wykonanie Budowa Kompilacja Wykonanie architektura A architektura B architektura A architektura B architektura C Rys Możliwe konfiguracje budowy systemu kompilacyjnego, kompilacji i wykonania programu W ogólności są dwie możliwości uzyskania systemu tworzenia oprogramowania: Skorzystać z gotowego systemu tworzenia oprogramowania Samemu taki zbudować korzystają z dostępnego oprogramowania GNU Gotowe systemy tworzenia oprogramowania są zwykle dostarczane przez producentów sprzętu (procesorów, płytek) lub też są produktem społecznościowym. Możliwe jest także samodzielne utworzenie systemu tworzenia oprogramowania skrośnego dla danej platformy sprzętowej. Informacje - Linux from Scratch.
20 Gdy zdecydujemy się na samodzielne tworzenie systemu oprogramowania skrośnego zalecane jest skorzystanie z ułatwiających ten proces narzędzi. Crosstool Crosstool-ng Buildroot OpenWRT Scratchbox Ptxdist Linaro CodeSourcery
21 2.5 Przykład 1 System macierzysty i docelowy - QNX6 Neutrino, komunikacja sieć QNET W tym przykładzie komputer macierzysty i docelowy pracują w tym samym systemie operacyjnym QNX6 Neutrino. Komunikacja poprzez sieć QNET. Komputer macierzysty i docelowy połączone siecią Ethernet. sterownik sieci QNET kompilator gcc interfejs Ethernet polączenie sieciowe interfejs Ethernet sterownik sieci QNET shell router aplikacja - kod źródowy Użytkownik sieć Internet aplikacja kod binarny komputer macierzysty QNX6 system docelowy QNX6 Rys Komunikacja z systemem wbudowanym za pośrednictwem sieci QNET Wykorzystujemy: 1. Sieciowy system plików QNET. Systemy plików stacji dołączonych do sieci widziane w katalogu /net 2. Możliwość zdalnego wykonania programu na innym węźle sieci QNET. System QNX6 implementuje sieć QNET. Gdy uruchomiona jest sieć Qnet, do lokalnej przestrzeni nazw zaczynającej się od znaku / dodawany jest katalog /net zawierający podkatalogi odpowiadające nazwom dołączonych do sieci węzłów. Komputer koziol / Komputer pc104-komp5 / /dev /net /bin Qnet /dev /bin /home /net/pc104-komp5/ /home/juka/test1 /net/pc104-komp5/home/juka/test1 Rys. 2-1 Odwzorowanie przestrzeni nazw komputera pc104-komp5 w katalogu /net/pc104-komp5/ komputera koziol
22 W podanym wyżej przykładzie plik /home/juka/test1 umieszczony na komputerze pc104-komp5 jest z komputera koziol widziany jako /net/cp104-komp5/home/juka/test1. System umożliwia zdalne wykonanie programu na innym komputerze podłączonym do sieci QNET. Służy do tego celu polecenie on. on f nazwa_węzła polecenie on n nazwa_węzła polecenie Podana wyżej konstrukcja powoduje że na węźle o nazwie nazwa_węzła wykonane zostanie polecenie. W opcji f domyślnym systemem plików będzie system plików komputera zdalnego. W opcji n domyslnym systemem plików będzie system plików komputera lokalnego. Przykład 2-1 Lokalne i zdalne wykonanie (na komputerze pc104-komp5) polecenia hostname podającego nazwę węzła bieżącego. 1. W systemie macierzystym utworzyć podany niżej program a następnie go skompilować gcc test.c o test #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main(void) { int i,j; puts("witamy w Lab PRW"); system( hostname ); for(i=0;i<10;i++) { j=i+10; printf("krok %d\n",i); sleep(1); } printf("koniec\n"); return EXIT_SUCCESS; } Przykład 2-2 Program test.c 2. Uruchomić system docelowy i sprawdzić czy jest widziany w katalogu /net za pomocą polecenia: ls /net
23 3. Zalogować się w systemie docelowym jako root za pomocą polecenia: on f pc104-komp5 login 4. Przesłać skompilowany program z komputera macierzystego na komputer docelowy. Można użyć polecenia: cp test1 /net/pc104-komp4/dev/shmem Można użyć polecenia ftp bądź Midnight Commandera 5. Na komputerze docelowym uruchomić program test1 używając pseudoterminala. Ekran 2-1 Uruchomienie programu test1 w systemie docelowym za pomocą pseudoterminala Inna możliwość zalogowanie się do systemu docelowego poprzez telnet. Ekran 2-2 Uruchomienie programu hello w systemie docelowym za pomocą pseudoterminala telnet
24 2.6 Przykład 2 System macierzysty i docelowy - QNX6 Neutrino, komunikacja TCP/IP Do zdalnego uruchamiania programów w systemie docelowym można użyć połączenia TCP/IP, programu gdb wykonywanego w systemie macierzystym i klienta pdebug uruchomionego w systemie docelowym. Dalej podano przykład jak to wykonać. 1. W systemie macierzystym (np. w katalogu /home/juka) utworzyć podany niżej program test1.c a następnie go skompilować używając opcji -g gcc test.c o test g #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main(void) { int i,j; puts("witamy w Lab PRW"); system( hostname ); for(i=0;i<10;i++) { j=i+10; printf("krok %d\n",i); sleep(1); } printf("koniec\n"); return EXIT_SUCCESS; } Przykład 2-3 Program test1.c 2. Uruchomić system docelowy i sprawdzić czy jest widziany w katalogu /net za pomocą polecenia: ls /net 3. Zalogować się jako root w systemie docelowym za pomocą polecenia: on f pc104-komp5 login Uzyskać adres IP komputera docelowego za pomocą polecenia: netstat ni
25 Na komputerze macierzystym sprawdzić czy jest połączenie TCP/IP z systemem docelowym za pomocą polecenia ping ping Na komputerze docelowym uruchomić program pdebug pdebug 8001 & 5. Na komputerze macierzystym uruchomić program gdb Następnie ustalić adres i port komputera docelowego: (gdb) target qnx :8001 Pierwszy argument jest typem protokołu. Mogą być także async port RS232, cisco TCP/IP. Dalsze parametry zależą od typu protokołu. Dla protokołu qnx może to być: target qnx adres_ip:port target qnx /dev/ser1 - komunikacja przez TCP/IP - komunikacja przez port szeregowy 6. Przesłać program binarny do katalogu /tmp komputera docelowego (gdb) upload test1 /tmp/test1 7. Wczytać tablicę symboli: (gdb) sym test1 9. Uruchomić program w systemie docelowym (gdb) run /tmp/test1 10. Ustawić breakpoint na 10 linii (gdb) break Wylistować kod źródłowy: (gdb)l
26 7. Przeprowadzić uruchomienie programu: (gdb) c
27 2.7 Przykład 3 System macierzysty i docelowy - QNX6 Neutrino, środowisko Momentics Platforma Momentics jest zintegrowanym środowiskiem programistycznym (ang. IDE) służącym do projektowania i tworzenia oprogramowania systemów wbudowanych w systemie QNX6 Neutrino. Pakiet zainstalować można w systemie QNX6, Linux i Windows. Pozwala on tworzyć, kompilować i testować i oprogramowanie dla wszystkich platform sprzętowych wspieranych przez QNX. Taki sposób rozwijania oprogramowania nazywany jest pracą skrośną (ang. cross development) projekt przygotowywany i kompilowany jest na platformie innej niż docelowa, na której będzie ostatecznie uruchomiony. Pakiet Momentics zawiera następujące komponenty: Edytor i debuger kodu źródłowego. Narzędzie analizy pokrycia kodu (ang. Code Coverage). Narzędzia informacji o systemie docelowym. Konstruktor systemu operacyjnego (ang. System Builder) oraz pakiet wsparcia dla płyt głównych (ang. Board Support Package). Narzędzie konfiguracji aplikacji i systemu (ang. Application Profiler,System Profiler). Narzędzie Application Builder do budowy interfejsu graficznego opartego na interfejsie Photon Program Phindows przeznaczony do zdalnej pracy w systemie docelowym. Analizator pamięci. Komputer macierzysty Komputer docelowy Momentics IDE QNX6, Linux, Windows Łącze Ethernet aplikacja QNX6 RTOS qconn Rys. 2-2 System skrośnego rozwoju oprogramowania
28 2.8 Uruchomienie narzędzia Momentics, wybór perspektywy Wybór funkcji uzyskuje się otwierając tak zwaną perspektywę. Dokonujemy tego klikając w klawisze: Window / Open Perspective a następnie wybieramy odpowiednią perspektywę co pokazano na poniższym rysunku. Rys. 2-3 Narzędzie Momentics Development Suite - wybór perspektywy 2.9 Połączenie z systemem docelowym Aby połączyć się z systemem docelowym należy dołączyć obydwa komputery (macierzysty i docelowy) do sieci Ethernet. System docelowy musi pracować pod kontrolą QNX6 Neutrino i powinien mieć uruchomione: Sieć QNET Interfejs TCP/IP Program qconn Wybieramy opcje: File / New / Other / QNX / QNX Target System Project Pojawia się wtedy formatka w której należy wpisać nazwę komputera docelowego i jego adres IP tak jak podano poniżej.
29 Rys. 2-4 Ikona wyboru systemu docelowego Rys. 2-5 Uzyskiwanie informacji o systemie docelowym
30 2.10 Tworzenie projektu nowego programu Środowisko Momentics zawiera narzędzia umożliwiające tworzenie programu mającego być wykonanym w systemie docelowym. Aby utworzyć nowy projekt programu na system docelowy wybieramy opcje: New / QNX C Project po czym pojawia się formatka jak poniżej. W oknie Project Name wpisujemy nazwę projektu i klikamy w przycisk Next. Rys. 2-6 Tworzenie nowego projektu W kolejnej formatce podanej poniżej zaznaczamy typ systemu docelowego (w naszym przykładzie X86) i naciskamy przycisk Next. Rys. 2-7 Wybór architektury systemu docelowego Po naciśnięciu przycisku Finish pojawi się okno z kodem szkieletowym pokazane na poniższym rysunku
31 Rys. 2-8 Okno edycji kodu programu szkieletowego Przykładowy kod można dowolnie modyfikować. Kolejną czynnością jest kompilacja programu. Wykonujemy ją wybierając z menu opcje: Project / Build Project. Gdy w programie nie ma błędów zakładka Console zawierała będzie kod kompilacji jak pokazano poniżej. Rys. 2-9 Raport z kompilacji programu przykładowego 2.11 Wykonanie programu na systemie docelowym Po poprawnej kompilacji programu możemy wykonać go na platformie docelowej. W tym celu wybieramy opcję Run / Run. Pojawi się formatka jak poniżej. Rys Formatka specyfikacji wykonania programu
32 Dalej wybieramy wariant C/C++ QNX Qconn (IP) i klikamy w przycisk Search Project wybierając z okna Binaries wersję proj-1 lub proj-1_g (wersja przeznaczona do debugowania) Rys Wybór wersji programu Gdy wersja zostanie określona klikamy w przycisk Run co spowoduje przesłanie programu na system docelowy (domyslnie do folderu /tmp) i jego uruchomienie. Rezultat działania programu pokazany zostanie na konsoli tak jak w poniższym przykładzie. Rys Wykonanie programu przykładowego
33 2.12 Debugowanie programu w systemie docelowym Aby umożliwić debugowanie programu należy się upewnić czy projekt ma ustawioną opcję która to umożliwia. W tym celu należy wybrać opcję Project / Properities i kliknąć w element QNX C / C++ Project a następnie wybrać zakładkę Build Variants. Powinna się pojawić formatka jak poniżej. Należy zwrócić uwagę czy ikona debug jest zaznaczona. Gdy tak powstanie wersja programu wynikowego przeznaczona do debuggowanie. Posługujac się tą formatką można ustawić jeszcze inne opcje projektu klikając w zakładki Rys Formatka właściwości projektu Aby uczynić debugowanie ciekawszym zmodyfikujmy program przykładowy aby wykonywał w pętli wypisywanie zawartości licznika zadana liczbę razy. Rys Kod źródłowy programu testowego Następnie skompilujmy program wybierając opcje: Project / Build. Do debugowania przechodzimy wciskając ikonę z pluskwą co pokazuje poniższy rysunek.
34 Rys Uruchamianie debuggera Przycisk debugge Po uruchomieniu debuggera pokażą się okna: programu uruchomieniowego (Debuggera), kodu źródłowego (na rys proj-1.c), Zmiennych (Variables), punktów wstrzymania (Breakpoints) i konsoli (Console). Okna te pokazuje poniższy rysunek. Rys Formatka programu uruchomieniowego Do sterowania przebiegiem uruchamiania używamy ikonek w oknie debuggera. Najważniejsze podaje poniższa tabela.
35 Restart Uruchom proces od początku Resume F8 Uruchom proces od punktu bieżącego Terminate Zakończ proces Step into F5 Wykonaj krok programu wchodząc do funkcji Step over F6 Wykonaj krok programu nie wchodząc do funkcji Run to return F7 Wyjdź z funkcji Suspend Zawieś proces Tab. 2-1 Najważniejsze ikony okna programu uruchomieniowego Naciskając ikonę wykonujemy jeden krok programu co pozwala na pracę krokową. Możemy również uruchomić program do najbliższego punktu wstrzymania (ang. Breakpoint). Punkt wstrzymania ustawiamy klikając prawym klawiszem myszy na listewkę po lewej stronie okna programu źródłowego. Gdy ustawimy punkt wstrzymania na linię 14 i naciśniemy ikonę program wykona się do linii 14. Wartości zmiennych obserwować można w oknie inspekcji zmiennych (Variables). Debugger posiada znacznie więcej możliwości. Należą do nich: Inspekcja i zmiana wartości zmiennych Użycie brakpointów i watchpointów Inspekcja rejestrów Inspekcja obszarów pamięci Badanie użycia bibliotek dzielonych Monitorowanie obsługi sygnałów Obserwacja komunikatów z programu (konsola) Użycie debuggera gdb Opisane są one w dokumentacji. Rys Okno inspekcji zmiennych Breakpoint wstrzymuje program gdy osiągnięta jest pewna linia programu. Watchpoint wstrzymuje program gdy zmienia się wartość pewnego wyrażenia.
2 Tworzenie oprogramowania dla systemu wbudowanego
2 Tworzenie oprogramowania dla systemu wbudowanego 2 Tworzenie oprogramowania dla systemu wbudowanego...1 2.1 Przenośność programów...2 2.2 Systemy skrośnego tworzenia oprogramowania - podstawowe konfiguracje...7
2 Tworzenie oprogramowania dla systemu wbudowanego
2 Tworzenie oprogramowania dla systemu wbudowanego 2 Tworzenie oprogramowania dla systemu wbudowanego...1 2.1 Przenośność programów...2 2.2 Systemy skrośnego tworzenia oprogramowania - podstawowe konfiguracje...7
Programowanie Systemów Czasu Rzeczywistego
Programowanie Systemów Czasu Rzeczywistego Laboratorium Wprowadzenie Mariusz RUDNICKI mariusz.rudnicki@eti.pg.gda.pl 2016 Spis treści Przygotowanie platform docelowej.... 3 Przygotowanie środowiska programistycznego
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą
Tworzenie oprogramowania
Tworzenie oprogramowania dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Tworzenie oprogramowania dla systemów wbudowanych Program wykładu: Tworzenie aplikacji na systemie wbudowanym. Konfiguracja
1.Wstęp. 2.Generowanie systemu w EDK
1.Wstęp Celem niniejszego ćwiczenia jest zapoznanie z możliwościami debuggowania kodu na platformie MicroBlaze oraz zapoznanie ze środowiskiem wspomagającym prace programisty Xilinx Platform SDK (Eclipse).
Programowanie Systemów Wbudowanych
Programowanie Systemów Wbudowanych Debugowanie z GDB Iwona Kochańska Gdansk University of Technology GNU debugger Identyfikacja i naprawianie błędów to część procesu wytwarzania oprogramowania Techniki
Uruchomienie Raspberry Pi
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
Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika
Warsztaty AVR Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR Dariusz Wika 1.Krótki wstęp: Eclipse to rozbudowane środowisko programistyczne, które dzięki możliwości instalowania
Programowanie procesora Microblaze w środowisku SDK
Programowanie procesora Microblaze w środowisku SDK 9 kwietnia 2010 Zespół Rekonfigurowalnych Systemów Obliczeniowych AGH Kraków http://www.fpga.agh.edu.pl/ 1.Wstęp Celem niniejszego ćwiczenia jest: zapoznanie
Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po
Programowanie w Javie
Programowanie w Javie Andrzej Czajkowski Lista nr 0 Debugger w Javie Celem ćwiczenia jest poznanie podstawowych funkcji narzędzia debugera (odpluskwiacz) w środowisku Eclipse. Po ukończeniu ćwiczenia student
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
Procesy pojęcia podstawowe. 1.1 Jak kod źródłowy przekształca się w proces
Procesy pojęcia podstawowe 1 1.1 Jak kod źródłowy przekształca się w proces W języku wysokiego poziomu tworzy się tak zwany kod źródłowy który po zapisaniu będzie plikiem z programem źródłowym. Plik źródłowy
10 KROKÓW DO PAŃSTWA PIERWSZEGO PROGRAMU W QNX
10 KROKÓW DO PAŃSTWA PIERWSZEGO PROGRAMU W QNX 1. Wymagania W celu opracowania programów pracujących pod kontrolą systemu operacyjnego twardego czasu rzeczywistego, będą Państwo potrzebowali przede wszystkim
INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32
INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32 Spis Treści 1. Wymagania... 2 1.1. Wymagania przy korzystaniu z klucza sieciowego... 2 1.2. Wymagania przy uruchamianiu programu przez internet... 2 2.
K. Konopko; Toolchain. Toolchain. dr inż. Krzysztof Konopko
Toolchain dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Środowisko kompilacji skrośnej Program wykładu: Wprowadzenie do kompilacji skrośnej. GCC Binutils. Biblioteka standardowa C. Pliki nagłówkowe
WPROWADZENIE DO INFORMATYKI
J.NAWROCKI, M. ANTCZAK, H. ĆWIEK, W. FROHMBERG, A. HOFFA, M. KIERZYNKA, S. WĄSIK WPROWADZENIE DO INFORMATYKI PROGRAMOWANIE IMPERATYWNE ŚRODOWISKO URUCHOMIENIOWE I. INSTALACJA I KONFIGURACJA ECLIPSE CDT
1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.
1. Pierwszy program // mój pierwszy program w C++ #include using namespace std; cout
Materiały dodatkowe. Simulink Real-Time
Katedra Inżynierii Systemów Sterowania Materiały dodatkowe Simulink Real-Time Opracowali: mgr inż. Tomasz Karla Data: Listopad, 2016 r. Wstęp Simulink Real-Time jest środowiskiem pozwalającym na tworzenie
Galileo v10 pierwszy program
Notatka Aplikacyjna NA 03011PL Galileo v10 Spis treści 1. Wstęp... 2 1.1. Wymagania programowe... 2 2. Podstawy... 3 2.1. Tworzenie nowego projektu... 3 2.2. Dodawanie pola tekstowego... 10 2.3. Przechodzenie
Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8
Programowanie Urządzeń Mobilnych Laboratorium nr 7, 8 Android Temat 1 tworzenie i uruchamianie aplikacji z użyciem Android SDK Krzysztof Bruniecki 1 Wstęp Platforma Android jest opartym na Linuxie systemem
Programowanie obiektowe zastosowanie języka Java SE
Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z
Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;
14.3. Podstawy obsługi X Window 14.3. Podstawy obsługi X Window W przeciwieństwie do systemów Windows system Linux nie jest systemem graficznym. W systemach Windows z rodziny NT powłokę systemową stanowi
WPROWADZENIE DO JĘZYKA JAVA
WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny
Materiały dodatkowe. Raspberry Pi
Katedra Inżynierii Systemów Sterowania Materiały dodatkowe Raspberry Pi Opracowali: mgr inż. Tomasz Karla Data: Listopad, 2016 r. Dodatkowe informacje Materiały dodatkowe mają charakter ogólny i służą
Środowisko Keil. Spis treści. Krzysztof Świentek. Systemy wbudowane. 1 Trochę teorii. 2 Keil
Środowisko Krzysztof Świentek Systemy wbudowane Spis treści 1 2 Źródła 1 http://infocenter.arm.com 2 http://www.keil.com/arm/mdk.asp 3 http://pl.wikipedia.org Spis treści 1 2 Co to jest toolchain? Zbiór
Konfiguracja pakietu CrossStudio for MSP430 2.0.
Konfiguracja pakietu CrossStudio for MSP430 2.0. 1. Przed rozpoczęciem pracy przeczytaj całego manuala. 2. Gratulujemy wyboru modułu MMmsp430x1xxx. W celu rozpoczęcia pracy należy pobrać 30-dniową wersję
WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.
WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy
BF20 JTAG dla ARM ów z interfejsem USB Instrukcja obsługi
BF20 JTAG dla ARM ów z interfejsem USB Instrukcja obsługi Copyright (c) 2007 2008 Boff Spis treści 1. Opis urządzenia...3 2. Instalacja oprogramowania w Windows...4 3. Instalacja oprogramowania w UBUNTU
Programowanie proceduralne w języku C++ Podstawy
Programowanie proceduralne w języku C++ Podstawy Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej Katedra Informatyki
Programowanie niskopoziomowe
W. Complak, J.Kniat, M. Antczak, K. Kwarciak, G. Palik, A. Rybarczyk, Ł. Wielebski Materiały Programowanie niskopoziomowe http://www.cs.put.poznan.pl/arybarczyk/c_w_0.pdf Spis treści 1. Instalacja środowiska
Projektowanie z użyciem procesora programowego Nios II
Projektowanie z użyciem procesora programowego Nios II WSTĘP Celem ćwiczenia jest nauczenie projektowania układów cyfrowych z użyciem wbudowanych procesorów programowych typu Nios II dla układów FPGA firmy
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 8 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Biblioteka GSL Na podstawie: https://www.gnu.org/software/gsl/doc/html/index.html
SystimPlus. Dokumentacja (FAQ) dla wersji: v1.14.05.12
SystimPlus Dokumentacja (FAQ) dla wersji: v1.14.05.12 Spis treści 1.Co to jest SystimPlus?... 1 2.Instalacja i wymagania... 1 3.Jakie drukarki fiskalne obsługuje SystimPlus?... 3 4.Jak połączyć się z drukarką
Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7
5.0 5.3.3.5 Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows 7 Wprowadzenie Wydrukuj i uzupełnij to laboratorium. W tym laboratorium, będziesz korzystać z narzędzi administracyjnych
Zadania: 1. Funkcja przeliczająca F na C: float FtoC(float f){ return (f 32.0) * 5.0 / 9.0; }
Zadania: 1. Funkcja przeliczająca F na C: float FtoC(float f){ return (f 32.0) * 5.0 / 9.0; 2. Utworzyć dodatkową funkcję, która przelicza F na K, na bazie poprzedniej F to C (z poprzednich zajęć), wg
Wprowadzenie do środowiska Qt Creator
1.Instalacja środowiska Qt Creator Qt Creator jest wygodnym środowiskiem programistycznym przeznaczonym do tworzenia projektów, czyli aplikacji zarówno konsolowych, jak i okienkowych z wykorzystaniem biblioteki
Instrukcja do oprogramowania ENAP DEC-1
Instrukcja do oprogramowania ENAP DEC-1 Do urządzenia DEC-1 dołączone jest oprogramowanie umożliwiające konfigurację urządzenia, rejestrację zdarzeń oraz wizualizację pracy urządzenia oraz poszczególnych
Instalowanie certyfikatów celem obsługi pracy urządzenia SIMOCODE pro V PN z poziomu przeglądarki internetowej w systemie Android
Instalowanie certyfikatów celem obsługi pracy urządzenia SIMOCODE pro V PN z poziomu przeglądarki internetowej w systemie Android Wstęp Dostępna od grudnia 2013 roku jednostka podstawowa SIMOCODE pro V
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Podstawowe kroki programowania zestawu uruchomieniowego ZL9AVR z systemem operacyjnym NutOS w środowisku
Dodatki. Dodatek A Octave. Język maszyn
Dodatki Dodatek A Octave Przykłady programów zostały opracowane w środowisku programistycznym Octave 3.6.2 z interfejsem graficznym GNU Octave 1.5.4. Octave jest darmowym środowiskiem programistycznym
Konfigurowanie modułu BK9050 firmy Beckhoff wprowadzenie
Konfigurowanie modułu BK9050 firmy Beckhoff wprowadzenie Stanowisko laboratoryjne z modułem BK9050 Moduł BK9050 jest urządzeniem typu Bus Coupler, umożliwiającym instalację rozproszonych grup terminali
Spis treści. Rozdział 3. Podstawowe operacje na plikach...49 System plików... 49 Konsola... 49 Zapisanie rezultatu do pliku... 50
Spis treści Rozdział 1. Instalacja systemu Aurox...5 Wymagania sprzętowe... 5 Rozpoczynamy instalację... 6 Wykrywanie i instalacja urządzeń... 7 Zarządzanie partycjami... 10 Konfiguracja sieci i boot loadera...
Electronic Infosystems
Department of Optoelectronics and Electronic Systems Faculty of Electronics, Telecommunications and Informatics Gdansk University of Technology Electronic Infosystems Microserver TCP/IP with CS8900A Ethernet
Programowanie Komputerów 2FD. Materiały pomocnicze do laboratorium
Programowanie Komputerów 2FD Materiały pomocnicze do laboratorium 2 Spis treści ZAJĘCIA 1. WPROWADZENIE... 4 1. ZAPOZNANIE SIĘ ZE ŚRODOWISKIEM PRACY... 4 Praca w sieci lokalnej... 4 Sposób logowania...
OPTIMA PC v2.2.1. Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA 255 2011 ELFON. Instrukcja obsługi. Rev 1
OPTIMA PC v2.2.1 Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA 255 Instrukcja obsługi Rev 1 2011 ELFON Wprowadzenie OPTIMA PC jest programem, który w wygodny sposób umożliwia konfigurację
Ćwiczenie 10.1. Zmiana sposobu uruchamiania usług
Rozdział 10. Zarządzanie komputerem Ćwiczenia zawarte w tym rozdziale prezentują najważniejsze narzędzia służące do konfigurowania i monitorowania pracy komputera. Ponieważ system Windows XP został opracowany
Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.
T: Konfiguracja usługi HTTP w systemie Windows. Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http. HTTP (ang. Hypertext Transfer Protocol) protokół transferu plików
PORADNIK KORZYSTANIA Z SERWERA FTP ftp.architekturaibiznes.com.pl
PORADNIK KORZYSTANIA Z SERWERA FTP ftp.architekturaibiznes.com.pl Do połączenia z serwerem A&B w celu załadowania lub pobrania materiałów można wykorzystać dowolny program typu "klient FTP". Jeżeli nie
1. Tworzenie nowego projektu.
Załącznik do Instrukcji 1. Tworzenie nowego projektu. Wybieramy opcję z menu głównego New->QNX C Project. Wprowadzamy nazwę przechodzimy do następnego kroku NEXT. Wybieramy platformę docelową oraz warianty
Java jako język programowania
Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)
VComNet Podręcznik użytkownika. VComNet. Podręcznik użytkownika Wstęp
VComNet Podręcznik użytkownika Wstęp VComNet przeznaczony jest do wdrażania aplikacji komunikacyjnych uruchomionych na komputerze PC z systemem Windows z urządzeniami połączonymi poprzez RS485 (RS422/RS232)
INSTRUKCJA OBSŁUGI PROGRAMU DO ODCZYTU PAMIĘCI FISKALNEJ DATECS OPF
INSTRUKCJA OBSŁUGI PROGRAMU DO ODCZYTU PAMIĘCI FISKALNEJ DATECS OPF Wersja: 0.0.0.3 Październik 2012 SPIS TREŚCI: 1. Wstęp 2. Wymagania sprzętowe, instalacja. 3. Opis współpracy komputera z kasą 4. Konfiguracja
Podstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat
02 Podstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat 2012.10.07 Program w języku C Program w języku C jest pisany w pliku tekstowym, następnie przetwarzany przez kompilator do pliku
Microsoft Visual C Express Edition
Microsoft Visual C++ 2010 Express Edition Używanie Visual C++ 2010 Express do kompilacji programów napisanych w C. Uruchamiamy Microsoft Visual C++ 2010 Express (rysunek poniżej) i tworzymy nowy projekt
SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)
(opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie
Zdalny podgląd wizualizacji z panelu XV100 przez przeglądarkę internetową (WebServer)
www.eaton.com www.moeller.pl Zdalny podgląd wizualizacji z panelu XV100 przez przeglądarkę internetową (WebServer) Notatka aplikacyjna NA152PL Spis treści 1. Wprowadzenie... 3 2. Wymagane oprogramowanie...
Instrukcja instalacji
Instrukcja instalacji Niniejsza instrukcja obejmuje instalację krok po kroku narzędzi potrzebnych do uruchomienia aplikacji ERS pod systemem Windows. Ze względu na uniwersalność użytych rozwiązań możliwe
Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl
Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z
Windows 10 - Jak uruchomić system w trybie
1 (Pobrane z slow7.pl) Windows 10 - Jak uruchomić system w trybie awaryjnym? Najprostszym ze sposobów wymuszenia na systemie przejścia do trybu awaryjnego jest wybranie Start a następnie Zasilanie i z
Instalacja protokołu PPPoE
Instalacja protokołu PPPoE Uruchomienie PPPoE w systemie Windows XP za pomocą wbudowanego kreatora Uruchomienie PPPoE w systemach z rodziny Windows 98 Instrukcja oparta na powszechnie dostępnych w Internecie
dokument DOK 02-05-12 wersja 1.0 www.arskam.com
ARS3-RA v.1.0 mikro kod sterownika 8 Linii I/O ze zdalną transmisją kanałem radiowym lub poprzez port UART. Kod przeznaczony dla sprzętu opartego o projekt referencyjny DOK 01-05-12. Opis programowania
PLUTO Sterownik bezpieczeństwa Skrócona Instrukcja obsługi oprogramowania. PlutoProgrammingManualPL_v7A.pdf 1
PLUTO Sterownik bezpieczeństwa Skrócona Instrukcja obsługi oprogramowania PlutoProgrammingManualPL_v7A.pdf 1 www.jokabsafety.com Spis treści 1. Instalacja oprogramowania 3 2. Podłączenie do komputera..5
11. Rozwiązywanie problemów
11. Rozwiązywanie problemów Ćwiczenia zawarte w tym rozdziale pokaŝą, jak rozwiązywać niektóre z problemów, jakie mogą pojawić się podczas pracy z komputerem. Windows XP został wyposaŝony w kilka mechanizmów
Estomed2. 1. Wstęp. 2. Instalacja Systemu Estomed2. 2.1. Jak zainstalować Estomed2. Hakon Software sp. z o. o. Podręcznik instalacji
Hakon Software sp. z o. o. Estomed2 Podręcznik instalacji 1. Wstęp Na wstępie dziękujemy za zakup systemu Estomed. Chcielibyśmy, żeby wiązał się on z uczestnictwem w tworzeniu i rozwoju naszego oprogramowania.
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania
Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Podstawowe kroki programowania zestawu uruchomieniowego ZL9AVR z systemem operacyjnym NutOS w środowisku
Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione
Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji
Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia
Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia nowego projektu (poniżej są utworzone projekty) Po kliknięciu
Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28
Programowanie w C++ Wykład 1 Katarzyna Grzelak 26 luty 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28 Dlaczego programowanie? K.Grzelak (Wykład 1) Programowanie w C++ 2 / 28 Umiejętność, która otwiera
Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows Vista
5.0 5.3.3.6 Laboratorium - Monitorowanie i zarządzanie zasobami systemu Windows Vista Wprowadzenie Wydrukuj i uzupełnij to laboratorium. W tym laboratorium, będziesz korzystać z narzędzi administracyjnych
Laboratorium 2.6.1 Badanie topologii i budowa małej sieci
Laboratorium 2.6.1 Badanie topologii i budowa małej sieci Topologia sieci Sieć punkt-punkt Cele nauczania Po zakończeniu tego ćwiczenia będziesz potrafił: Sieć przełączana poprawnie identyfikować kable
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby
Instrukcja konfiguracji programu Fakt z modułem lanfakt
Instrukcja konfiguracji programu Fakt z modułem lanfakt (wersja 2016.04) Fakt Dystrybucja Sp. z o. o. 81-552 Gdynia, ul. Wielkopolska 21/2 www.fakt.com.pl serwis@fakt.com.pl Spis treści 1.Moduł lanfakt...
Programowanie w C. dr inż. Stanisław Wszelak
Programowanie w C dr inż. Stanisław Wszelak Przeszłość i przyszłość składni programowania w C Ken Thompson Denis Ritchie Bjarne Stoustrup Zespoły programistów B C C++ C# 1969 rok Do SO UNIX 1972 rok C++
Konfigurowanie sterownika CX1000 firmy Beckhoff wprowadzenie. 1. Konfiguracja pakietu TwinCAT do współpracy z sterownikiem CX1000
Konfigurowanie sterownika CX1000 firmy Beckhoff wprowadzenie Stanowisko laboratoryjne ze sterownikiem CX1000 Sterownik CX1000 należy do grupy urządzeń określanych jako komputery wbudowane (Embedded-PC).
Instrukcja obsługi programu CMS Dla rejestratorów HANBANG
Instrukcja obsługi programu CMS Dla rejestratorów HANBANG 1. Wymagania sprzętowe: Minimalne wymagania sprzętowe: System operacyjny: Windows Serwer 2003 Standard Edition SP2 Baza danych: Mysql5.0 Procesor:
Szybka instrukcja tworzenia testów dla E-SPRAWDZIAN-2 programem e_kreator_2
Szybka instrukcja tworzenia testów dla E-SPRAWDZIAN-2 programem e_kreator_2 Spis treści: 1. Tworzenie nowego testu. str 2...5 2. Odczyt raportów z wynikami. str 6...7 3. Edycja i modyfikacja testów zapisanych
PC0060. ADAPTER Kabel Easy Copy PC-Link USB 2.0 Proste kopiowanie, bez instalacji. Instrukcja obsługi
PC0060 ADAPTER Kabel Easy Copy PC-Link USB 2.0 Proste kopiowanie, bez instalacji Instrukcja obsługi Rozdział 1 Produkt 1.1 Instrukcja Produkt PC0060 to najlepsze rozwiązanie w zakresie przesyłania danych.
Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce WWW
Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce
Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator
Wspomagamy procesy automatyzacji od 1986 r. Skrócony przewodnik OPROGRAMOWANIE PC MultiCon Emulator Wersja: od v.1.0.0 Do współpracy z rejestratorami serii MultiCon Przed rozpoczęciem użytkowania oprogramowania
Synchronizator plików (SSC) - dokumentacja
SZARP http://www.szarp.org Synchronizator plików (SSC) - dokumentacja Wersja pliku: $Id: ssc.sgml 4420 2007-09-18 11:19:02Z schylek$ > 1. Witamy w programie SSC Synchronizator plików (SZARP Sync Client,
Konfigurowanie sterownika CX9000 firmy Beckhoff wprowadzenie
Konfigurowanie sterownika CX9000 firmy Beckhoff wprowadzenie Stanowisko laboratoryjne ze sterownikiem CX9000 Sterownik CX9000 należy do grupy urządzeń określanych jako komputery wbudowane (Embedded-PC).
Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu ftp.
T: Konfiguracja usługi ftp w systemie Windows 8.1. Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu ftp. FTP (ang. File Transfer Protocol) protokół transferu plików umożliwiający
Memeo Instant Backup Podręcznik Szybkiego Startu
Wprowadzenie Memeo Instant Backup pozwala w łatwy sposób chronić dane przed zagrożeniami cyfrowego świata. Aplikacja regularnie i automatycznie tworzy kopie zapasowe ważnych plików znajdujących się na
Podstawy programowania
Podstawy programowania Część pierwsza Od języka symbolicznego do języka wysokiego poziomu Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót
Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38
Programowanie w C++ Wykład 1 Katarzyna Grzelak 25 luty 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38 Dlaczego programowanie? K.Grzelak (Wykład 1) Programowanie w C++ 2 / 38 Umiejętność, która otwiera
Programator procesorów rodziny AVR AVR-T910
Programator procesorów rodziny AVR AVR-T910 Instrukcja obsługi Opis urządzenia AVR-T910 jest urządzeniem przeznaczonym do programowania mikrokontrolerów rodziny AVR firmy ATMEL. Programator podłączany
TM-47.1-2 PROGRAM TERMINALA RS232 DLA MULTIPLEKSERA 8XRS232 / ETHERNET 10BASE-T
LANEX S.A. ul. Ceramiczna 8 20-150 Lublin tel. (081) 444 10 11 tel/fax. (081) 740 35 70 TM-47.1-2 PROGRAM TERMINALA RS232 DLA MULTIPLEKSERA 8XRS232 / ETHERNET 10BASE-T LANEX S.A., ul.ceramiczna 8, 20-150
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 006 Wydajność systemu 2 SO i SK/WIN Najprostszym sposobem na poprawienie wydajności systemu, jeżeli dysponujemy zbyt małą ilością pamięci RAM
Programowanie mikrokontrolerów AVR
Programowanie mikrokontrolerów AVR Czym jest mikrokontroler? Mikrokontroler jest małym komputerem podłączanym do układów elektronicznych. Pamięć RAM/ROM CPU wykonuje program Układy I/O Komunikacje ze światem
Wprowadzenie do biblioteki klas C++
Instrukcja laboratoryjna nr 7 Programowanie w języku C 2 (C++ poziom zaawansowany) Wprowadzenie do biblioteki klas C++ WxWidgets mgr inż. Lasota Maciej dr inż. Kaczmarek Tomasz dr inż. Wilk-Jakubowski
INSTRUKCJA UZUPEŁNIAJĄCA DO CENTRAL DUPLEX ZE STEROWANIEM RD4
INSTRUKCJA UZUPEŁNIAJĄCA DO CENTRAL DUPLEX ZE STEROWANIEM RD4 Quatrovent Morska 242 Gdynia Tel. +48 58 3505995, fax +48 58 6613553 1 Spis treści I. Ustawienie orientacji wentylatorów...3 A. Za pomocą regulatora
Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051
Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051 Katedra Automatyki, Wydział EAIiE Akademia Górniczo-Hutnicza w Krakowie Marcin Piątek Kraków 2008 1. Ważne uwagi i definicje Poniższy
PRACA W ZINTEGROWANYM ŚRODOWISKU URUCHOMIENIOWYM - IDE Keil μvision 2
PRACA W ZINTEGROWANYM ŚRODOWISKU URUCHOMIENIOWYM - IDE Keil μvision 2 1. Środowisko IDE - KEIL µvision firmy KEIL jest popularnym zintegrowanym środowiskiem programistycznym IDE. Składa się na nie: menadżer
Kalipso wywiady środowiskowe
Instrukcja instalacji Kalipso wywiady środowiskowe I. Na systemie operacyjnym Ubuntu (TM) II. Na systemie operacyjnym Windows INFO-R Spółka Jawna - 2017 43-430 Pogórze, ul. Baziowa 29, tel. (33) 479 93
instrukcja instalacji modemu SpeedTouch 605s
instrukcja instalacji modemu SpeedTouch 605s Spis treści 1. Opis diod kontrolnych i gniazd modemu SpeedTouch 605s... 2 1.1. Opis diod kontrolnych... 2 1.2. Opis gniazd... 3 2. Konfiguracja połączenia przewodowego...
Systemy wbudowane. Wprowadzenie. Struktura. Mikrokontrolery AVR. Wprowadzenie do programowania w C
Systemy wbudowane Mikrokontrolery AVR Wprowadzenie do programowania w C dr inż. Maciej Piechowiak Wprowadzenie język C jest językiem strukturalnym wysokiego poziomu, jednak działającym blisko sprzętu i