Programowanie mikroprocesorów jednoukładowych

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

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

Q E M U.

Tworzenie oprogramowania

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

Programowanie procesora Microblaze w środowisku SDK

Linux -- u mnie działa!

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

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

Testowanie aplikacji mobilnych z ukierunkowaniem na system Android

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

Systemy operacyjne na platformach mobilnych 2 Platforma Maemo

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

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

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

Programowanie Systemów Wbudowanych

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

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

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

Zastosowanie emulatorów w rozbudowie systemów wbudowanych

Prezentacja emulatora QEMU Zajęcia SO

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

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

Android - wprowadzenie. Łukasz Przywarty

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

System wspomagania zarządzania wirtualizacją

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

Załącznik 1 instrukcje instalacji

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

AsLinkEx instrukcja obsługi

POLITECHNIKA LUBELSKA

Programowanie aplikacji mobilnych

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Programowanie Systemów Czasu Rzeczywistego

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

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

Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu Linux

egroupware czy phpgroupware jest też mniej stabilny.

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

WIRTUALIZACJA teoria i praktyka. Oskar Skibski, Piotr Sikora, Mateusz Kruszyński

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

Struktury systemów operacyjnych

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

Instalacja NOD32 Remote Administrator

Nowe produkty w ofercie Red Hat

KATEDRA SYSTEMÓW MULTIMEDIALNYCH SEMINARIUM MULTIMEDIALNE SYSTEMY MEDYCZNE

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

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

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

OSGi Agata Hejmej

EMBEDDED LINUX ON ARM9 CORE EMBEDDED LINUX NA PROCESORACH Z RODZINY ARM9

OpenGL Embedded Systems

Automatyka i Robotyka studia stacjonarne drugiego stopnia

Tworzenie cross-platformowych aplikacji w Xamarin.Forms

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

Wirtualizacja. Przegla d wybranych technik. Magda Michalska Krzysztof Kulewski Andrzej Pacuk. Systemy operacyjne 2006

Wirtualizacja w praktyce.

WPROWADZENIE DO JĘZYKA JAVA

Środowisko NetBeans. Paweł Boguszewski

Programowanie mikrokontrolerów AVR

Środowiska i platformy programistyczne

Wirtualizacja. Piotr Sikora Tomasz Ziółkowski

Instrukcja instalacji oprogramowania dla środowiska Windows

Java w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA

Platforma Eclipse: Pluginy, RCP oraz GEF

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

Instrukcja instalacji Amadeus Selling Platform

Elektroniczna Legitymacja Studencka jako narzędzie wielofunkcyjne Oberthur Technologies

CODE::BLOCKS & VALGRIND OPRACOWAŁ MICHAŁ BETHKE

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

LabVIEW PLATFORMA EDUKACYJNA Lekcja 2 Pierwsze kroki z myrio

BCS-NVR0402. Rejestrator sieciowy IP 4 kanałowy

Instalacja Czytnika Kart w systemie Windows 7

Wykład 1 Wprowadzenie

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

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

INSTRUKCJA I WSKAZÓWKI

Koncepcja wirtualnej pracowni GIS w oparciu o oprogramowanie open source

Systemy Operacyjne Wirtualizacja

Narzędzia podnoszące jakość procesu wytwarzania i wdrażania

Instrukcja szybkiego rozpoczęcia pracy

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

Materiały dodatkowe. Simulink Real-Time

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

Programowanie obiektowe zastosowanie języka Java SE

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

Załącznik 1 instrukcje instalacji

Laboratorium - Instalacja Virtual PC

Instrukcja szybkiego rozpoczęcia pracy

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

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

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

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

Globalne referencje dla idempiere Business Suite

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

Przetwarzanie danych w chmurze

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

Transkrypt:

Programowanie mikroprocesorów jednoukładowych Własne środowisko programistyczne Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 23 listopada 2016 1 / 18

Plan I Integracja środowiska Ubuntu Eclipse QEMU Jenkins Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 23 listopada 2016 2 / 18

Ubuntu I 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ń. Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 23 listopada 2016 3 / 18

Zalety i wady Ubuntu z perspektywy programisty I 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ą Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 23 listopada 2016 4 / 18

Narzędzia programistyczne I Instalacja kompilatorów i debuggera: apt-get install gcc-arm-none-eabi gdb-arm-none-eabi Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 23 listopada 2016 5 / 18

Eclipse I 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 Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 23 listopada 2016 6 / 18

Eclipse II Reporting Tools, generator kodu Eclipse Modeling Framework oraz Graphical Editing Framework do tworzenia graficznych interfejsów użytkownika. Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 23 listopada 2016 7 / 18

Zalety i wady Eclipse I Zalety: Eclipse CDT (C/C++ Development Tooling) możliwość rozbudowy przez wtyczki wbudowane środowisko do debuggowania 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 Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 23 listopada 2016 8 / 18

Eclipse CDT (C/C++ Development Tooling) I CDT jest nakładką na środowisko Eclipse wspierającą tworzenie oprogramowania w języku C/C++. Pozwala na kolorwanie składni, śledznie 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 debuggowanie 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 Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 23 listopada 2016 9 / 18

Obsługa ARM w Eclipse CDT I Aby umożliwić współpracę Eclipse z architekturą ARM należy zainstlować odpowiednią wtyczkę. W menu Help należy wybrać Install New Software i podać następujący adres: http://gnuarmeclipse.sourceforge.net/updates Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 23 listopada 2016 10 / 18

QEMU I 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ąć KVM, QEMU może wirtualizować x86, serwer i system wbudowany PowerPC, S390, 32-bitowy i 64-bitowy ARM oraz MIPS. Instalcja QEMU w Ubuntu: apt-get install qemu-system-arm Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 23 listopada 2016 11 / 18

QEMU możliwości z perspektywy programisty I 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 Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 23 listopada 2016 12 / 18

Platofrmy 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 Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 23 listopada 2016 13 / 18

Platofrmy ARM w QEMU 2.5 II lm3s811evb Stellaris LM3S811EVB mainstone Mainstone II (PXA27x) midway Calxeda Midway (ECX-2000) 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 Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 23 listopada 2016 14 / 18

Platofrmy ARM w QEMU 2.5 III 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) 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) Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 23 listopada 2016 15 / 18

Debuggowanie w QEMU QEMU umożliwia debuggowanie programów napisanych dla różnych platform. Aby uruchomić debuggowanie 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 Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 23 listopada 2016 16 / 18

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. 1 $ l s u s b 2 Bus 001 Device 001: ID 1d6b :0001 Linux Foundation 1. 1 r o o t hub 3 Bus 001 Device 002: ID 18 d1 : 4 e11 Google I n c. Nexus One Phone Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 23 listopada 2016 17 / 18

Jenkins Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 23 listopada 2016 18 / 18

References Mariusz Naumowicz Programowanie mikroprocesorów jednoukładowych 23 listopada 2016 19 / 18