>>> Techniki rozbudowy systemów wbudowanych >>> Narzędzia wspomagające rozbudowę. Name: Mariusz Naumowicz Date: 29 maja 2019 [~]$ _ [1/24]

Podobne dokumenty
Programowanie mikroprocesorów jednoukładowych

Q E M U.

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

Tworzenie oprogramowania

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

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

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

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

>>> Techniki rozbudowy systemów wbudowanych >>> Biblioteki wspomagające rozbudowę systemów wbudowanych. Name: Mariusz Naumowicz Date: 29 maja 2019

QEMU działa na procesorach procesorach: emuluje procesory: dostępne dla s.o. hosta:

KATEDRA SYSTEMÓW MULTIMEDIALNYCH SEMINARIUM MULTIMEDIALNE SYSTEMY MEDYCZNE

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

Android - wprowadzenie. Łukasz Przywarty

Testowanie aplikacji mobilnych z ukierunkowaniem na system Android

Programowanie procesora Microblaze w środowisku SDK

Linux -- u mnie działa!

Systemy operacyjne na platformach mobilnych 3 Wstęp do systemu Android

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

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

egroupware czy phpgroupware jest też mniej stabilny.

POLITECHNIKA LUBELSKA

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Narzędzia uruchomieniowe dla systemów Embedded firmy Total Phase

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

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

BF30 OCDLINK/USBASP ARM-JTAG/AVR-ISP Programmer-debugger Instrukcja obsługi

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

Zadanie1. Wykorzystując serwis internetowy Wikipedii wyjaśnij następujące pojęcia: wirtualizacja, VirtualBox, Vmware, KVM, Virtual PC, Hyper-V.

Wirtualizacja. Metody, zastosowania, przykłady

REFERAT PRACY DYPLOMOWEJ

To sposób w jaki użytkownik wchodzi w interakcje z systemem. Środowisko graficzne używa kombinacji graficznych elementów(przyciski, okna, menu) i

Instrukcja instalacji oprogramowania dla środowiska Windows

Zastosowanie emulatorów w rozbudowie systemów wbudowanych

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

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

Wirtualizacje. Opracowali: Piotr Dąbrowiecki Jakub Gołębiowski Winicjusz Szyszka

Prezentacja emulatora QEMU Zajęcia SO

JavaFX. Technologie Biznesu Elektronicznego. Wydział Informatyki i Zarządzania Politechnika Wrocławska

Tworzenie cross-platformowych aplikacji w Xamarin.Forms

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

BCS-NVR0402. Rejestrator sieciowy IP 4 kanałowy

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Programowanie Systemów Czasu Rzeczywistego

Środowiska i platformy programistyczne

AsLinkEx instrukcja obsługi

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

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

USB interface in 8-bit microcontrollers PIC18F family manufactured by Microchip.

Firebird Alternatywa dla popularnych darmowych systemów bazodanowych MySQL i Postgres

Nowe produkty w ofercie Red Hat

I. Informacje ogólne. Jednym z takich systemów jest Mambo.

Kurs programowania mikrokontrolerów ARM z rodziny Cortex-M3

PRZYJĘTE ZASADY GRY...3 ZAŁOŻENIA PROJEKTU...4 CZYM JEST I DLACZEGO QT?...5 DIAGRAM KLAS...7 DIAGRAM GRY SINGLE PLAYER...8 DIAGRAM MULTIPLAYERA...

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

Instalacja Czytnika Kart w systemie Windows 7

AE/ZP-27-16/14. Oprogramowanie do wykonywania kopii zapasowych oraz zarządzania maszynami wirtualnymi

Środowisko NetBeans. Paweł Boguszewski

IBM SPSS Statistics - Essentials for Python: Instrukcje instalacji dla Windows

Systemy operacyjne na platformach mobilnych 2 Platforma Maemo

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

Programowanie aplikacji mobilnych

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

Programowanie mikrokontrolerów AVR

27/13 ZAŁĄCZNIK NR 4 DO SIWZ. 1 Serwery przetwarzania danych. 1.1 Serwery. dostawa, rozmieszczenie i zainstalowanie 2. serwerów przetwarzania danych.

Laboratorium - Używanie programu Wireshark do obserwacji mechanizmu uzgodnienia trójetapowego TCP

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Tworzenie, odtwarzanie i zdalne zarządzanie treścią

Programowanie Systemów Wbudowanych

Załącznik 1 instrukcje instalacji

Dysk 20GB przestrzeni Ajax Ajax 1.0 Baza danych MS SQL 2005 lub 2008 Express Java Java 6 run time Microsoft Silverlight 3.

WIRTUALIZACJA. Kamil Frydel, Julia Romanowska, Maciej Sokołowski. 12 listopada 2007 WIRTUALIZACJA. Kamil Frydel, Julia Romanowska, Maciej Sokołowski

Instrukcja obsługi. Grand IP Camera III. Kamera IP do monitoringu

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

INSTRUKCJA OBSŁUGI.

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

PROFESJONALNE USŁUGI BEZPIECZEŃSTWA

System wspomagania zarządzania wirtualizacją

Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu Linux

SKRó CONA INSTRUKCJA OBSŁUGI

ActiveXperts SMS Messaging Server

Wirtualizacja. Piotr Sikora Tomasz Ziółkowski

Szczegółowy Opis Przedmiotu Zamówienia

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Instalacja Czytnika Kart w systemie Windows 7, Windows XP, Windows Vista, Windows 2000.

Programator procesorów rodziny AVR AVR-T910

Globalne referencje dla idempiere Business Suite

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

Podstawa rozwiązań sterowania przemysłowego na komputerach PC. Software Controller. siemens.pl/software-controller

VMware, QEMU, UML. oraz inne wirtualne maszyny. Piotr Findeisen Filip Grządkowski Piotr Kuśka Krzysztof Mroczek

ABC systemu Windows 2016 PL / Danuta Mendrala, Marcin Szeliga. Gliwice, cop Spis treści

WDC10 InstaShow Aktualizacja oprogramowania sprzętowego SOP

Snifery wbudowane w Microsoft Windows

Załączniki nr I-V do Specyfikacji istotnych Warunków Zamówienia (SIWZ) Szczegółowy opis przedmiotu zamówienia

CODE::BLOCKS & VALGRIND OPRACOWAŁ MICHAŁ BETHKE

Instrukcja instalacji Amadeus Selling Platform

1.1 Co to jest USBasp? Parametry techniczne Obsługiwane procesory Zawartość zestawu... 4

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

Transkrypt:

>>> Techniki rozbudowy systemów wbudowanych >>> Narzędzia wspomagające rozbudowę Name: Mariusz Naumowicz Date: 29 maja 2019 [~]$ _ [1/24]

>>> Treści wykładu 1. Dedykowane i zintegrowane narzędzia programistyczne Atmel Studio MPLAB X IDE Zalety i wady zintegrowanych środowisk programistycznych 2. Integracja własnego środowiska Microsoft Windows Zalety i wady Microsoft Windows z perspektywy programisty Ubuntu Zalety i wady Ubuntu z perspektywy programisty Eclipse Zalety i wady Eclipse Eclipse CDT (C/C++ Development Tooling) Obsługa ARM w Eclipse CDT QEMU QEMU możliwości z perspektywy programisty Platformy ARM w QEMU 2.5 Debugowanie w QEMU USB w QEMU Wireshark [~]$ _ [2/24]

>>> Atmel Studio Studio 7 to zintegrowana platforma programistyczna (IDP) do opracowywania i debugowania wszystkich aplikacji mikrokontrolerów AVR i SAM. Atmel Studio 7 IDP zapewnia bezproblemowe i łatwe w użyciu środowisko do pisania, budowania i debugowania aplikacji napisanych w C / C ++ lub w kodzie zespołu. Łączy się również bezproblemowo z debuggerami, programistami i zestawami programistycznymi, które obsługują urządzenia AVR i SAM. [1. Dedykowane i zintegrowane narzędzia programistyczne]$ _ [3/24]

>>> MPLAB X IDE MPLAB X Integrated Development Environment (IDE) to program działający na komputerze PC (Windows, Mac OS, Linux ) w celu opracowania aplikacji dla mikrokontrolerów Microchip i cyfrowych sterowników sygnału. Nazywa się to zintegrowanym środowiskiem programistycznym, ponieważ zapewnia pojedyncze zintegrowane środowisko do opracowywania kodu dla wbudowanych mikrokontrolerów. [1. Dedykowane i zintegrowane narzędzia programistyczne]$ _ [4/24]

>>> Zalety i wady zintegrowanych środowisk programistycznych Zalety: * zwiększona wydajność szybsze kodowanie przy mniejszym wysiłku * współpraca grupa programistów może łatwo współpracować w ramach środowiska IDE * zarządzanie projektem łatwiejsze zarządzanie zasobami projektu Wady: * może być zbyt skomplikowany dla początkujących programistów * każde IDE będzie miało unikalną krzywą uczenia się wymagającą czasu na naukę * nie można automatycznie naprawić błędów, nadal potrzebuję wiedzy, aby skutecznie kodować * komercyjne rozwiązania niosą za sobą ograniczenia w bezpłatnej wersji, a zniesienie ograniczeń związane jest z opłatami [1. Dedykowane i zintegrowane narzędzia programistyczne]$ _ [5/24]

>>> Microsoft Windows Microsoft Windows rodzina systemów operacyjnych stworzonych przez firmę Microsoft. Systemy rodziny Windows działają na serwerach, systemach wbudowanych oraz na komputerach osobistych, z którymi są najczęściej kojarzone. [2. Integracja własnego środowiska]$ _ [6/24]

>>> Zalety i wady Microsoft Windows z perspektywy programisty Plusy: * prędkość działania * dostęp do większej oprogramowania komercyjnego wspierającego rozwój systemów wbudowanych Minusy: * koszt licencji * stabilność systemu zagrożona aktualizacjami * aktualizacje obciążające system i łącze internetowe * problemy z kompatybilnością oprogramowania działającego na starszych wersjach systemu, problem dotyczy także sterowników [2. Integracja własnego środowiska]$ _ [7/24]

>>> Ubuntu Ubuntu Linux jest gotowym systemem biurkowym. Autorzy dystrybucji wybrali z olbrzymich zasobów Debiana ich zdaniem najlepsze i najstabilniejsze oprogramowanie niezbędne do pełnego wykorzystania komputera. Pozwala to na uruchomienie i efektywne wykorzystanie systemu bezpośrednio po instalacji. Jednocześnie, poprzez pozostawienie dostępu do pakietów debianowych, każdy może dostosować system do własnych potrzeb i upodobań. [2. Integracja własnego środowiska]$ _ [8/24]

>>> Zalety i wady Ubuntu z perspektywy programisty Plusy: * dostęp do dużej ilości pakietów * w przypadku LTS długie wsparcie dla systemu * łatwość obsługi * obsługa wielu platform Minusy: * domyślne środowisko graficzne działa wolno * problemy ze stabilnością [2. Integracja własnego środowiska]$ _ [9/24]

>>> Narzędzia programistyczne Instalacja kompilatorów i debugera: apt-get install gcc-arm-none-eabi gdb-arm-none-eabi [2. Integracja własnego środowiska]$ _ [10/24]

>>> Eclipse Eclipse to rozbudowane środowisko programistyczne stworzone przez firmę IBM i przekazane następnie społeczności Open Source, którego główna zaletą jest obsługa wtyczek rozszerzających jego możliwości o obsługę wielu języków tworzenia kodu. Wśród wielu pluginów znajdziemy m.in. odpowiedzialne za wspomaganie pisania aplikacji w języku Java, C, C++, PHP, JavaScript, Actionscript 2, AmigaDT, tworzenie GUI itp. Eclipse posiada takie funkcje jak weryfikacja błędów, auto uzupełnianie kodu czy podświetlanie składni. Program został napisany w Javie dzięki czemu jest bardzo elastyczny i można go uruchomić na różnych platformach systemowych (Windows, Linux). W skład platformy, prócz IDE, wchodzą między innymi takie narzędzia, jak Web Tools Platform Project do budowania usług i aplikacji sieciowych, C/C++ Development Tooling do rozwijania aplikacji w C/C++, kompletne narzędzie do raportowania Business Intelligence and Reporting Tools, generator kodu Eclipse Modeling Framework oraz Graphical Editing Framework do tworzenia graficznych interfejsów użytkownika. [2. Integracja własnego środowiska]$ _ [11/24]

>>> Zalety i wady Eclipse Zalety: * Eclipse CDT (C/C++ Development Tooling) * możliwość rozbudowy przez wtyczki * wbudowane środowisko do debugowania * obsługa wielu języków programowania Wady: * program napisany jest w języku Java, przez co działa wolno na starszych maszynach * wymaga środowiska Java do uruchomienia [2. Integracja własnego środowiska]$ _ [12/24]

>>> Eclipse CDT (C/C++ Development Tooling) CDT jest nakładką na środowisko Eclipse wspierającą tworzenie oprogramowania w języku C/C++. Pozwala na kolorowanie składni, śledzenie błędów poprzez wskazywanie linii z błędem w konsoli zdarzeń oraz w edytorze. Istotnym elementem jest tworzenie projektów dla różnych toolchainów dla których środowisko posiada zdefiniowane domyślne ustawienia. Środowisko umożliwia także debugowanie kodu, daje możliwość śledzenia wykonywania kodu linia po linii, podgląd wartości rejestrów itp. Dodatkowym atutem jest możliwość obsługi oprogramowania do kontroli wersji poprzez wtyczki. Warto dodać, że system podpowiada składnię używanych funkcji. Instalacja Eclipse CDT w Ubuntu: apt-get install eclipse-cdt [2. Integracja własnego środowiska]$ _ [13/24]

>>> Obsługa ARM w Eclipse CDT Aby umożliwić współpracę Eclipse z architekturą ARM należy zainstalować odpowiednią wtyczkę. W menu Help należy wybrać Install New Software i podać następujący adres: http://gnuarmeclipse.sourceforge.net/updates [2. Integracja własnego środowiska]$ _ [14/24]

>>> QEMU QEMU jest emulatorem wielu platform sprzętowych oraz programem umożliwiającym wirtualizację. Jako emulator umożliwia uruchamianie różnych systemów operacyjnych oraz programów dla jednej maszyny (np. ARMa) na innej maszynie (np. PC). Dzięki użyciu dynamicznej translacji osiąga on bardzo dobrą wydajność. Jako program umożliwiający wirtualizację QEMU osiąga wydajność bliską wydajności natywnej bezpośrednio na procesorze hosta. QEMU wspiera wirtualizację poprzez Xen lub przez moduł KVM w Linuxie. Używając KVM, QEMU może wirtualizować x86, serwer i system wbudowany PowerPC, S390, 32-bitowy i 64-bitowy ARM oraz MIPS. Instalacja QEMU w Ubuntu: apt-get install qemu-system-arm [2. Integracja własnego środowiska]$ _ [15/24]

>>> QEMU możliwości z perspektywy programisty * możliwość emulacji wielu procesorów i płyt * możliwość emulacji podzespołów (uart, klawiatura, mysz, karta sieciowa) * możliwość podłączenia rzeczywistych urządzeń do emulowanego systemu * wbudowany debugger * obsługa dźwięku i obrazu [2. Integracja własnego środowiska]$ _ [16/24]

>>> Platformy ARM w QEMU 2.5 I * akita Sharp SL-C1000 (Akita) PDA (PXA270) * borzoi Sharp SL-C3100 (Borzoi) PDA (PXA270) * canon-a1100 Canon PowerShot A1100 IS * cheetah Palm Tungsten E aka. Cheetah PDA (OMAP310) * collie Sharp SL-5500 (Collie) PDA (SA-1110) * connex Gumstix Connex (PXA255) * cubieboard cubietech cubieboard * highbank Calxeda Highbank (ECX-1000) * imx25-pdk ARM i.mx25 PDK board (ARM926) * integratorcp ARM Integrator/CP (ARM926EJ-S) * kzm ARM KZM Emulation Baseboard (ARM1136) * lm3s6965evb Stellaris LM3S6965EVB * lm3s811evb Stellaris LM3S811EVB * mainstone Mainstone II (PXA27x) * midway Calxeda Midway (ECX-2000) [2. Integracja własnego środowiska]$ _ [17/24]

>>> Platformy ARM w QEMU 2.5 II * musicpal Marvell 88w8618 / MusicPal (ARM926EJ-S) * n800 Nokia N800 tablet aka. RX-34 (OMAP2420) * n810 Nokia N810 tablet aka. RX-44 (OMAP2420) * netduino2 Netduino 2 Machine * none empty machine * nuri Samsung NURI board (Exynos4210) * realview-eb ARM RealView Emulation Baseboard (ARM926EJ-S) * realview-eb-mpcore ARM RealView Emulation Baseboard (ARM11MPCore) * realview-pb-a8 ARM RealView Platform Baseboard for Cortex-A8 * realview-pbx-a9 ARM RealView Platform Baseboard Explore for Cortex-A9 * smdkc210 Samsung SMDKC210 board (Exynos4210) * spitz Sharp SL-C3000 (Spitz) PDA (PXA270) * sx1 Siemens SX1 (OMAP310) V2 * sx1-v1 Siemens SX1 (OMAP310) V1 * terrier Sharp SL-C3200 (Terrier) PDA (PXA270) * tosa Sharp SL-6000 (Tosa) PDA (PXA255) [2. Integracja własnego środowiska]$ _ [18/24]

>>> Platformy ARM w QEMU 2.5 III * verdex Gumstix Verdex (PXA270) * versatileab ARM Versatile/AB (ARM926EJ-S) * versatilepb ARM Versatile/PB (ARM926EJ-S) * vexpress-a15 ARM Versatile Express for Cortex-A15 * vexpress-a9 ARM Versatile Express for Cortex-A9 * virt ARM Virtual Machine * xilinx-zynq-a9 Xilinx Zynq Platform Baseboard for Cortex-A9 * z2 Zipit Z2 (PXA27x) [2. Integracja własnego środowiska]$ _ [19/24]

>>> Debugowanie w QEMU QEMU umożliwia debugowanie programów napisanych dla różnych platform. Aby uruchomić debugowanie podczas emulacji należy dodać opcję -s w linii komend emulatora. Ustawia to port 1234 w tryb nasłuchu i czeka na połączenie ze strony debuggera. W gdb należy wpisać następujący kod aby połączyć się z emulatorem: (gdb) target remote localhost:1234 [2. Integracja własnego środowiska]$ _ [20/24]

>>> USB w QEMU Dzięki bibliotece libusb możliwe jest podłączanie fizycznych urządzeń USB do systemu uruchamianego w QEMU. Służy do tego opcja -usb -usbdevice host:device_id. $ lsusb Bus 001 Device 001: ID 1 d6b : 0001 Linux Foundation 1.1 root hub Bus 001 Device 002: ID 18 d1 :4 e11 Google Inc. Nexus One Phone [2. Integracja własnego środowiska]$ _ [21/24]

>>> Wireshark Wireshark jest czołowym i powszechnie używanym analizatorem protokołów sieciowych na świecie. Pozwala zobaczyć, co dzieje się w sieci na poziomie mikroskopowym i jest śtandardem"w wielu przedsiębiorstwach komercyjnych i non-profit, agencjach rządowych i instytucjach edukacyjnych. Rozwój Wireshark rozwija się dzięki wolontariatowi ekspertów sieciowych na całym świecie i jest kontynuacją projektu rozpoczętego przez Geralda Combs w 1998 roku. [2. Integracja własnego środowiska]$ _ [22/24]

>>> Wireshark zestaw funkcji I * Przechwytywanie na żywo i analiza offline * Standardowa trójpasmowa przeglądarka pakietów * Multi-platform: Działa w systemach Windows, Linux, MacOS, Solaris, FreeBSD, NetBSD i wielu innych * Przechwycone dane sieciowe można przeglądać za pomocą GUI lub za pomocą narzędzia TShark w trybie TTY * Najpotężniejsze filtry wyświetlania w branży * Bogata analiza VoIP * Odczyt / zapis wielu różnych formatów plików przechwytywania: tcpdump (libpcap), Pcap NG, Catapult DCT2000, Cisco Secure IDS iplog, Microsoft Network Monitor, Network General Sniffer (skompresowany i nieskompresowany), Sniffer Pro i NetXray, Network Instruments Observer, NetScreen snoop, Novell LANalyzer, RADCOM WAN / LAN Analyzer, Shomiti / Finisar Surveyor, Tektronix K12xx, Visual Networks Visual UpTime, WildPackets EtherPeek / TokenPeek / AiroPeek i wiele innych * Pliki przechwytywania skompresowane za pomocą gzip można rozpakować w locie [2. Integracja własnego środowiska]$ _ [23/24]

>>> Wireshark zestaw funkcji II * Dane na żywo można odczytać z Ethernetu, IEEE 802.11, PPP / HDLC, ATM, Bluetooth, USB, Token Ring, Frame Relay, FDDI i innych (w zależności od platformy) * Obsługa odszyfrowywania wielu protokołów, w tym IPsec, ISAKMP, Kerberos, SNMPv3, SSL / TLS, WEP i WPA / WPA2 * Reguły kolorowania można zastosować do listy pakietów w celu szybkiej i intuicyjnej analizy * Dane wyjściowe można eksportować do XML, PostScript, CSV lub zwykłego tekstu [2. Integracja własnego środowiska]$ _ [24/24]