Zastosowanie emulatorów w rozbudowie systemów wbudowanych

Podobne dokumenty
Linux -- u mnie działa!

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

Wirtualizacja. Piotr Sikora Tomasz Ziółkowski

SYSTEMY OPERACYJNE WYKŁAD 1 INTEGRACJA ZE SPRZĘTEM

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

Systemy Operacyjne Wirtualizacja

Prezentacja emulatora QEMU Zajęcia SO

Przegląd dostępnych hypervisorów. Jakub Wojtasz IT Solutions Architect

System operacyjny System operacyjny

Q E M U.

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

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

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

System wspomagania zarządzania wirtualizacją

VMware. Prezentacja na Systemy Operacyjne

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

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

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

Podstawowe zagadnienia

Programowanie mikroprocesorów jednoukładowych

Dystrybucje Linuksa c.d.

Procesory w FPGA H D L. dr inż. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

Systemy na Chipie. Robert Czerwiński

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

Emulacja maszyny. Program udaje zupełnie inną architekturę. Musi przetłumaczyć instrukcje emulowane na instrukcje platformy, na której działa

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

AsLinkEx instrukcja obsługi

Konsolidacja i wirtualizacja na platformie IBM Power: najlepszą metodą obniżenia kosztów IT

Embedded Solutions Automaticon Efektywne pomiary i sterowanie przy użyciu systemu wbudowanego MicroDAQ

Linux KVM - wparcie dla wirtualizacji w kontekście serwerów ARM

Instrukcja obsługi debugera JTAG-AVR USB v2

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Załącznik nr 6 Uszczegółowienie przedmiotu zamówienia. Pakiet 1 (Gdańsk) Tabela 1. Komputer przenośny. Ilość 1 sztuka

Testowanie aplikacji mobilnych z ukierunkowaniem na system Android

Spis treści. Wykaz ważniejszych skrótów Wprowadzenie Rdzeń Cortex-M Rodzina mikrokontrolerów XMC

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

Programowanie Systemów Wbudowanych

Konfiguracja i kompilacja jądra Linux. Based on Free Electrons

Struktury systemów operacyjnych

Architektury komputerów Architektury i wydajność. Tomasz Dziubich

Elementy składowe systemu komputerowego

Programowanie mikrokontrolerów AVR

Załącznik nr 6 Uszczegółowienie przedmiotu zamówienia. Pakiet 1 (Warszawa) Tabela 1. Komputer przenośny. Ilość 1 sztuka

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych Instytut Telekomunikacji Zakład Podstaw Telekomunikacji.

Parametry wydajnościowe systemów internetowych. Tomasz Rak, KIA

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

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

POLITECHNIKA WARSZAWSKA Wydział Elektroniki i Technik Informacyjnych. Instytut Telekomunikacji Zakład Podstaw Telekomunikacji

Tworzenie oprogramowania

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

HaeRWu Marcin Juszkiewicz. OpenEmbedded. Wprowadzenie. Marcin Juszkiewicz. Poznań OpenEmbedded.

Tworzenie i obsługa wirtualnego laboratorium komputerowego

REFERAT PRACY DYPLOMOWEJ

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Analiza i Synteza Układów Cyfrowych

Wirtualizacja w praktyce.

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

2 Tworzenie oprogramowania dla systemu wbudowanego

Licencjonowanie w środowiskach wirtualnych

Skrócony przewodnik OPROGRAMOWANIE PC. MultiCon Emulator

Wykład 1 Wprowadzenie

System komputerowy. System komputerowy

MDK-Plus. Licencja Node-Locked 8260 EUR 5740 EUR 3340 EUR gratis 3300 EUR 2300 EUR 1330 EUR 650 EUR 3970 EUR 2760 EUR 1600 EUR

Konferencja I3 internet infrastruktury - innowacje. SMOA Devices. Infrastruktura do monitorowania i kontroli zuŝycia energii

Tomasz Greszata - Koszalin

Know your tools KVM. Dariusz Puchalak Dariusz_Puchalak < at > ProbosIT.pl

Automatyczne generowanie testów z modeli. Bogdan Bereza Automatyczne generowanie testów z modeli

Komp m u p t u ery w bu b d u o d wane Cezary Ziółkowski

Konwersja maszyny fizycznej na wirtualną.

USB firmware changing guide. Zmiana oprogramowania za przy użyciu połączenia USB. Changelog / Lista Zmian

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

KATEDRA SYSTEMÓW MULTIMEDIALNYCH SEMINARIUM MULTIMEDIALNE SYSTEMY MEDYCZNE

Wprowadzenie do Algo tradingu czyli zaawansowane funkcje platformy MT4. Robert Gawron, , Warszawa

Programowanie aplikacji mobilnych

Technika mikroprocesorowa. Linia rozwojowa procesorów firmy Intel w latach

Moxa Solution Day Cezary Ziółkowski

Sprzętowo wspomagane metody klasyfikacji danych

Programowanie procesora Microblaze w środowisku SDK

Emulacja karty elektronicznej EMV. Michał Głuchowski Praca dyplomowa inżynierska pod opieką prof. Zbigniewa Kotulskiego

Instalacja SQL Server Konfiguracja SQL Server Logowanie - opcje SQL Server Management Studio. Microsoft Access Oracle Sybase DB2 MySQL

Załącznik nr 6 Uszczegółowienie przedmiotu zamówienia. Pakiet 1 (Warszawa) Tabela 1. Ilość 1 sztuka

Wirtualizacja. Maciej Pawlisz, Konrad Tomala, Paweł Łukasz

Narzędzia programowe

Wpływ architektury procesora na system operacyjny

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2018 CZĘŚĆ PRAKTYCZNA

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Laboratorium - Zarządzanie systemem plików poprzez wbudowane oprogramowanie w systemie Windows XP

Laboratorium Chmur obliczeniowych. Paweł Świątek, Łukasz Falas, Patryk Schauer, Radosław Adamkiewicz

PRZEWODNIK PO PRZEDMIOCIE

WZÓR UMOWY. Zawarta w Białymstoku, w dniu.. pomiędzy:

TECHNOLOGIE INFORMACYJNE

mgr inż. Tadeusz Andrzejewski JTAG Joint Test Action Group

Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza

Elektroniczna Ewidencja Materiałów Wybuchowych

Politechnika Poznańska, Instytut Informatyki, TWO/GE. Programowanie dla ios

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

System generacji raportów

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

Wirtualizacja. Metody, zastosowania, przykłady

Transkrypt:

Zastosowanie emulatorów w rozbudowie systemów wbudowanych Jan Kowalewski kowalewski.j@protonmail.com May 29, 2019 Jan Kowalewskikowalewski.j@protonmail.com Zastosowanie emulatorów w rozbudowie systemów wbudowanych May 29, 2019 1 / 13

Definicje Emulator (wikipedia) Program komputerowy (czasem wraz z koniecznym sprzętem), który uruchomiony w danym systemie komputerowym duplikuje funkcje innego systemu komputerowego. Pierwszy system nazywany jest gospodarzem (ang. host), a drugi gościem (ang. guest). Mówimy, że drugi system jest emulowany przez pierwszy. Emulator (IEEE) A device, computer program, or system that accepts the same inputs and produces the same outputs as a given system. Contrast with simulator. Simulator (IEEE) A device, computer program, or system that behaves or operates like a given system when provided a set of controlled inputs. Contrast with emulator. A simulator provides inputs or responses that resemble anticipated process parameters. Its function is to present data to the system at known speeds and in a proper format. Jan Kowalewskikowalewski.j@protonmail.com Zastosowanie emulatorów w rozbudowie systemów wbudowanych May 29, 2019 2 / 13

Typy emulatorów Programowe Emulator jest napisany jako program i zachowuje się jak sprzęt na którym możemy uruchomić inne oprogramowanie skompilowane na emulowana architekturę. To znaczy, że możemy emulować CPU, peryferia, środowiska, oprogramowanie jako instancja w naszym systemie operacyjnym. Sprzętowe (In Circuit Emulator - ICE) Układ elektroniczny używany do debuggowania oprogramowania wykonywanego na CPU. Najczęściej dostęp do niego uzyskujemy przez JTAG, w ten sposób mamy dostęp do procesora, jego rejestrów wewnętrznych etc. Zatem w prosty sposób możemy się komunikować ze sprzętem z naszego systemu operacyjnego np. w łańcuchu: OS <-> USB <-> JTAG <-> Emulator <-> CPU Jan Kowalewskikowalewski.j@protonmail.com Zastosowanie emulatorów w rozbudowie systemów wbudowanych May 29, 2019 3 / 13

Przykłady Programowe: EmbeddedICE QEMU (multiplatform) Renode (multiplatform) MAME - Multiple Arcade Machine Emulator epsxe (playstation) DOSBox Sprzętowe: AVT-5039 (AVR) PADAUK Tech PDK 5S-I-S01 (PADAUK) EmbeddedICE (ARM) Jan Kowalewskikowalewski.j@protonmail.com Zastosowanie emulatorów w rozbudowie systemów wbudowanych May 29, 2019 4 / 13

Przykładowe zastosowania Debugging Testowanie bez używania sprzętu - w przypadku próbek inżynieryjnych ułatwia pracę nad urzadzeniem przez wiele osób Testowanie nowych architektur zanim zostana wyprodukowane w krzemie Tani sposób na sprawdzenie swojego pomysłu Dodawanie nowych peryferiów do CPU i ich testowanie przed produkcja Edukacyjnie tańsze rozwiazanie niż sprzęt Trudno zepsuć emulatory programowe Skalowalność - uruchamianie wielu urzadzeń na raz Crossplatformowe testowanie Setup wielu urzadzeń jest łatwiejszy w badaniu Możliwość podłaczania zewnętrznych narzędzi Większa kontrola nad flow Jan Kowalewskikowalewski.j@protonmail.com Zastosowanie emulatorów w rozbudowie systemów wbudowanych May 29, 2019 5 / 13

QEMU vs. Renode QEMU - emulator programowy Ponad 90% kodu w C, część w C++ i Python. Renode - emulator programowy Ponad 69% kodu w C# (modele peryferiów, UI, cores, dodatkowe narzędzia). Testy w RobotFramework, dodatkowe narzędzia i skrypty w Python. Jan Kowalewskikowalewski.j@protonmail.com Zastosowanie emulatorów w rozbudowie systemów wbudowanych May 29, 2019 6 / 13

QEMU vs. Renode QEMU - Wspierane OS Linux (brak dod. wymagań) OS-X (brak dod. wymagań) Win32 (Mingw64 toolchain) Renode - Wspierane OS Linux (Mono) OS-X (Mono) Windows (.NET Framework 4.7) Jan Kowalewskikowalewski.j@protonmail.com Zastosowanie emulatorów w rozbudowie systemów wbudowanych May 29, 2019 7 / 13

QEMU vs. Renode QEMU - Emulowane architektury Alpha OpenRISC ARM PPC RISC-V HPPA i386 SPARC Microblaze MIPS Xtensa NIOS2... Renode - Emulowane architektury ARM x86 RISC-V SPARC PowerPC Jan Kowalewskikowalewski.j@protonmail.com Zastosowanie emulatorów w rozbudowie systemów wbudowanych May 29, 2019 8 / 13

QEMU vs. Renode QEMU - Features CI/testy - Travis QEMU + Docker -> brak oficjalnego wsparcia Przykładowe UI - QtEmu Debugging: GDB Verilator - nie wspierane Uruchamianie wielu urzadzeń wymaga uruchomienia osobnych instancji QEMU Brak emulacji komunikacji bezprzewodowej Wireshark dostępny po wystawieniu interface u TAP Uruchomienie wymaga rozbudowanych mało intuicyjnych komend Renode - Features CI/testy - RobotFramewok Renode + Docker -> pełne wsparcie UI - XWT + AntShell Debugging: GDB, Monodevelop Verilator - wspierane Przy pomocy jednego skryptu można uruchomić wiele urzadzeń w jednej instancji emulacyjnej Wsparcie komunikacji bezprzewodowej Właczenie logowania do Wireshark z poziomu UI Łatwa skalowalność od Core, przez SoC, boardy po całe sieci w ramach jednej emulacji Uruchomienie przez gotowe skrypty Jan Kowalewskikowalewski.j@protonmail.com Zastosowanie emulatorów w rozbudowie systemów wbudowanych May 29, 2019 9 / 13

QEMU - przykładowe uruchomienie Jan Kowalewskikowalewski.j@protonmail.com Zastosowanie emulatorów w rozbudowie systemów wbudowanych May 29, 2019 10 / 13

Renode - przykładowe uruchomienie Jan Kowalewskikowalewski.j@protonmail.com Zastosowanie emulatorów w rozbudowie systemów wbudowanych May 29, 2019 11 / 13

QEMU vs. Renode LIVE DEMOS Jan Kowalewskikowalewski.j@protonmail.com Zastosowanie emulatorów w rozbudowie systemów wbudowanych May 29, 2019 12 / 13

Źródła https://pl.wikipedia.org/wiki/emulator http://ww1.microchip.com/downloads/en/devicedoc/doc6289.pdf https://www.fda.gov/inspections-compliance-enforcement-and-criminalinvestigations/inspection-guides/glossary-computer-system-softwaredevelopment-terminology-895 https://en.wikipedia.org/wiki/in-circuit_emulation https://github.com/qemu/qemu https://wiki.qemu.org/documentation https://github.com/renode https://github.com/renode/renode-docs http://infocenter.arm.com/help/topic/com.arm.doc.ddi0180a/ddi0180.pdf https://antmicro.com/blog/2017/08/renode-press-release/ https://wiki.qemu.org/images/0/0c/qemu-logo.png Jan Kowalewskikowalewski.j@protonmail.com Zastosowanie emulatorów w rozbudowie systemów wbudowanych May 29, 2019 13 / 13