Tworzenie oprogramowania

Podobne dokumenty
Programowanie Systemów Wbudowanych

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

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

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

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

Programowanie Systemów Czasu Rzeczywistego

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!

Uruchomienie Raspberry Pi

CODE::BLOCKS & VALGRIND OPRACOWAŁ MICHAŁ BETHKE

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

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

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

WPROWADZENIE DO JĘZYKA JAVA

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

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

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

Programowanie niskopoziomowe

Wstęp do Informatyki dla bioinformatyków

MentorGraphics ModelSim

Programowanie procesora Microblaze w środowisku SDK

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Laboratorium Informatyka (I) AiR Ćwiczenia z debugowania

Rozdział 1. Informacje ogólne

Jak rozpocząć pracę z mikrokontrolerami?

Środowiska i platformy programistyczne

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Programowanie w C++ Wykład 10. Katarzyna Grzelak. 21 maja K.Grzelak (Wykład 10) Programowanie w C++ 1 / 21

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Wolne Oprogramowanie i GNU Fortran

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

ZAPOZNANIE SIĘ Z TWORZENIEM

Pobieranie edytora CodeLite

WPROWADZENIE DO INFORMATYKI

Programowanie proceduralne w języku C++ Podstawy

PROGRAMOWANIE WSPÓŁCZESNYCH ARCHITEKTUR KOMPUTEROWYCH DR INŻ. KRZYSZTOF ROJEK

Testowanie I. Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego.

Tworzenie i korzystanie z plików JAR. Biblioteka JFreeChart

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

Przegląd i ewaluacja narzędzi do szybkiego tworzenia interfejsu użytkownika (RAD).

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

1. Opis aplikacji. 2. Przeprowadzanie pomiarów. 3. Tworzenie sprawozdania

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

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

Załącznik 1 instrukcje instalacji

Tworzenie cross-platformowych aplikacji w Xamarin.Forms

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

Informatyka I : Tworzenie projektu

Spis treści. Wstęp... 10

Fragment wykładu z języka C ( )

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Środowisko NetBeans. Paweł Boguszewski

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

Wstęp Korzystanie z Eclipse Część interaktywna Zakończenie. Eclipse. M. Albrycht Ł. Zubkowicz. 24 marca M. Albrycht, Ł.

- dodaj obiekt tekstowy: /** Maciej */ Stage { title : "First JavaFX App" scene: Scene { width: 300 height: 300 content: [ ] } }

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

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Automatyzacja kompilacji. Automatyzacja kompilacji 1/40

Wstp do programowania BlackBerry w jzyku C++ na platformie Mac OS

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Projektowanie z użyciem procesora programowego Nios II

podstawowa obsługa panelu administracyjnego

Podstawy programowania. Wprowadzenie

Ćwiczenia z S S jako Profinet-IO Controller. FAQ Marzec 2012

Przygotowanie platformy projektowo-programowej

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

Michał Olejnik. 22 grudnia 2009

Java jako język programowania

Ćwiczenie 6. Wiadomości ogólne.

Podstawy programowania wykład

Konfiguracja współpracy urządzeń mobilnych (bonowników).

podstawowa obsługa panelu administracyjnego

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

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

System zarządzający grami programistycznymi Meridius

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

BIOWEB INSTRUKCJA URUCHOMIENIA W IDE ECLIPSE RATIONAL SOFTWARE ARCHITECT

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Załącznik 1 instrukcje instalacji

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

Podstawy i języki programowania

Systemy zdalnego zarządzania i monitoringu: Carel platforma PRO. Tomasz Andracki, Bydgoszcz

POLITECHNIKA LUBELSKA

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

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

Zadania: 1. Funkcja przeliczająca F na C: float FtoC(float f){ return (f 32.0) * 5.0 / 9.0; }

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Podstawy technologii WWW

Linux - System Wbudowany

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

Ćwiczenie 1. Przygotowanie środowiska JAVA

Rys. 1. Główne okno programu QT Creator. Na rysunku 2 oznaczone zostały cztery przyciski, odpowiadają kolejno następującym funkcjom:

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

Javadoc. Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka

Transkrypt:

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 (IDE Integrated development environments) środowiska do crosskompilacji. Debugowanie aplikacji na urządzeniu i w sposób zdalny. 2

Tworzenie aplikacji na systemie wbudowanym System wbudowany to zwykły Linux z ograniczoną liczbą aplikacji. Tworzenie aplikacji jest zatem takie same jak tworzenie aplikacji dla desktopowych dystrybucji Linuksa. Możliwe jest więc praktycznie swobodne wykorzystanie istniejących kodów źródłowych aplikacji i bibliotek do tworzenia własnych nowych programów dla systemu wbudowanego wykorzystanie dostępnego oprogramowania może być jednak ograniczone ze względu na zasoby samego urządzenia (wydajność, ilość pamięci czy dostępne peryferia). 3

Języki programowanie Najczęściej stosowanym językiem programowania w Linuksie jest C. C ++ jest stosowany raczej dla większych aplikacji należy wtedy dodać odpowiednie biblioteki do systemu. Również języki skryptowe takie jak python, perl czy lua mogą być wykorzystywane do szybkiego tworzenia aplikacji, (np. aplikacji internetowych) wymagają one jednak zainstalowania interpretera na systemie wbudowany, co zazwyczaj zwiększa zużycie pamięci i nieco obniża wydajność systemu. 4

Tworzenie aplikacji Bezpośrednie tworzenie prostych aplikacji na systemie wbudowanym zazwyczaj nie wymaga gwarantowania dużej przenośności czy skomplikowanego procesu konfiguracji kompilacji. Zazwyczaj zatem wystarcza napisanie prostego pliku makefile. Dla bardziej skomplikowanych aplikacji wymagających konfiguracji procesu kompilacji lub kompilacji aplikacji na innym np. desktopowym systemie zazwyczaj wykorzystuje się narzędzia umożliwiające zautomatyzowanie tworzenia pliku makefile autotools, Cmake. 5

Prosty makefile hello: hw_hello.o hw_power.o hw_defs.h hw_hello.h hw_power.h gcc -Wall -ansi -pedantic -lm hw_main.c hw_hello.o hw_power.o -o hello echo hello: zbudowane! hw_hello.o: hw_hello.c hw_defs.h gcc -c -Wall -ansi -pedantic hw_hello.c hw_power.o: hw_power.c hw_defs.h gcc -c -Wall -ansi -pedantic hw_power.c 6

Eclipse Eclipse jest zintegrowanym środowiskiem programistycznym (ang. Integral Development Environment - IDE), które jest szeroko rozpowszechnione w środowisku programistów Javy, PHP, czy C++. Siłą Eclipse'a jest dobrej jakości edytor kodu oraz możliwość rozszerzenie podstawowej funkcjonalności tej platformy o dodatkowe wtyczki, których liczba w tej chwili jest liczona w tysiącach. Projekt został stworzony przez firmę IBM, a następnie udostępniony na zasadach otwartego oprogramowania. W chwili obecnej jest on rozwijany przez Fundację Eclipse. 7

Z menu File New Project 8

9

Wybieramy nazwę projektu i typ toolchaina jako Cross Gcc 10

Następnie określamy opcje naszego toolchaina: Cross compiler prefix: arm-openwrt-linux Cross compiler path: /home/openwrt/openwrt/staging_dir/toolchain-... 11

Wybieramy Project Properties następnie C/C++ General i klikamy na link Configure Workspace Settings 12

Wybieramy C/C++ Build Environment, i klikamy Add... następnie dodajemy nową zmienną STAGING_DIR i określamy jej wartość na /home/openwrt/openwrt/staging_dir/toolchain- 13

Zamykamy preferencje. Eclipse jest gotowy do tworzenia i kompilowania kodu w C. 14

Zdalne uruchamianie aplikacji. 15

Zdalne uruchamianie aplikacji. 16

Zdalne uruchamianie aplikacji. 17

Teraz ustawiamy parametry zdalnego Linuksa. 18

I konfigurujemy dostęp przez ssh 19

Łączymy się z OpenWrt 20

Pliki można przenosić między katalogami na zasadzie przeciągnij i upuść 21

Mamy też bezpośredni dostęp do terminala OpenWrt 22

Debugowanie aplikacji GDB - GNU Debugger: debugger będący częścią projektu GNU, napisany w 1988 r. przez Richarda Stallmana, obsługujący wiele architektur procesorowych, wspiera wiele języków programowania, w tym: Ada, C, C ++, Objective-C, Free Pascal, FORTRAN Java, działa w trybie tekstowym, lecz zdecydowana większość zintegrowanych środowisk programistycznych posiadających interfejs graficzny potrafi prezentować wyniki działania GDB, 23

Debugowanie aplikacji GDB potrafi: uruchomić program, podać mu argumenty, ustawić wszystkie parametry, które mogą mieć wpływ na jego działanie, zatrzymać program po wystąpieniu odpowiedniego zdefiniowanego warunku (na polecenie użytkownika, przy zmianie wartości zmiennej, przy wykonaniu odpowiedniej instrukcji, linii pliku źródłowego czy po wystąpieniu innego zdarzenia). A także wykonywać go krok po kroku, sprawdzić wartość konkretnych zmiennych, rejestrów oraz wyrażeń, zmieniać pamięć procesu w trakcie jego działania. 24

Zdalne debugowanie aplikacji Debugowanie aplikacji w systemie wbudowanym zakłada zazwyczaj uruchamianie niewielkiego programu gdbserver w systemie docelowym. Zajmuje się on wykonywaniem aplikacji oraz zbieraniem danych na podstawie komend otrzymanych za pośrednictwem sieci lub portu szeregowego od programu GDB uruchomionego na stacji roboczej. 25

Konfiguracja eclipse do zdalnego debugowania aplikacji 26

Konfiguracja eclipse do zdalnego debugowania aplikacji 27

Konfiguracja eclipse do zdalnego debugowania aplikacji 28

Konfiguracja eclipse do zdalnego debugowania aplikacji 29

Dziękuję za uwagę Niestety to już koniec :( 30