Systemy wbudowane. Rysunek 1: Ilustracja procesu kompilacji oprogramowania

Wielkość: px
Rozpocząć pokaz od strony:

Download "Systemy wbudowane. Rysunek 1: Ilustracja procesu kompilacji oprogramowania"

Transkrypt

1 Rozdział 1 PROCES KOMPILACJI I KONSOLIDACJI 1.1. WSTĘP Przed wgraniem do pamięci urządzenia wbudowanego program zapisany w formie pliku lub zbioru plików tekstowych stanowiących tzw. kod źródłowy musi zostać przetłumaczony na postać binarną odpowiednią dla docelowej architektury. Mimo, że proces przekształcania kodu źródłowego potocznie nazywany jest kompilacją to składa się on z dwóch odrębnych etapów kompilacji oraz konsolidacji. Kompilacja to proces podczas którego kod źródłowy programu jest automatycznie analizowany i przekształcany na postać kodu maszynowego. Należy zaznaczyć, że proces kompilacji jest zależny od docelowej architektury co oznacza, że program skompilowany dla procesora typu ARM nie będzie działał na systemie z procesorem z rodziny x86. Schemat blokowy procesu kompilacji zilustrowany jest na rysunku 1. Rysunek 1: Ilustracja procesu kompilacji oprogramowania Pliki tekstowe z kodem źródłowym programu mogą zostać utworzone za pomocą dowolnego edytora tekstowego. Każdy z plików jest oddzielnie analizowany przez kompilator i tworzone są pliki obiektowe zawierające wstępnie przetworzone fragmenty program w formie tak zwanej reprezentacji pośredniej. Następnie, na etapie konsolidacji wszystkie pliki obiektowe łączone są razem i powstaje jeden plik wykonywalny. Dodawane są również pliki bibliotek użytkownika stanowiące zbiory skompilowanych funkcji wielokrotnego użytku oraz biblioteki systemowe dostarczane wraz z kompilatorem umożliwiają miedzy innymi pobieranie danych od użytkownika czy wyświetlanie informacji na domyślnym terminalu. W przypadku kompilacji z wykorzystaniem tzw. GNU Toolchain (czyli narzędzi takich jak kompilator gcc, asembler 1 as oraz linker ld) proces ten przebiega w następujących krokach: kompilator danego 1 W języku polskim zarówno język asemblera (ang. assembly language) jak i program przeprowadzający asemblację (ang. assembler) nazywane są potocznie asemblerem. 1

2 języka programowania (np. cc1 dla języka C) przetwarza pliki źródłowe do postaci plików pośrednich zawierających instrukcji asemblera dla danej architektury. Następnie program zwany asemblerem (np. as) przetwarza pliki asemblera do postaci plików pośrednich zapisanych w formacie ELF [1] (ang. Executable and Linkable Format). Podczas kolejnego kroku konsolidator łączy wszystkie pliki pośrednie oraz biblioteki statyczne w jeden plik wykonywalny. Ostatnim, opcjonalnym etapem jest przetworzenie pliku zapisanego w postaci ELF do postaci akceptowalnej przez programator wykorzystywany przez dany system mikroprocesorowy, np. Intel HEX lub format binarny RODZAJE KOMPILACJI Biorąc pod uwagę rodzaj architektury na której będzie działał kompilator oraz rodzaj architektury dla której kompilator będzie generował programy wyróżnić możemy trzy rodzaje kompilacji: kompilacja natywna, kompilacja kanadyjska oraz cross kompilacja. W przypadku GNU Toolchain podczas kompilowania środowiska programistycznego trzy zmienne środowiskowe określają rodzaj wspieranego typu kompilacji: target (określa rodzaj architektury dla której kompilator będzie generował programy), host (określa rodzaj architektury na której kompilator będzie uruchamiany) oraz build (określa rodzaj architektury na której będziemy kompilowali kompilator). kompilacja natywna kompilator generuje kod wykonywalny dla tej samej architekturze na której pracuje. Jest to najprostszy i jednocześnie najczęściej spotykany przypadek. W przypadku GNU Toolchain zmienne target, host, build określają tą samą architekturę, np.: x86. kompilacja kanadyjska specjalny przypadek umożliwiający skompilowanie środowiska programistycznego na jednej architekturze, działającego na innej i generującego programy dla jeszcze innej np.: kompilacja kanadyjska umożliwia skompilowanie na architekturze x86 kompilatora pracującego na architekturze ARM i generującego programy dla architektury PowerPC. W przypadku GNU Toolchain zmienne target, host, build będą ustawione odpowiednio PowerPC, ARM oraz x86. cross kompilacja kompilator generuje kod wykonywalny dla innej architektury niż ten na której sam pracuje. Cross kompilacja najczęściej wykorzystywana jest w przypadku systemów wbudowanych takich jak np. kuchenki mikrofalowe, pralki automatyczne czy telefony komórkowe posiadające znacznie ograniczone zasoby co uniemożliwia lub znacznie utrudnia uruchomienie środowiska do kompilacji natywnej. Cross kompilacja wymaga aby wszystkie narzędzia wchodzące w skład środowiska programistycznego były odpowiednio skonfigurowane tzn. muszą być przystosowane do pracy uwzględniającej odpowiednią architekturę docelową kompilator musi generować odpowiedni kod asemblera, asembler, konsolidator oraz biblioteka standardowa muszą wspierać architekturę docelową. W przypadku GNU Toolchain, konfigurowania kompilatora dla architektury ARM działającego na procesorze x86 zmienna 2

3 target będzie ustawiona na ARM natomiast host oraz build będą ustawione na x ŚRODOWISKO PROGRAMISTYCZNE GNU TOOLCHAIN GNU Toolchain to zestaw narzędzi programistycznych przeznaczonych do tworzenia aplikacji. W skład GNU Toolchain wchodzą miedzy innymi: GNU make 2 narzędzie przeznaczone do automatycznego kompilowania programów i bibliotek z kodów źródłowych. Jego działanie opera się na interpretacji pliku konfiguracyjnego o nazwie makefile opisującego poszczególne kroki procesu kompilacji. GNU Compiler Collection 3 zestaw kompilatorów języków programowania takich jak C, C++, Objective C, FORTRAN. Asembler oraz konsolidator nie są częścią tego projektu. GNU Binutils 4 zestaw narzędzi do przeprowadzania operacji na plikach obiektowych 5 w skład którego wchodzą: konsolidator (ld), asembler (as), narzędzie do wyświetlania zawartości plików obiektowych (objdump), narzędzie do modyfikacji struktury plików obiektowych (objcopy), narzędzie do wyświetlania szczegółowych informacji na temat plików w formacie ELF (readelf). GNU Debugger 6 narzędzie służące do dynamicznej analizy innych programów w celu odnalezienia i identyfikacji zawartych w nich błędów. Debugger pozwala na uruchomienie programu w tak zwanym trybie krokowym co umożliwia na przeanalizowanie wartości przechowywanych w poszczególnych zmiennych wykorzystywanych w programie przed i po wykonaniu poszczególnych linii kodu. GNU Autotools zestaw narzędzi umożliwiających kompilowanie kodu źródłowego i budowanie przenośnych pakietów oprogramowania dla różnych systemów operacyjnych. W skład zestawu wchodzą miedzy innymi następujące narzędzia: autoconf 7, automake 8, autoconf 9, libtool 10 2 więcej informacji: 3 więcej informacji: gcc.gnu.org 4 więcej informacji: 5 nazwa pliki obiektowe w kontekście procesu kompilacji odnosi się do plików binarnych zawierających reprezentację pośrednią danego programu zazwyczaj zapisaną w formacie ELF (Linux) lub PE (Windows) i nie ma nic wspólnego z obiektowym paradygmatem programowania. 6 więcej informacji: 7 więcej informacji: 8 więcej informacji: 9 więcej informacji: 10 więcej informacji: 3

4 1.4. SKRYPTY KONSOLIDATORA Konsolidator (ang. linker) to program który w trakcie procesu konsolidacji łączy podane pliki obiektowe i biblioteki statyczne tworząc plik wykonywalny. Pracą konsolidatora steruje plik konfiguracyjny zwany skryptem konsolidatora. Określa on w których obszarach pamięci umieszczone mają być poszczególne fragmenty programy zwane sekcjami. W większości plików w formacie ELF znajdują się następujące sekcje:.tekst zawierająca binarny kod programu,.data zawierająca zainicjalizowane zmienne globalne oraz.bss zawierająca niezainicjalizowane zmienne lokalne. Informacje na temat sekcji występujących w danym pliku można uzyskać korzystając z narzędzia objdump pochodzącego z pakietu GNU Binutils. Znaczenie poszczególnych kolumn jest następujące: indeks, nazwa sekcji, rozmiar sekcji, Virtual Memory Address (adres w pamięci pod który sekcja musi zostać załadowana aby program działał poprawnie), Load Memory Address (adres w pamięci pod którym sekcja będzie załadowana do pamięci), położenie sekcji wyrażone jako przesunięcie od początku pliku ELF oraz wyrównanie danej sekcji w pamięci. Wyróżnienie adresów LMA oraz VMA pozwala miedzy innymi na umieszczenie sekcji.data w pamięci ROM znajdującej się pod adresem LMA i przeniesienie jej do pamięci VMA podczas startu systemu. objdump -h wynik.elf wynik.elf: file format elf32-little Sections: Idx Name Size VMA LMA File off Algn 0.text **4 CONTENTS, ALLOC, LOAD, READONLY, CODE 1.data a08 2**2 CONTENTS, ALLOC, LOAD, DATA 2.bss a f a70 2**2 ALLOC Powyższy przykład należy interpretować w następujący sposób: 1. sekcja.text o rozmiarze 2440 bajtów (988 h ) będzie załadowana do pamięci pod adres h (kolumna VMA). Jednocześnie sekcja ta będzie przechowywana w pamięci przed uruchomieniem programu pod adresem h (kolumna LMA). 2. sekcja.data o rozmiarze 104 bajtów (68 h ) podczas uruchamiania programu musi zostać załadowana do pamięci pod adres h (kolumna VMA). Jednocześnie sekcja ta będzie przechowywana w pamięci przed uruchomieniem programu pod adresem h (kolumna LMA). Kopiowaniem danych spod adresów LMA do VMA zajmują się biblioteki startowe systemu. 3. sekcja.bss o rozmiarze 168 bajtów (A8 h ) musi zostać załadowana do pamięci pod adres h (kolumna VMA). Jednocześnie sekcja ta będzie przechowywana w pamięci przed uruchomieniem programu pod adresem f0 h (kolumna LMA). 4

5 Poniższy rysunek przedstawia skrypt konsolidatora użyty do wygenerowania pliku użytego w powyższym przykładzie. Określa rodzajpliku wynikowego domyslnie elf32-littlearm ale użytkownik za pomocą odpowiedniego parametru może określić który format z poniższe listy będzie użyty OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") Określa rodzaj architektury sprzętowej na którą generowany będzie kod OUTPUT_ARCH(arm) Określa nazwę pierwszej funkcji programu ENTRY(reset_handler) Definicje sekcji występujących w pliku ELF SECTIONS { Sekcja.text w pliku wyjściowym będzie składała się z połączonych sekcji.text oraz.rodata pobranych ze wszystkich plików wejściowych. Dodatkowo adresy VMA początku oraz końca sekcji zostaną umieszczone w zmiennych _stext oraz _etest..text : { _stext =.; *(.text) *(.rodata) /* read-only data (constants) */ *(.rodata*). = ALIGN(4); _etext =. ; Sekcja.data w pliku wyjściowym będzie składała się z połączonych sekcji.vectors oraz.data pobranych ze wszystkich plików wejściowych. Dodatkowo adresy VMA początku oraz końca sekcji zostaną umieszczone w zmiennych _sdata oraz _edata. Adres LMA sekcji został ustawiony na adres bezpośrednio po sekcji.text..data : AT ( ADDR (.text) + SIZEOF (.text) ) { _sdata =.; *(.vectors) *(.data) _edata =.; Sekcja.bss w pliku wyjściowym będzie składała się z połączonych sekcji.bss pobranych ze wszystkich plików wejściowych. Dodatkowo adresy VMA początku oraz końca sekcji zostaną umieszczone w zmiennych _sbss oraz _ebss..bss (NOLOAD) : {. = ALIGN(4); _sbss =.; *(.bss) _ebss =.; end =.; Początkowy adres VMA sekcji.text oraz.data nie zostały bezpośrednio umieszczone w skrypcie konsolidatora. Ich wartości ustawiane są za pomocą parametrów przekazanych do wywołania konsolidatora (-Ttext 0x Tdata 0x300000) znajdującym się w pliku makefile. 5

6 Rozdział 2 DEBUGGER GDB 2.1. WSTĘP GNU Debugger jest narzędziem umożliwiającym śledzenie wykonania programu w trybie krokowym co pozwala na łatwe i szybkie wykrywanie oraz usuwanie błędów znajdujących się w kodzie programu. Jest to narzędzie pracujące w trybie tekstowym co umożliwia pracę na zdalnych komputerach nie wspierających graficznego interfejsu użytkownika. Program wchodzi w skład środowiska programistycznego GNU Toolchain i wspiera wszystkie architektury docelowe obsługiwane przez to środowisko PODSTAWY OBSŁUGI APLIKACJI GDB PRZYGOTOWANIE PLIKU BINARNEGO Każdy program może zostać uruchomiony w trybie krokowym z wykorzystaniem debuggera gdb jednakże odpowiednie przygotowanie pliku wynikowego na etapie kompilacji znacznie ułatwia proces analizy. Aplikacja powinna być skompilowana z dodatkowym parametrem (w przypadku kompilatora z pakietu GNU Toolchain jest to parametr g) dołączającym dodatkowe informacje wykorzystywane przez debugger takie jak nazwy zmiennych czy funkcji. Brak tych informacji powoduje, że aplikacja nie jest w stanie poprawnie interpretować danych zawartych w pliku obiektowym i analiza programu jest możliwa tylko na poziomie kodu asemblera. Dodatkowo, należy pamiętać, że użycie optymalizacji na etapie kompilacji może spowodować usunięcie niektórych zmiennych, rozwinięcie funkcji w miejscu wywołania oraz zmianę kolejności wykonywanych instrukcji. Tego typu operacje powodują rozsynchronizowanie kodu źródłowego aplikacji i zawartości pliku obiektowego co prowadzi do dziwnych zachowań debuggera takich jak próby wizualizacji wykonania nieistniejących linii kodu czy wywołań nieistniejących funkcji. ANALIZOWANIE APLIKACJI Z WYKORZYSTANIEM PROGRAMU GDB W celu rozpoczęcia sesji debuggera należy uruchomić program gdb podając jako parametr nazwę pliku wykonywalnego. Jeżeli aplikacja oczekuje parametrów wejściowych z linii poleceń podaje się je po uruchomieniu środowiska za pomocą polecenia set args. Sesję debuggera kończy się za pomocą polecenia quit [q]. Dodatkowo, za pomocą polecenia help możliwe jest uzyskanie szczegółowych informacji na temat poszczególnych komend np.: help break. Możliwe jest uruchomienie aplikacji w trybie ciągłym lub krokowym. Tryb ciągły powoduje wykonanie programu do momentu poprawnego zakończenia aplikacji, wystąpienia błędu krytycznego lub natrafienia na punkt przerwania (ang. breakpoint). Punkt przerwania to 6

7 miejsce w którym ciągłe wykonanie programu zostaje zakończone a debugger przechodzi do trybu krokowego. W trybie krokowym debugger wykonuje pojedyncze instrukcje na żądanie użytkownika. Tryb ciągły może zostać uruchomiony za pomocą polecenia run [r] lub start przy czym start powoduje automatyczne wstawienie punktu przerwania w pierwszej funkcji programu. Przejście z powrotem z trybu krokowego do ciągłego możliwe jest za pomocą komendy continua [c]. Punkty przerwań można umieszczać w programie za pomocą polecenia break po którym podaje się numer linii w aktualnym pliku, nazwę pliku i numer linii lub nazwę funkcji w programie. Możliwe jest również wstawienie warunkowego punktu przerwań który zostanie aktywowany tylko jeżeli podany warunek jest spełniony np.: break example.cpp:77 if a == 1. Informacje na temat aktualnie ustawionych punktów przerwań można uzyskać za pomocą polecenia info break [i b]. Punkty przerwań można usunąć z programu za pomocą polecenia delete [d] nr_punktu_przerwania. W trybie krokowym dostępne są następujące komendy: next powoduje wykonanie kolejnej instrukcji w programie. Napotkanie instrukcji wywołania funkcji powoduje wykonanie całej funkcji bez zatrzymywania się w jej wnętrzu. step powoduje wykonanie kolejnej instrukcji w programie. Napotkanie instrukcji wywołania funkcji powoduje wejście do jej wnętrza i zatrzymanie programu na pierwszej instrukcji. finish powoduje ciągłe wykonanie programu do momentu natrafienia na instrukcję powrotu z funkcji. nexti powoduje wykonanie jednej instrukcji maszynowej programu. Napotkanie instrukcji wywołania funkcji powoduje wykonanie całej funkcji bez zatrzymywania się w jej wnętrzu. stepi powoduje wykonanie jednej instrukcji maszynowej programu. Napotkanie instrukcji wywołania funkcji powoduje wejście do jej wnętrza i zatrzymanie programu na pierwszej instrukcji. Jeżeli debugger pracuje w trybie krokowym możliwe jest odczytanie wartości poszczególnych zmiennych. Służy do tego polecenie print [p] wyświetlające jednorazowo wartość zmiennej lub display [disp] wyświetlające wartość zmiennej po każdym kroku wykonywanego programu. Uzyskanie informacji na temat listy wyświetlanych zmiennych możliwe jest za pomocą polecenia info display [i disp]. Usunięcie elementu z listy zmiennych wyświetlanych przy każdym kroku programu możliwe jest za pomocą polecenia undisplay nr_zmiennej. Odczytanie zawartości określonej komórki pamięci możliwe jest za pomocą polecenia examine [x]. PODSUMOWANIE KOMEND PROGRAMU GDB Komenda run [r] Opis uruchamia analizowany program w trybie ciągłym 7

8 start [sta] continue [c] break lokacja [b] delete nr [d nr] next [n] nexti [ni] step [s] stepi [si] finish [fin] print zmienna [p] display zmienna [disp] examine adres [x] list [l] info break [i b] info display [i disp] info register [i r] set args argumenty uruchamia analizowany program w trybie ciągłym automatycznie wstawiając punkt przerwania na początku pierwszej funkcji programu przechodzi z trybu krokowego do ciągłego (wznawia wykonanie programu) wstawia punkt przerwania w określone miejsce programu usuwa punkt przerwania o numerze nr wykonuje kolejną linię kodu programu nie wchodzi do wnętrza funkcji wykonuje kolejną instrukcję maszynową programu nie wchodzi do wnętrza funkcji wykonuje kolejną linię kodu programu wchodzi do wnętrza funkcji wykonuje kolejną instrukcję maszynową programu wchodzi do wnętrza funkcji wykonuje program w trybie ciągłym do momentu osiągnięcia instrukcji powrotu z funkcji wyświetla wartość podanej zmiennej dodaje zmienną do listy elementów których wartości są wyświetlane przy każdym kroku wykonywanego programu wyświetla zawartość komórki pamięci o podanym adresie wyświetl kod źródłowy programu począwszy od aktualnego miejsca zatrzymania wyświetla listę punktów przerwania umieszczonych w programie wyświetla listę zmiennych wyświetlanych przy każdy kroku wykonywanego programu wyświetla informacje o rejestrach mikroprocesora ustaw argumenty linii poleceń PRZEKŁAD WYSZUKIWANIA BŁĘDÓW W PROGRAMIE Poniższy program po skompilowaniu i uruchomieniu wyświetla komunikat Floating point exception i kończy działanie. Program został skompilowany za pomocą poniższego polecenia: g++ -Wall g gdb-example-1.cpp o test #include <iostream> int div(int a1) { int w,c, tab[10] = {0; for (c = sizeof(tab)/sizeof(tab[0]); c >= 0; c--){ tab[c] = a1/c; w += tab[c]; return w; int main() { int ival1; ival1 = div(100); return ival1; 8

9 PRZEKŁAD SESJI DEBUGGERA gdb./test GNU gdb 6.8-debian Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu"... Debugger oczekuje na polecenia od użytkownika. Program zostaje uruchomiony w trybie ciągłym za pomocą polecenia run [r]. r Starting program: /home/gdb-test/gdb-test-example/test Program received signal SIGFPE, Arithmetic exception. 0x e5 in div (a1=100) at main.cpp:7 7 tab[c] = a1/c; Uruchomienie program w trybie ciagłym skutkuje zakończeniem działania z powodu natrafienia na błąd krytyczny. Wyświetlona została dodatkowa informacja o lokalizacji instrukcji powodującej błąd plik main.cpp linia 7. Polecenie list [l] umożliwia wyświetlenie kodu źródłowego programu. l 2 3 int div(int a1) 4 { 5 int w,c, tab[10] = {0; 6 for (c = sizeof(tab)/sizeof(tab[0]); c >= 0; c--){ 7 tab[c] = a1/c; 8 w += tab[c]; 9 10 return w; 11 Za pomocą polecenia break [b] main.cpp:7 if c == 0 umieszczany jest punkt przerwania w linii generującej błąd. Następnie program jest uruchamiany od początku za pomocą polecenia run [r] b main.cpp:7 if c ==0 Breakpoint 1 at 0x4006d4: file main.cpp, line 7. r The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: home/gdb-test/gdb-test-example/test Breakpoint 1, div (a1=100) at main.cpp:7 7 tab[c] = a1/c; Teraz możliwe jest przeanalizowanie stanu poszczególnych zmiennych za pomocą polecenia print [p] i zlokalizowanie źródła błędu. p c $3 = 0 p a1 $4 = 100 p w $5 = 301 9

10 PRZYKŁAD SESJI DEBUGGERA Z ODCZYTEM ZMIENNYCH LOKALNYCH gdb./test b div Breakpoint 1 at 0x4006a3: file main.cpp, line 5. r Starting program: /home/apiotro/tmp/test Breakpoint 1, div (a1=100) at main.cpp:5 5 int w,c, tab[10] = {0; n 6 for (c = sizeof(tab)/sizeof(tab[0]); c >= 0; c--){ 7 tab[c] = a1/c; p c $1 = 10 disp c 1: c = 10 disp a1 2: a1 = 100 n 8 w += tab[c]; 2: a1 = 100 1: c = 10 6 for (c = sizeof(tab)/sizeof(tab[0]); c >= 0; c--){ 2: a1 = 100 1: c = 10 n 7 tab[c] = a1/c; 2: a1 = 100 1: c = 9 p c $2 = 9 p &c $3 = (int *) 0x7fffa9f195fc x &c 0x7fffa9f195fc: 0x x 0x7fffa9f195fc 0x7fffa9f195fc: 0x p *0x7fffa9f195fc $4 = 9 OGRANICZENIA ANALIZY APLIKACJI Z UŻYCIEM DEBUGGERA Należy pamiętać, że debugger jest narzędziem ingerującym w przebieg wykonania programu dlatego następujące elementy muszą być wzięte pod uwagę podczas analizy zachowania aplikacji: debugger przejmuje kontrolę nad wykonywaną aplikacją co znacząco wpływa na szybkość działającego programu dlatego wykonanie analizy efektywności aplikacji jest praktycznie niemożliwe, testowanie poprawności działania programu skompilowanego z użyciem optymalizacji oferowanych przez kompilator jest możliwa tylko na poziomie języka asemblera, 10

11 Rozdział 3 LITERATURA [1] Levine, John R., Linkers and Loaders, 1999, ISBN , Morgan Kaufmann Publishers Inc., San Francisco, CA, USA 11

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 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

Bardziej szczegółowo

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

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).

Bardziej szczegółowo

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C Grzegorz Cygan Wstęp do programowania mikrosterowników w języku C Mikrosterownik Inne nazwy: Microcontroler (z języka angielskiego) Ta nazwa jest powszechnie używana w Polsce. Mikrokomputer jednoukładowy

Bardziej szczegółowo

Podstawy programowania

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

Bardziej szczegółowo

Sposoby wykrywania i usuwania błędów. Tomasz Borzyszkowski

Sposoby wykrywania i usuwania błędów. Tomasz Borzyszkowski Sposoby wykrywania i usuwania błędów Tomasz Borzyszkowski Mylić się jest rzeczą ludzką Typy błędów: błędy specyfikacji: źle określone wymagania błędy projektowe: nieodpowiednie struktury danych i algorytmy

Bardziej szczegółowo

C++ - [1-3] Debugowanie w Qt Creator

C++ - [1-3] Debugowanie w Qt Creator Slajd 1 z 10 C++ - [1-3] Debugowanie w Qt Creator Nysa 2004-2013. Autor: Wojciech Galiński. wersja dnia 15 maja 2013 r. Slajd 2 z 10 Pojęcia związane z debugowaniem DEBUGOWANIE (z ang. debugging odrobaczanie)

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

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

Bardziej szczegółowo

Środowisko Keil. Spis treści. Krzysztof Świentek. Systemy wbudowane. 1 Trochę teorii. 2 Keil

Ś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

Bardziej szczegółowo

Zasady programowania Dokumentacja

Zasady programowania Dokumentacja Marcin Kędzierski gr. 14 Zasady programowania Dokumentacja Wstęp 1) Temat: Przeszukiwanie pliku za pomocą drzewa. 2) Założenia projektu: a) Program ma pobierać dane z pliku wskazanego przez użytkownika

Bardziej szczegółowo

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24 Wymagania proceduralnych języków wysokiego poziomu ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH modele programowe procesorów ASK MP.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad.

Bardziej szczegółowo

Smarty PHP. Leksykon kieszonkowy

Smarty PHP. Leksykon kieszonkowy IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK

Bardziej szczegółowo

Wprowadzenie do środowiska Qt Creator

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

Bardziej szczegółowo

Szkolenia specjalistyczne

Szkolenia specjalistyczne Szkolenia specjalistyczne AGENDA Programowanie mikrokontrolerów w języku C na przykładzie STM32F103ZE z rdzeniem Cortex-M3 GRYFTEC Embedded Systems ul. Niedziałkowskiego 24 71-410 Szczecin info@gryftec.com

Bardziej szczegółowo

Język ludzki kod maszynowy

Język ludzki kod maszynowy Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza

Bardziej szczegółowo

Java jako język programowania

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)

Bardziej szczegółowo

Algorytm. a programowanie -

Algorytm. a programowanie - Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik

Bardziej szczegółowo

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!

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! Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)

Bardziej szczegółowo

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik Wykład VII Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Kompilacja Kompilator C program do tłumaczenia kodu źródłowego na język maszynowy. Preprocesor

Bardziej szczegółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania

Bardziej szczegółowo

Metody i algorytmy pomiarów przedmiotów metodami optycznymi.

Metody i algorytmy pomiarów przedmiotów metodami optycznymi. Rozdział 4. Oprogramowanie. Niewątpliwie podstawą poprawnego działania całego układu jest poprawnie napisany program sterujący pracą urządzeń i analizujący wyniki. Oprogramowanie sterujące projektowanym

Bardziej szczegółowo

Programowanie niskopoziomowe

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

Bardziej szczegółowo

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,

Bardziej szczegółowo

Programowanie niskopoziomowe

Programowanie niskopoziomowe Programowanie niskopoziomowe Programowanie niskopoziomowe w systemie operacyjnym oraz poza nim Tworzenie programu zawierającego procedury asemblerowe 1 Programowanie niskopoziomowe w systemie operacyjnym

Bardziej szczegółowo

SmartCard Virtual Keyboard. SCVK - instrukcja użytkownika. Wersja 1.1 (2014-09-29)

SmartCard Virtual Keyboard. SCVK - instrukcja użytkownika. Wersja 1.1 (2014-09-29) Wersja 1.1 (2014-09-29) Politechnika Poznańska Pl. Marii Skłodowskiej-Curie 5 60-965 Poznań http://www.put.poznan.pl/ Dział Rozwoju Oprogramowania http://intranet.put.poznan.pl/department/at Dokumentacja

Bardziej szczegółowo

Programowanie komputerów

Programowanie komputerów Programowanie komputerów Wykład 1-2. Podstawowe pojęcia Plan wykładu Omówienie programu wykładów, laboratoriów oraz egzaminu Etapy rozwiązywania problemów dr Helena Dudycz Katedra Technologii Informacyjnych

Bardziej szczegółowo

Programowanie mikrokontrolerów AVR

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

Bardziej szczegółowo

Programowanie w C. dr inż. Stanisław Wszelak

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++

Bardziej szczegółowo

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów przeznaczonych do wykonania w komputerze (ang. software).

Bardziej szczegółowo

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache

Bardziej szczegółowo

TWORZENIE PROJEKTU W RIDE

TWORZENIE PROJEKTU W RIDE TWORZENIE PROJEKTU W RIDE Zintegrowane środowisko programistyczne RIDE7 firmy Raisonance umożliwia tworzenie, kompilację i debuggowanie kodu źródłowego na wiele różnych platform sprzętowych. Pakiet oprogramowania

Bardziej szczegółowo

Systemy wbudowane. Wprowadzenie. Struktura. Mikrokontrolery AVR. Wprowadzenie do programowania w C

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

Bardziej szczegółowo

Programowanie Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 8: Procedury Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wstęp Linkowanie z bibliotekami zewnętrznymi Operacje na stosie

Bardziej szczegółowo

Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Windows

Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Windows Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Windows Spis treści Rozdział 1. Przegląd......... 1 Wstęp................. 1 Wdrażanie technologii Data Access........ 1 Źródła danych

Bardziej szczegółowo

https://portal.clusterix.pl:8443 trainxx tramxx

https://portal.clusterix.pl:8443 trainxx tramxx Logowanie 1. Otworzyć w oknie przeglądarki adres: https://portal.clusterix.pl:8443 2. Zalogować się używając konta, użytkownik: trainxx, hasło: tramxx Delegacja certyfikatu proxy 1. Zalogować poprzez ssh

Bardziej szczegółowo

Programowanie C++ Wykład 1 - Aplikacje konsowlowe w środowisku QT. dr inż. Jakub Możaryn. Warszawa, 2014. Instytut Automatyki i Robotyki

Programowanie C++ Wykład 1 - Aplikacje konsowlowe w środowisku QT. dr inż. Jakub Możaryn. Warszawa, 2014. Instytut Automatyki i Robotyki Wykład 1 - Aplikacje konsowlowe w środowisku QT Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Podstawowe pojęcia i proste programy. Pojęcia algorytmu, programu, kodu wykonywalnego. Kompilacja

Bardziej szczegółowo

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

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja wielokrotna) IBM SPSS Statistics Wersja 22 Linux - Instrukcja instalacji (licencja wielokrotna) Spis treści Instrukcja instalacji.......... 1 Wymagania systemowe........... 1 Instalowanie produktu............ 1 Praca

Bardziej szczegółowo

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania

Tom 6 Opis oprogramowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli obmiaru do celów fakturowania Część 8 Narzędzie do kontroli danych elementarnych, danych wynikowych oraz kontroli Diagnostyka stanu nawierzchni - DSN Generalna Dyrekcja Dróg Krajowych i Autostrad Warszawa, 21 maja 2012 Historia dokumentu

Bardziej szczegółowo

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. 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

Bardziej szczegółowo

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4 ICD 2 Czym jest In-Circuit Debugger? 2 O poradniku 3 Gdzie szukać dodatkowych informacji? 4 ICD 1 ICD 25.08.2009 Czym jest In-Circuit Debugger? Większość procesorów dostarcza systemów debugowania (ang.

Bardziej szczegółowo

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

X P.I.W.O. Portowanie Tizena na nowe architektury na przykładzie ARMv6. Maciej Wereski Samsung R&D Institute Poland. 17 Maj 2014 - Poznań, Polska X PIWO 17 Maj 2014 - Poznań, Polska Portowanie Tizena na nowe architektury na przykładzie ARMv6 Maciej Wereski Samsung R&D Institute Poland Plan prezentacji Środowisko budowania Tizena Infrastruktura GBS

Bardziej szczegółowo

Struktura i działanie jednostki centralnej

Struktura i działanie jednostki centralnej Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala

Bardziej szczegółowo

Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051

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

Bardziej szczegółowo

Zacznij Tu! Poznaj Microsoft 2012. Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska

Zacznij Tu! Poznaj Microsoft 2012. Visual Basic. Michael Halvorson. Przekład: Joanna Zatorska Zacznij Tu! Poznaj Microsoft 2012 Visual Basic Michael Halvorson Przekład: Joanna Zatorska APN Promise, Warszawa 2013 Spis treści Wstęp...................................................................vii

Bardziej szczegółowo

1) Czym jest architektura systemu Windows 7 i jak się ją tworzy? 2) Jakie są poszczególne etapy uruchomienia systemu Windows 7?

1) Czym jest architektura systemu Windows 7 i jak się ją tworzy? 2) Jakie są poszczególne etapy uruchomienia systemu Windows 7? Temat. Architektura systemu Windows 7. 1) Czym jest architektura systemu Windows 7 i jak się ją tworzy? 2) Jakie są poszczególne etapy uruchomienia systemu Windows 7? 3) Do czego służy narzędzie BCD. Edit?

Bardziej szczegółowo

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02 METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się

Bardziej szczegółowo

1. Opis. 2. Wymagania sprzętowe:

1. Opis. 2. Wymagania sprzętowe: 1. Opis Aplikacja ARSOFT-WZ2 umożliwia konfigurację, wizualizację i rejestrację danych pomiarowych urządzeń produkcji APAR wyposażonych w interfejs komunikacyjny RS232/485 oraz protokół MODBUS-RTU. Aktualny

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Tango-RedPitaya. Tango device server for RedPitaya multi-instrument board. Grzegorz Kowalski daneos@daneos.com 31 sierpnia 2015

Tango-RedPitaya. Tango device server for RedPitaya multi-instrument board. Grzegorz Kowalski daneos@daneos.com 31 sierpnia 2015 Tango-RedPitaya Tango device server for RedPitaya multi-instrument board Grzegorz Kowalski daneos@daneos.com 31 sierpnia 2015 Streszczenie Tango-RedPitaya jest serwerem urządzeń Tango sterującym płytką

Bardziej szczegółowo

Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

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

Bardziej szczegółowo

IdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com

IdyllaOS. Prosty, alternatywny system operacyjny. www.idyllaos.org. Autor: Grzegorz Gliński. Kontakt: milyges@gmail.com IdyllaOS www.idyllaos.org Prosty, alternatywny system operacyjny Autor: Grzegorz Gliński Kontakt: milyges@gmail.com Co to jest IdyllaOS? IdyllaOS jest to mały, prosty, uniksopodobny, wielozadaniowy oraz

Bardziej szczegółowo

Zadanie programistyczne nr 3 z Sieci komputerowych

Zadanie programistyczne nr 3 z Sieci komputerowych Zadanie programistyczne nr 3 z Sieci komputerowych 1 Opis zadania Celem tego zadania jest napisanie prostego serwera WWW, wyświetlającego strony z zadanego katalogu. W tym celu wykonaj następujące czynności

Bardziej szczegółowo

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa

Czym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa 1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko

Bardziej szczegółowo

2 Tworzenie oprogramowania dla systemu wbudowanego

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

Bardziej szczegółowo

Opracował: Jan Front

Opracował: Jan Front Opracował: Jan Front Sterownik PLC PLC (Programowalny Sterownik Logiczny) (ang. Programmable Logic Controller) mikroprocesorowe urządzenie sterujące układami automatyki. PLC wykonuje w sposób cykliczny

Bardziej szczegółowo

INFORMATYKA TECHNICZNA Metody wprowadzania obiektów w programie AutoCAD za pomocą języka AutoLISP

INFORMATYKA TECHNICZNA Metody wprowadzania obiektów w programie AutoCAD za pomocą języka AutoLISP INFORMATYKA TECHNICZNA Metody wprowadzania obiektów w programie AutoCAD za pomocą języka AutoLISP 1. WPROWADZENIE Cel ćwiczeń: zapoznanie z możliwościami wykorzystania systemów CAx w procesie automatyzacji

Bardziej szczegółowo

Programowanie Proceduralne

Programowanie Proceduralne Programowanie Proceduralne Makefile Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 14 Co to jest Makefile Makefile jest plikiem reguł dla programu make. Wykorzystywany jest

Bardziej szczegółowo

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

IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa) IBM SPSS Statistics dla systemu Linux Instrukcje instalacji (licencja sieciowa) Przedstawione poniżej instrukcje dotyczą instalowania IBM SPSS Statistics wersji 20 przy użyciu licencja sieciowa. Ten dokument

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Programowanie I. Kornel Warwas. ATH Katedra Matematyki i Informatyki

Programowanie I. Kornel Warwas. ATH Katedra Matematyki i Informatyki Programowanie I Kornel Warwas ATH Katedra Matematyki i Informatyki 2 Algorytm Algorytm skończony, uporządkowany ciąg zdefiniowanych czynności, koniecznych do wykonania określonego zadania w ograniczonej

Bardziej szczegółowo

Programowanie w Javie

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

Bardziej szczegółowo

SYSTEM OPERACYJNY. Monika Słomian

SYSTEM OPERACYJNY. Monika Słomian SYSTEM OPERACYJNY Monika Słomian CEL znam podstawowe zadania systemu operacyjnego porządkuję pliki i foldery KRYTERIA rozumiem zadania systemu operacyjnego potrafię wymienić przykładowe systemy operacyjne

Bardziej szczegółowo

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości

Bardziej szczegółowo

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL Programowanie Pascal - język programowania wysokiego poziomu Klasa 2 Lekcja 9 PASCAL Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany

Bardziej szczegółowo

Pobieranie edytora CodeLite

Pobieranie edytora CodeLite Pobieranie edytora CodeLite Wejdź na stronę http://codelite.org/ a następnie przejść do ekranu pobierania (bez wykonywania dobrowolnej wpłaty). Kliknij na zakładkę Download a następnie No thanks, just

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

Ćwiczenie nr 6. Programowanie mieszane

Ćwiczenie nr 6. Programowanie mieszane Ćwiczenie nr 6 Programowanie mieszane 6.1 Wstęp Współczesne języki programowania posiadają bardzo rozbudowane elementy językowe, co pozwala w większości przypadków na zdefiniowanie całego kodu programu

Bardziej szczegółowo

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Studia podyplomowe dla nauczycieli INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE Przedmiot JĘZYKI PROGRAMOWANIA DEFINICJE I PODSTAWOWE POJĘCIA Autor mgr Sławomir Ciernicki 1/7 Aby

Bardziej szczegółowo

AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. QuIDE Quantum IDE PODRĘCZNIK UŻYTKOWNIKA

AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE. QuIDE Quantum IDE PODRĘCZNIK UŻYTKOWNIKA AKADEMIA GÓRNICZO-HUTNICZA IM. STANISŁAWA STASZICA W KRAKOWIE QuIDE Quantum IDE PODRĘCZNIK UŻYTKOWNIKA Joanna Patrzyk Bartłomiej Patrzyk Katarzyna Rycerz jpatrzyk@quide.eu bpatrzyk@quide.eu kzajac@agh.edu.pl

Bardziej szczegółowo

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów

Generated by Foxit PDF Creator Foxit Software http://www.foxitsoftware.com For evaluation only. System Szablonów System Szablonów System szablonów System szablonów to biblioteka, która pozwala oddzielić warstwę prezentacji od warstwy logicznej. Aplikacja WWW najpierw pobiera wszystkie dane, przetwarza je i umieszcza

Bardziej szczegółowo

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu

Bardziej szczegółowo

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja Produkcja by CTI Proces instalacji, ważne informacje oraz konfiguracja Spis treści 1. Ważne informacje przed instalacją...3 2. Instalacja programu...4 3. Nawiązanie połączenia z serwerem SQL oraz z programem

Bardziej szczegółowo

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji. JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Programowanie Obiektowe GUI

Programowanie Obiektowe GUI Programowanie Obiektowe GUI Swing Celem ćwiczenia jest ilustracja wizualnego tworzenia graficznego interfejsu użytkownika opartego o bibliotekę Swing w środowisku NetBeans. Ponadto, ćwiczenie ma na celu

Bardziej szczegółowo

Instrukcja korzystania z Virtual Box-a i SQLPLUS-a

Instrukcja korzystania z Virtual Box-a i SQLPLUS-a Instrukcja korzystania z Virtual Box-a i SQLPLUS-a Wstęp W tej instrukcji zawarte są procedury dotyczące użytkowania VirtualBox-a i SQLPLUS-a w zakresie: 1. Virtual Box a. podłączanie zewnętrznych współdzielonych

Bardziej szczegółowo

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika)

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika) IBM SPSS Statistics Wersja 22 Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika) Spis treści Instrukcja instalacji.......... 1 Wymagania systemowe........... 1 Kod autoryzacji.............

Bardziej szczegółowo

PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA

PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA EGMONT INSTRUMENTS PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA EGMONT INSTRUMENTS tel. (0-22) 823-30-17, 668-69-75 02-304 Warszawa, Aleje Jerozolimskie 141/90 fax (0-22) 659-26-11

Bardziej szczegółowo

Dariusz Kozak ZESTAW URUCHOMIENIOWY MIKROKOMPUTERÓW JEDNOUKŁADOWYCH MCS-51 ZUX51. Loader LX51 INSTRUKCJA OBSŁUGI. 2012 DK Wszystkie prawa zastrzeżone

Dariusz Kozak ZESTAW URUCHOMIENIOWY MIKROKOMPUTERÓW JEDNOUKŁADOWYCH MCS-51 ZUX51. Loader LX51 INSTRUKCJA OBSŁUGI. 2012 DK Wszystkie prawa zastrzeżone Dariusz Kozak ZESTAW URUCHOMIENIOWY MIKROKOMPUTERÓW JEDNOUKŁADOWYCH MCS-51 ZUX51 Loader LX51 INSTRUKCJA OBSŁUGI 2012 DK Wszystkie prawa zastrzeżone Kopiowanie, powielanie i rozpowszechnianie jest dozwolone

Bardziej szczegółowo

Kurs Podstawowy S7. Spis treści. Dzień 1

Kurs Podstawowy S7. Spis treści. Dzień 1 Spis treści Dzień 1 I System SIMATIC S7 - wprowadzenie (wersja 1401) I-3 Rodzina sterowników programowalnych SIMATIC S7 firmy SIEMENS I-4 Dostępne moduły i ich funkcje I-5 Jednostki centralne I-6 Podstawowe

Bardziej szczegółowo

Zakres tematyczny dotyczący podstaw programowania Microsoft Office Excel za pomocą VBA

Zakres tematyczny dotyczący podstaw programowania Microsoft Office Excel za pomocą VBA Zakres tematyczny dotyczący podstaw programowania Microsoft Office Excel za pomocą VBA 1 Rozdział 1 Praca z makropoleceniami Opis: W tym rozdziale kursanci przechodzą przez wprowadzenie do programowania

Bardziej szczegółowo

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. 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

Bardziej szczegółowo

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu

Bardziej szczegółowo

Programowanie na poziomie sprzętu. Programowanie w Windows API

Programowanie na poziomie sprzętu. Programowanie w Windows API Programowanie w Windows API Windows API Windows Application Programming Interface (API) to zestaw funkcji systemu operacyjnego Windows, które umożliwiają aplikacjom korzystanie z wszystkich usług systemu.

Bardziej szczegółowo

Kompilator języka C na procesor 8051 RC51 implementacja

Kompilator języka C na procesor 8051 RC51 implementacja Kompilator języka C na procesor 8051 RC51 implementacja Implementowane typy danych bit 1 bit char lub char signed 8 bitów char unsigned 8 bitów int lub signed int 16 bitów unsigned int 16 bitów long lub

Bardziej szczegółowo

Konfiguracja pakietu CrossStudio for MSP430 2.0.

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ę

Bardziej szczegółowo

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. 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

Bardziej szczegółowo

IBM SPSS Statistics Version 22. Windows - Instrukcja instalacji (licencja wielokrotna)

IBM SPSS Statistics Version 22. Windows - Instrukcja instalacji (licencja wielokrotna) IBM SPSS Statistics Version 22 Windows - Instrukcja instalacji (licencja wielokrotna) Spis treści Instrukcja instalacji.......... 1 Wymagania systemowe........... 1 Instalowanie produktu............ 1

Bardziej szczegółowo

INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32

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.

Bardziej szczegółowo

Q E M U. http://www.qemu.com/

Q E M U. http://www.qemu.com/ http://www.qemu.com/ Emulator procesora Autor: Fabrice Bellard Obsługiwane platformy: Windows, Solaris, Linux, FreeBSD, Mac OS X Aktualna wersja: 0.9.0 Większość programu oparta na licencji LGPL, a sama

Bardziej szczegółowo

HELIOS pomoc społeczna

HELIOS pomoc społeczna Instrukcja przygotowania pliku wsadowego do zasilenia SEPI przy pomocy dodatkowej aplikacji HELSepi 1. Instalacja aplikacji Pobieramy plik instalacyjny HelSEPIsetup.exe ze strony internetowej www.ops.strefa.pl

Bardziej szczegółowo

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy Programowanie w C++ 1.Czym jest programowanie Pisanie programów to wcale nie czarna magia, tylko bardzo logiczna rozmowa z komputerem. Oczywiście w jednym ze specjalnie stworzonych do tego celu języków.

Bardziej szczegółowo

NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI. asix. Aktualizacja pakietu asix 4 do wersji 5 lub 6. Pomoc techniczna

NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI. asix. Aktualizacja pakietu asix 4 do wersji 5 lub 6. Pomoc techniczna NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI asix Aktualizacja pakietu asix 4 do wersji 5 lub 6 Pomoc techniczna Dok. Nr PLP0016 Wersja:08-12-2010 ASKOM i asix to zastrzeżony znak firmy ASKOM Sp. z o. o.,

Bardziej szczegółowo

Instrukcja użytkownika ARSoft-WZ1

Instrukcja użytkownika ARSoft-WZ1 05-090 Raszyn, ul Gałczyńskiego 6 tel (+48) 22 101-27-31, 22 853-48-56 automatyka@apar.pl www.apar.pl Instrukcja użytkownika ARSoft-WZ1 wersja 3.x 1. Opis Aplikacja ARSOFT-WZ1 umożliwia konfigurację i

Bardziej szczegółowo

PRACA W ZINTEGROWANYM ŚRODOWISKU URUCHOMIENIOWYM - IDE Keil μvision 2

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

Bardziej szczegółowo

Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 4. Metody wymiany danych w systemach automatyki DDE

Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 4. Metody wymiany danych w systemach automatyki DDE Budowa i oprogramowanie komputerowych systemów sterowania Laboratorium 4 Metody wymiany danych w systemach automatyki DDE 1 Wprowadzenie do DDE DDE (ang. Dynamic Data Exchange) - protokół wprowadzony w

Bardziej szczegółowo

Dodatki. Dodatek A Octave. Język maszyn

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

Bardziej szczegółowo

Wolne Oprogramowanie i GNU Fortran

Wolne Oprogramowanie i GNU Fortran Wolne Oprogramowanie i GNU Fortran Olsztyn 2007-2012 Wojciech Sobieski Wolne Programowanie Wolne Oprogramowanie (Free Software) jest to ruch programistów i użytkowników komputerów, zaangażowanych w działania

Bardziej szczegółowo

Delphi podstawy programowania. Środowisko Delphi

Delphi podstawy programowania. Środowisko Delphi Delphi podstawy programowania Środowisko Delphi Olsztyn 2004 Delphi Programowanie obiektowe - (object-oriented programming) jest to metodologia tworzeniu programów komputerowych definiująca je jako zbiór

Bardziej szczegółowo