SlideShare a Scribd company logo
Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Alberto Garcia <agarcia@igalia.com>
Industrial hardware and QEMU

Introduction

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
About me

Who am I?
Alberto Garcia
Computer engineer, Coruña University
Working at Igalia since 2001
Experience in operating systems
Debian maintainer
Involved in Maemo and MeeGo

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
This talk

How to make the development of device drivers easier:
Debug problems that are hard to reproduce
Foresee points of failure
Industrial hardware as an example
Useful for any kind of hardware

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Industrial hardware and QEMU

Industrial hardware

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Industrial hardware

Used by:
Companies: factories,
shipyards, robotics, ...
Research laboratories
Universities

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Typical features

Simple
Reliable
Well-tested technology
Expensive / hard to find
Hard to replace
Sometimes designed ad-hoc

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Types of industrial hardware

ADCs, DACs
Waveform Generators
Time to digital converters
Communications: serial
ports, fieldbus

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
What it is used for

Actuators
Sensors
Control systems

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Examples

Struck SIS3320-250 8 channel ADC

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Industrial hardware and QEMU

Challenges

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Challenges of developing for this hardware

Limited availability
Bugs in the production environment cannot be reproduced
in the laboratory
Difficult to debug on-site
Narrow time windows
Dangerous environment

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Challenges of developing for this hardware

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Debugging

Is it a problem in the driver or in the device?
Is the firmware faulty? Is it wrongly loaded?
Is the hardware damaged?
How can we reproduce the bug?
Do we have easy access to the environment?
Is it remotely located?

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Industrial hardware and QEMU

Using virtualization to make
things easier

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
QEMU

Machine emulator and virtualizer
Supports multiple architectures
Can be accelerated using KVM
Free software
Flexible

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
How QEMU can help us

We can emulate the device we’re working with
Even if the hardware doesn’t exist yet!
Useful not just for software:
Develop hardware and its driver in parallel

Simulate hard to reproduce conditions
Force hardware errors or other uncommon situations
Foresee potential points of failure
Make the driver more reliable

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Hardware we’ve worked with

Simple PCIe FMC Carrier
(SPEC)

Industrial hardware and QEMU

FMC Time to Digital Converter

LinuxCon Europe 2012, Barcelona
How to create new devices in QEMU

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Emulating the device

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Industrial hardware and QEMU

Testing our drivers

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Tests

Create a set of tests for the device
Tests can “talk” to QEMU and inject errors or force other
conditions
Detect problems before the changes are put into
production

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Test environment

Framework written in python
Simple process:
The virtual machine is started
The test environment is set up
Tests are run
The results are compared with the expected values

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Unattended testing

Run QEMU without user interaction
No display necessary
Select the kernel that you want to boot
Log all messages, compare them against expected values
Easily share files between both sides
Detect when the system crashes

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Running the tests

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Continuous integration

We can run tests automatically when the driver is updated
Also if the hardware specs change
Detect regressions more easily

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Industrial hardware and QEMU

Conclusions

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Overall benefits

No need to have the actual hardware
You can also help the development of the hardware
Hardware and software can be developed in parallel

Distributed teams
More stable drivers
Test changes before they are deployed
Faster development

Continuous integration
Contribute to QEMU

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Industrial hardware and QEMU

Questions & Answers

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Industrial hardware and QEMU

Thank you!

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona
Images used in this presentation

http://www.flickr.com/photos/9197427@N06/2885827751
http://www.flickr.com/photos/
twosevenoneonenineeightthreesevenatenzerosix/7848902444/
http://www.flickr.com/photos/altemark/273968506/
http://www.flickr.com/photos/11304375@N07/2046228644/
http://www.ohwr.org/projects/spec/wiki
http://www.ohwr.org/projects/fmc-tdc/wiki

Industrial hardware and QEMU

LinuxCon Europe 2012, Barcelona

More Related Content

What's hot

Getting started with .NET Core on Linux
Getting started with .NET Core on LinuxGetting started with .NET Core on Linux
Getting started with .NET Core on Linux
Jochen Kirstätter
 
Demystifying IoT skills : What does it take to become a FullStack IoT engineer?
Demystifying IoT skills : What does it take to become a FullStack IoT engineer?Demystifying IoT skills : What does it take to become a FullStack IoT engineer?
Demystifying IoT skills : What does it take to become a FullStack IoT engineer?
Emertxe Information Technologies Pvt Ltd
 
Freddie Mac Internship Overview
Freddie Mac Internship OverviewFreddie Mac Internship Overview
Freddie Mac Internship Overview
Charles Stolze
 
WebRTC Webinar & Q&A - All About Microsoft & WebRTC Hosting Guest Speaker Ja...
WebRTC Webinar & Q&A -  All About Microsoft & WebRTC Hosting Guest Speaker Ja...WebRTC Webinar & Q&A -  All About Microsoft & WebRTC Hosting Guest Speaker Ja...
WebRTC Webinar & Q&A - All About Microsoft & WebRTC Hosting Guest Speaker Ja...
Amir Zmora
 
Components of .NET Framework
Components of .NET FrameworkComponents of .NET Framework
Components of .NET Framework
Roshith S Pai
 
GPCE16: Automatic Non-functional Testing of Code Generators Families
GPCE16: Automatic Non-functional Testing of Code Generators FamiliesGPCE16: Automatic Non-functional Testing of Code Generators Families
GPCE16: Automatic Non-functional Testing of Code Generators Families
Mohamed BOUSSAA
 
APIdays Paris 2014 - The State of Web API Languages
APIdays Paris 2014 - The State of Web API LanguagesAPIdays Paris 2014 - The State of Web API Languages
APIdays Paris 2014 - The State of Web API Languages
Restlet
 
Nhu Viet Nguyen "Architectural Features of Automotive"
Nhu Viet Nguyen "Architectural Features of Automotive"Nhu Viet Nguyen "Architectural Features of Automotive"
Nhu Viet Nguyen "Architectural Features of Automotive"
LogeekNightUkraine
 
RISC-V Summit 2019: Next-generation IDE for your RISC-V Product in 20 Minutes
RISC-V Summit 2019: Next-generation IDE for your RISC-V Product in 20 MinutesRISC-V Summit 2019: Next-generation IDE for your RISC-V Product in 20 Minutes
RISC-V Summit 2019: Next-generation IDE for your RISC-V Product in 20 Minutes
Ivan Kravets
 
GPCE16 Poster: Automatic Non-functional Testing of Code Generators Families
GPCE16 Poster: Automatic Non-functional Testing of Code Generators Families GPCE16 Poster: Automatic Non-functional Testing of Code Generators Families
GPCE16 Poster: Automatic Non-functional Testing of Code Generators Families
Mohamed BOUSSAA
 
02 intro to programming in .net (part 2)
02   intro to programming in .net (part 2)02   intro to programming in .net (part 2)
02 intro to programming in .net (part 2)
Felisha Hosein
 
Component of .net
Component of .netComponent of .net
Component of .net
Sireesh K
 
Manish Rao
Manish RaoManish Rao
Manish Rao
Manish Rao
 
PDQ Programming Languages plus an overview of Alice - Frank Ducrest
PDQ Programming Languages plus an overview of Alice - Frank DucrestPDQ Programming Languages plus an overview of Alice - Frank Ducrest
PDQ Programming Languages plus an overview of Alice - Frank Ducrest
Matthew Turland
 
APIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API LanguagesAPIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API Languages
Jerome Louvel
 
Native Script by Sebastian Witalec
Native Script by Sebastian WitalecNative Script by Sebastian Witalec
Native Script by Sebastian Witalec
Simone Basso
 
01 intro to programming in .net
01   intro to programming in .net01   intro to programming in .net
01 intro to programming in .net
Felisha Hosein
 
Microsoft .Net Technology
Microsoft .Net TechnologyMicrosoft .Net Technology
Microsoft .Net Technology
vijayakumari kaliannan
 
Cloud Conf 2015 - Develop and Deploy IOT Applications
Cloud Conf 2015 - Develop and Deploy IOT ApplicationsCloud Conf 2015 - Develop and Deploy IOT Applications
Cloud Conf 2015 - Develop and Deploy IOT Applications
Corley S.r.l.
 
Introduction to .NET Programming
Introduction to .NET ProgrammingIntroduction to .NET Programming
Introduction to .NET Programming
Karthikeyan Mkr
 

What's hot (20)

Getting started with .NET Core on Linux
Getting started with .NET Core on LinuxGetting started with .NET Core on Linux
Getting started with .NET Core on Linux
 
Demystifying IoT skills : What does it take to become a FullStack IoT engineer?
Demystifying IoT skills : What does it take to become a FullStack IoT engineer?Demystifying IoT skills : What does it take to become a FullStack IoT engineer?
Demystifying IoT skills : What does it take to become a FullStack IoT engineer?
 
Freddie Mac Internship Overview
Freddie Mac Internship OverviewFreddie Mac Internship Overview
Freddie Mac Internship Overview
 
WebRTC Webinar & Q&A - All About Microsoft & WebRTC Hosting Guest Speaker Ja...
WebRTC Webinar & Q&A -  All About Microsoft & WebRTC Hosting Guest Speaker Ja...WebRTC Webinar & Q&A -  All About Microsoft & WebRTC Hosting Guest Speaker Ja...
WebRTC Webinar & Q&A - All About Microsoft & WebRTC Hosting Guest Speaker Ja...
 
Components of .NET Framework
Components of .NET FrameworkComponents of .NET Framework
Components of .NET Framework
 
GPCE16: Automatic Non-functional Testing of Code Generators Families
GPCE16: Automatic Non-functional Testing of Code Generators FamiliesGPCE16: Automatic Non-functional Testing of Code Generators Families
GPCE16: Automatic Non-functional Testing of Code Generators Families
 
APIdays Paris 2014 - The State of Web API Languages
APIdays Paris 2014 - The State of Web API LanguagesAPIdays Paris 2014 - The State of Web API Languages
APIdays Paris 2014 - The State of Web API Languages
 
Nhu Viet Nguyen "Architectural Features of Automotive"
Nhu Viet Nguyen "Architectural Features of Automotive"Nhu Viet Nguyen "Architectural Features of Automotive"
Nhu Viet Nguyen "Architectural Features of Automotive"
 
RISC-V Summit 2019: Next-generation IDE for your RISC-V Product in 20 Minutes
RISC-V Summit 2019: Next-generation IDE for your RISC-V Product in 20 MinutesRISC-V Summit 2019: Next-generation IDE for your RISC-V Product in 20 Minutes
RISC-V Summit 2019: Next-generation IDE for your RISC-V Product in 20 Minutes
 
GPCE16 Poster: Automatic Non-functional Testing of Code Generators Families
GPCE16 Poster: Automatic Non-functional Testing of Code Generators Families GPCE16 Poster: Automatic Non-functional Testing of Code Generators Families
GPCE16 Poster: Automatic Non-functional Testing of Code Generators Families
 
02 intro to programming in .net (part 2)
02   intro to programming in .net (part 2)02   intro to programming in .net (part 2)
02 intro to programming in .net (part 2)
 
Component of .net
Component of .netComponent of .net
Component of .net
 
Manish Rao
Manish RaoManish Rao
Manish Rao
 
PDQ Programming Languages plus an overview of Alice - Frank Ducrest
PDQ Programming Languages plus an overview of Alice - Frank DucrestPDQ Programming Languages plus an overview of Alice - Frank Ducrest
PDQ Programming Languages plus an overview of Alice - Frank Ducrest
 
APIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API LanguagesAPIdays 2015 - The State of Web API Languages
APIdays 2015 - The State of Web API Languages
 
Native Script by Sebastian Witalec
Native Script by Sebastian WitalecNative Script by Sebastian Witalec
Native Script by Sebastian Witalec
 
01 intro to programming in .net
01   intro to programming in .net01   intro to programming in .net
01 intro to programming in .net
 
Microsoft .Net Technology
Microsoft .Net TechnologyMicrosoft .Net Technology
Microsoft .Net Technology
 
Cloud Conf 2015 - Develop and Deploy IOT Applications
Cloud Conf 2015 - Develop and Deploy IOT ApplicationsCloud Conf 2015 - Develop and Deploy IOT Applications
Cloud Conf 2015 - Develop and Deploy IOT Applications
 
Introduction to .NET Programming
Introduction to .NET ProgrammingIntroduction to .NET Programming
Introduction to .NET Programming
 

Viewers also liked

Chromium on Wayland Desktop (BlinkOn 7)
Chromium on Wayland Desktop (BlinkOn 7)Chromium on Wayland Desktop (BlinkOn 7)
Chromium on Wayland Desktop (BlinkOn 7)
Igalia
 
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
Igalia
 
Webkit Chromium Contribution Process
Webkit Chromium Contribution ProcessWebkit Chromium Contribution Process
Webkit Chromium Contribution Process
Gyuyoung Kim
 
Maximize The Performance of HTML5 Video in RPI2 (Embedded Linux Conference 2016)
Maximize The Performance of HTML5 Video in RPI2 (Embedded Linux Conference 2016)Maximize The Performance of HTML5 Video in RPI2 (Embedded Linux Conference 2016)
Maximize The Performance of HTML5 Video in RPI2 (Embedded Linux Conference 2016)
Igalia
 
LCU14 208- Chromium-Blink Migration for RDK
LCU14 208- Chromium-Blink Migration for RDKLCU14 208- Chromium-Blink Migration for RDK
LCU14 208- Chromium-Blink Migration for RDK
Linaro
 
Accelerated compositing in WebKit: Now and in the future (DEVIEW 2015)
Accelerated compositing in WebKit: Now and in the future (DEVIEW 2015)Accelerated compositing in WebKit: Now and in the future (DEVIEW 2015)
Accelerated compositing in WebKit: Now and in the future (DEVIEW 2015)
Igalia
 
Pairing WebKit and Wayland for Linux-Based Embedded Web Content Presentation ...
Pairing WebKit and Wayland for Linux-Based Embedded Web Content Presentation ...Pairing WebKit and Wayland for Linux-Based Embedded Web Content Presentation ...
Pairing WebKit and Wayland for Linux-Based Embedded Web Content Presentation ...
Igalia
 
LCA2013 : Implementing threaded accelerated compositing in WebKitGtk+
LCA2013 :  Implementing threaded accelerated compositing in WebKitGtk+LCA2013 :  Implementing threaded accelerated compositing in WebKitGtk+
LCA2013 : Implementing threaded accelerated compositing in WebKitGtk+
Gwang Yoon Hwang
 
Chrome & Webkit overview
Chrome & Webkit overviewChrome & Webkit overview
Chrome & Webkit overview
Bin Chen
 
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
Igalia
 

Viewers also liked (10)

Chromium on Wayland Desktop (BlinkOn 7)
Chromium on Wayland Desktop (BlinkOn 7)Chromium on Wayland Desktop (BlinkOn 7)
Chromium on Wayland Desktop (BlinkOn 7)
 
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
WebKit Clutter Port Present and Future; WebKitGtk Status and Roadmap to WebKi...
 
Webkit Chromium Contribution Process
Webkit Chromium Contribution ProcessWebkit Chromium Contribution Process
Webkit Chromium Contribution Process
 
Maximize The Performance of HTML5 Video in RPI2 (Embedded Linux Conference 2016)
Maximize The Performance of HTML5 Video in RPI2 (Embedded Linux Conference 2016)Maximize The Performance of HTML5 Video in RPI2 (Embedded Linux Conference 2016)
Maximize The Performance of HTML5 Video in RPI2 (Embedded Linux Conference 2016)
 
LCU14 208- Chromium-Blink Migration for RDK
LCU14 208- Chromium-Blink Migration for RDKLCU14 208- Chromium-Blink Migration for RDK
LCU14 208- Chromium-Blink Migration for RDK
 
Accelerated compositing in WebKit: Now and in the future (DEVIEW 2015)
Accelerated compositing in WebKit: Now and in the future (DEVIEW 2015)Accelerated compositing in WebKit: Now and in the future (DEVIEW 2015)
Accelerated compositing in WebKit: Now and in the future (DEVIEW 2015)
 
Pairing WebKit and Wayland for Linux-Based Embedded Web Content Presentation ...
Pairing WebKit and Wayland for Linux-Based Embedded Web Content Presentation ...Pairing WebKit and Wayland for Linux-Based Embedded Web Content Presentation ...
Pairing WebKit and Wayland for Linux-Based Embedded Web Content Presentation ...
 
LCA2013 : Implementing threaded accelerated compositing in WebKitGtk+
LCA2013 :  Implementing threaded accelerated compositing in WebKitGtk+LCA2013 :  Implementing threaded accelerated compositing in WebKitGtk+
LCA2013 : Implementing threaded accelerated compositing in WebKitGtk+
 
Chrome & Webkit overview
Chrome & Webkit overviewChrome & Webkit overview
Chrome & Webkit overview
 
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
 

Similar to Developing and Testing Industrial Hardware With QEMU (LinuxCon Europe 2012)

Driving and virtualizing control systems: the Open Source approach used in Wh...
Driving and virtualizing control systems: the Open Source approach used in Wh...Driving and virtualizing control systems: the Open Source approach used in Wh...
Driving and virtualizing control systems: the Open Source approach used in Wh...
Igalia
 
Driving and virtualizing control systems: the Open Source approach used in Wh...
Driving and virtualizing control systems: the Open Source approach used in Wh...Driving and virtualizing control systems: the Open Source approach used in Wh...
Driving and virtualizing control systems: the Open Source approach used in Wh...
Samuel Iglesias Gonsálvez
 
Introduction to InduSoft Web Studio 8.0 + SP1
Introduction to InduSoft Web Studio 8.0 + SP1Introduction to InduSoft Web Studio 8.0 + SP1
Introduction to InduSoft Web Studio 8.0 + SP1
AVEVA
 
Introduction to Wonderware InduSoft Web Studio 8.0+SP2
Introduction to Wonderware InduSoft Web Studio 8.0+SP2Introduction to Wonderware InduSoft Web Studio 8.0+SP2
Introduction to Wonderware InduSoft Web Studio 8.0+SP2
AVEVA
 
Introiws80sp2 170501180754
Introiws80sp2 170501180754Introiws80sp2 170501180754
Introiws80sp2 170501180754
muhammadashiqmayo
 
DockerDay2015: Keynote
DockerDay2015: KeynoteDockerDay2015: Keynote
DockerDay2015: Keynote
Docker-Hanoi
 
Overcome Hardware And Software Challenges - Medical Device Case Study
Overcome Hardware And Software Challenges - Medical Device Case StudyOvercome Hardware And Software Challenges - Medical Device Case Study
Overcome Hardware And Software Challenges - Medical Device Case Study
ICS
 
Network Automation at Shapeways
Network Automation at ShapewaysNetwork Automation at Shapeways
Network Automation at Shapeways
Puppet
 
Some skills required to be a computer hardware engineer professional
Some skills required to be a computer hardware engineer professionalSome skills required to be a computer hardware engineer professional
Some skills required to be a computer hardware engineer professional
Sayed Ahmed
 
Anyware... from mainframe to thin and cloud
Anyware... from mainframe to thin and cloudAnyware... from mainframe to thin and cloud
Anyware... from mainframe to thin and cloud
wintermatiko
 
Testing and HW Virtualization (7th White Rabbit Workshop)
Testing and HW Virtualization (7th White Rabbit Workshop)Testing and HW Virtualization (7th White Rabbit Workshop)
Testing and HW Virtualization (7th White Rabbit Workshop)
Igalia
 
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
Codemotion
 
Sioux Hot-or-Not: The future of Linux (Alan Cox)
Sioux Hot-or-Not: The future of Linux (Alan Cox)Sioux Hot-or-Not: The future of Linux (Alan Cox)
Sioux Hot-or-Not: The future of Linux (Alan Cox)
siouxhotornot
 
aura_profile-corp
aura_profile-corpaura_profile-corp
aura_profile-corp
Bhagavan Prasad
 
Infrastructure Automation
Infrastructure Automation Infrastructure Automation
Infrastructure Automation
Groupware Technology
 
Introduction to InduSoft Web Studio 8.1 + SP5
Introduction to InduSoft Web Studio 8.1 + SP5Introduction to InduSoft Web Studio 8.1 + SP5
Introduction to InduSoft Web Studio 8.1 + SP5
AVEVA
 
InTouch Machine Edition: Overview
InTouch Machine Edition: OverviewInTouch Machine Edition: Overview
InTouch Machine Edition: Overview
Wonderware InTouch Machine Edition
 
Introduction to InduSoft Web Studio 8.1 + SP3
Introduction to InduSoft Web Studio 8.1 + SP3Introduction to InduSoft Web Studio 8.1 + SP3
Introduction to InduSoft Web Studio 8.1 + SP3
AVEVA
 
Introduction to InduSoft Web Studio 8.1
Introduction to InduSoft Web Studio 8.1Introduction to InduSoft Web Studio 8.1
Introduction to InduSoft Web Studio 8.1
AVEVA
 
Training for New Users
Training for New UsersTraining for New Users
Training for New Users
AVEVA
 

Similar to Developing and Testing Industrial Hardware With QEMU (LinuxCon Europe 2012) (20)

Driving and virtualizing control systems: the Open Source approach used in Wh...
Driving and virtualizing control systems: the Open Source approach used in Wh...Driving and virtualizing control systems: the Open Source approach used in Wh...
Driving and virtualizing control systems: the Open Source approach used in Wh...
 
Driving and virtualizing control systems: the Open Source approach used in Wh...
Driving and virtualizing control systems: the Open Source approach used in Wh...Driving and virtualizing control systems: the Open Source approach used in Wh...
Driving and virtualizing control systems: the Open Source approach used in Wh...
 
Introduction to InduSoft Web Studio 8.0 + SP1
Introduction to InduSoft Web Studio 8.0 + SP1Introduction to InduSoft Web Studio 8.0 + SP1
Introduction to InduSoft Web Studio 8.0 + SP1
 
Introduction to Wonderware InduSoft Web Studio 8.0+SP2
Introduction to Wonderware InduSoft Web Studio 8.0+SP2Introduction to Wonderware InduSoft Web Studio 8.0+SP2
Introduction to Wonderware InduSoft Web Studio 8.0+SP2
 
Introiws80sp2 170501180754
Introiws80sp2 170501180754Introiws80sp2 170501180754
Introiws80sp2 170501180754
 
DockerDay2015: Keynote
DockerDay2015: KeynoteDockerDay2015: Keynote
DockerDay2015: Keynote
 
Overcome Hardware And Software Challenges - Medical Device Case Study
Overcome Hardware And Software Challenges - Medical Device Case StudyOvercome Hardware And Software Challenges - Medical Device Case Study
Overcome Hardware And Software Challenges - Medical Device Case Study
 
Network Automation at Shapeways
Network Automation at ShapewaysNetwork Automation at Shapeways
Network Automation at Shapeways
 
Some skills required to be a computer hardware engineer professional
Some skills required to be a computer hardware engineer professionalSome skills required to be a computer hardware engineer professional
Some skills required to be a computer hardware engineer professional
 
Anyware... from mainframe to thin and cloud
Anyware... from mainframe to thin and cloudAnyware... from mainframe to thin and cloud
Anyware... from mainframe to thin and cloud
 
Testing and HW Virtualization (7th White Rabbit Workshop)
Testing and HW Virtualization (7th White Rabbit Workshop)Testing and HW Virtualization (7th White Rabbit Workshop)
Testing and HW Virtualization (7th White Rabbit Workshop)
 
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
Sviluppo IoT - Un approccio standard da Nerd ad Impresa, prove pratiche di Me...
 
Sioux Hot-or-Not: The future of Linux (Alan Cox)
Sioux Hot-or-Not: The future of Linux (Alan Cox)Sioux Hot-or-Not: The future of Linux (Alan Cox)
Sioux Hot-or-Not: The future of Linux (Alan Cox)
 
aura_profile-corp
aura_profile-corpaura_profile-corp
aura_profile-corp
 
Infrastructure Automation
Infrastructure Automation Infrastructure Automation
Infrastructure Automation
 
Introduction to InduSoft Web Studio 8.1 + SP5
Introduction to InduSoft Web Studio 8.1 + SP5Introduction to InduSoft Web Studio 8.1 + SP5
Introduction to InduSoft Web Studio 8.1 + SP5
 
InTouch Machine Edition: Overview
InTouch Machine Edition: OverviewInTouch Machine Edition: Overview
InTouch Machine Edition: Overview
 
Introduction to InduSoft Web Studio 8.1 + SP3
Introduction to InduSoft Web Studio 8.1 + SP3Introduction to InduSoft Web Studio 8.1 + SP3
Introduction to InduSoft Web Studio 8.1 + SP3
 
Introduction to InduSoft Web Studio 8.1
Introduction to InduSoft Web Studio 8.1Introduction to InduSoft Web Studio 8.1
Introduction to InduSoft Web Studio 8.1
 
Training for New Users
Training for New UsersTraining for New Users
Training for New Users
 

More from Igalia

The journey towards stabilizing Chromium’s Wayland support
The journey towards stabilizing Chromium’s Wayland supportThe journey towards stabilizing Chromium’s Wayland support
The journey towards stabilizing Chromium’s Wayland support
Igalia
 
Sustainable Futures: Funding the Web Ecosystem
Sustainable Futures: Funding the Web EcosystemSustainable Futures: Funding the Web Ecosystem
Sustainable Futures: Funding the Web Ecosystem
Igalia
 
Status of the Layer-Based SVG Engine in WebKit
Status of the Layer-Based SVG Engine in WebKitStatus of the Layer-Based SVG Engine in WebKit
Status of the Layer-Based SVG Engine in WebKit
Igalia
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Igalia
 
Building End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPEBuilding End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPE
Igalia
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Igalia
 
Automated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded DevicesAutomated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded Devices
Igalia
 
Embedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to MaintenanceEmbedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to Maintenance
Igalia
 
Optimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdfOptimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdf
Igalia
 
Running JS via WASM faster with JIT
Running JS via WASM      faster with JITRunning JS via WASM      faster with JIT
Running JS via WASM faster with JIT
Igalia
 
To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!
Igalia
 
Implementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerImplementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamer
Igalia
 
8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa
Igalia
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Igalia
 
2023 in Chimera Linux
2023 in Chimera                    Linux2023 in Chimera                    Linux
2023 in Chimera Linux
Igalia
 
Building a Linux distro with LLVM
Building a Linux distro        with LLVMBuilding a Linux distro        with LLVM
Building a Linux distro with LLVM
Igalia
 
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsturnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
Igalia
 
Graphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesGraphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devices
Igalia
 
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSDelegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Igalia
 
MessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webMessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the web
Igalia
 

More from Igalia (20)

The journey towards stabilizing Chromium’s Wayland support
The journey towards stabilizing Chromium’s Wayland supportThe journey towards stabilizing Chromium’s Wayland support
The journey towards stabilizing Chromium’s Wayland support
 
Sustainable Futures: Funding the Web Ecosystem
Sustainable Futures: Funding the Web EcosystemSustainable Futures: Funding the Web Ecosystem
Sustainable Futures: Funding the Web Ecosystem
 
Status of the Layer-Based SVG Engine in WebKit
Status of the Layer-Based SVG Engine in WebKitStatus of the Layer-Based SVG Engine in WebKit
Status of the Layer-Based SVG Engine in WebKit
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Building End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPEBuilding End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPE
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Automated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded DevicesAutomated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded Devices
 
Embedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to MaintenanceEmbedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to Maintenance
 
Optimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdfOptimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdf
 
Running JS via WASM faster with JIT
Running JS via WASM      faster with JITRunning JS via WASM      faster with JIT
Running JS via WASM faster with JIT
 
To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!
 
Implementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerImplementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamer
 
8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
 
2023 in Chimera Linux
2023 in Chimera                    Linux2023 in Chimera                    Linux
2023 in Chimera Linux
 
Building a Linux distro with LLVM
Building a Linux distro        with LLVMBuilding a Linux distro        with LLVM
Building a Linux distro with LLVM
 
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsturnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
 
Graphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesGraphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devices
 
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSDelegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
 
MessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webMessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the web
 

Recently uploaded

Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
UiPathCommunity
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
Fwdays
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
BibashShahi
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
Sease
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
Ajin Abraham
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Pitangent Analytics & Technology Solutions Pvt. Ltd
 
Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
christinelarrosa
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
LizaNolte
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 

Recently uploaded (20)

Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
 
AppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSFAppSec PNW: Android and iOS Application Security with MobSF
AppSec PNW: Android and iOS Application Security with MobSF
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
 
Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
 
JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 

Developing and Testing Industrial Hardware With QEMU (LinuxCon Europe 2012)

  • 1. Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona Alberto Garcia <agarcia@igalia.com>
  • 2. Industrial hardware and QEMU Introduction Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 3. About me Who am I? Alberto Garcia Computer engineer, Coruña University Working at Igalia since 2001 Experience in operating systems Debian maintainer Involved in Maemo and MeeGo Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 4. This talk How to make the development of device drivers easier: Debug problems that are hard to reproduce Foresee points of failure Industrial hardware as an example Useful for any kind of hardware Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 5. Industrial hardware and QEMU Industrial hardware Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 6. Industrial hardware Used by: Companies: factories, shipyards, robotics, ... Research laboratories Universities Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 7. Typical features Simple Reliable Well-tested technology Expensive / hard to find Hard to replace Sometimes designed ad-hoc Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 8. Types of industrial hardware ADCs, DACs Waveform Generators Time to digital converters Communications: serial ports, fieldbus Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 9. What it is used for Actuators Sensors Control systems Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 10. Examples Struck SIS3320-250 8 channel ADC Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 11. Industrial hardware and QEMU Challenges Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 12. Challenges of developing for this hardware Limited availability Bugs in the production environment cannot be reproduced in the laboratory Difficult to debug on-site Narrow time windows Dangerous environment Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 13. Challenges of developing for this hardware Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 14. Debugging Is it a problem in the driver or in the device? Is the firmware faulty? Is it wrongly loaded? Is the hardware damaged? How can we reproduce the bug? Do we have easy access to the environment? Is it remotely located? Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 15. Industrial hardware and QEMU Using virtualization to make things easier Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 16. QEMU Machine emulator and virtualizer Supports multiple architectures Can be accelerated using KVM Free software Flexible Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 17. How QEMU can help us We can emulate the device we’re working with Even if the hardware doesn’t exist yet! Useful not just for software: Develop hardware and its driver in parallel Simulate hard to reproduce conditions Force hardware errors or other uncommon situations Foresee potential points of failure Make the driver more reliable Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 18. Hardware we’ve worked with Simple PCIe FMC Carrier (SPEC) Industrial hardware and QEMU FMC Time to Digital Converter LinuxCon Europe 2012, Barcelona
  • 19. How to create new devices in QEMU Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 20. Emulating the device Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 21. Industrial hardware and QEMU Testing our drivers Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 22. Tests Create a set of tests for the device Tests can “talk” to QEMU and inject errors or force other conditions Detect problems before the changes are put into production Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 23. Test environment Framework written in python Simple process: The virtual machine is started The test environment is set up Tests are run The results are compared with the expected values Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 24. Unattended testing Run QEMU without user interaction No display necessary Select the kernel that you want to boot Log all messages, compare them against expected values Easily share files between both sides Detect when the system crashes Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 25. Running the tests Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 26. Continuous integration We can run tests automatically when the driver is updated Also if the hardware specs change Detect regressions more easily Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 27. Industrial hardware and QEMU Conclusions Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 28. Overall benefits No need to have the actual hardware You can also help the development of the hardware Hardware and software can be developed in parallel Distributed teams More stable drivers Test changes before they are deployed Faster development Continuous integration Contribute to QEMU Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 29. Industrial hardware and QEMU Questions & Answers Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 30. Industrial hardware and QEMU Thank you! Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona
  • 31. Images used in this presentation http://www.flickr.com/photos/9197427@N06/2885827751 http://www.flickr.com/photos/ twosevenoneonenineeightthreesevenatenzerosix/7848902444/ http://www.flickr.com/photos/altemark/273968506/ http://www.flickr.com/photos/11304375@N07/2046228644/ http://www.ohwr.org/projects/spec/wiki http://www.ohwr.org/projects/fmc-tdc/wiki Industrial hardware and QEMU LinuxCon Europe 2012, Barcelona