Building Embedded Systems



Similar documents
Building Embedded Systems

Building Embedded Systems

Embedded Linux development training 4 days session

Eddy Integrated Development Environment, LemonIDE for Embedded Software System Development

TEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

Developing applications on Yocto. Lianhao Lu Intel Corporation Feb. 29th, 2012

ANDROID DEVELOPER TOOLS TRAINING GTC Sébastien Dominé, NVIDIA

Embedded Software Development

Virtualization and Other Tricks.

EXPLORING LINUX KERNEL: THE EASY WAY!

How To Develop Android On Your Computer Or Tablet Or Phone

Introduction to Android

Development With ARM DS-5. Mervyn Liu FAE Aug. 2015

The Yocto Project Eclipse plug-in: An Effective IDE Environment for Embedded Application and System Developers

Embedded Linux development with Buildroot training 3-day session

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

Yocto Project ADT, Eclipse plug-in and Developer Tools

Mentor Embedded Automotive Solutions

Introduction to Android

An Easier Way for Cross-Platform Data Acquisition Application Development

Chapter 12. Development Tools for Microcontroller Applications

Mentor Embedded IVI Solutions

Track One Building a connected home automation device with the Digi ConnectCore Wi-i.MX51 using LinuxLink

How To Develop For A Powergen 2.2 (Tegra) With Nsight) And Gbd (Gbd) On A Quadriplegic (Powergen) Powergen Powergen 3

Mobile Development with Qt

STLinux Software development environment

Easing embedded Linux software development for SBCs

Android Programming and Security

Development Kit (MCSDK) Training

Embedded Linux Platform Developer

Developing reliable Multi-Core Embedded-Systems with NI Linux Real-Time

UG103.8 APPLICATION DEVELOPMENT FUNDAMENTALS: TOOLS

Yocto Project Eclipse plug-in and Developer Tools Hands-on Lab

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

HTTP-FUSE PS3 Linux: an internet boot framework with kboot

Virtualization: Hypervisors for Embedded and Safe Systems. Hanspeter Vogel Triadem Solutions AG

Friendly ARM MINI2440 & Dalvik Virtual Machine with Android

High Performance or Cycle Accuracy?

BogDan Vatra and Andy Gryc. Qt on Android: Is it right for you?

Introduction to Android

Building Embedded Systems

Embedded Development Tools

Overview of CS 282 & Android

Developing Embedded Linux Devices Using the Yocto Project

Tizen SDK Annual Report Key Improvements. Changseok Oh (Samsung), Yeongkyoon Lee (S-Core)

Design and Development of Embedded Multimedia Terminal

ERIKA Enterprise pre-built Virtual Machine

Real-time Debugging using GDB Tracepoints and other Eclipse features

Network connectivity controllers

Intel Application Software Development Tool Suite 2.2 for Intel Atom processor. In-Depth

An Introduction to Android

Introduction to TIZEN SDK

Best Practices for Deploying, Replicating, and Managing Real-Time and FPGA Applications. ni.com

Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems

VDI Clients. Delivering Tomorrow's Virtual Desktop Today

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

HTML5 Applications Made Easy on Tizen IVI. Brian Jones / Jimmy Huang

Lab 0 (Setting up your Development Environment) Week 1

Introduction to the NI Real-Time Hypervisor

Andreas Burghart 6 October 2014 v1.0

Embedded & Real-time Operating Systems

KeyStone Multicore. Ecosystem

Developing Embedded Linux Devices Using the Yocto Project

Running a Program on an AVD

Module Title: Software Development A: Mobile Application Development

The Art of Virtualization with Free Software

KURA M2M/IoT Gateway. reducing the distance between embedded and enterprise technologies. Tiziano Modotti, October 28 th, 2014

Seedling Internet of Things (IoT) and Wearables Platform

Multi-core Curriculum Development at Georgia Tech: Experience and Future Steps

Application-Level Debugging and Profiling: Gaps in the Tool Ecosystem. Dr Rosemary Francis, Ellexus

Virtual Platforms Addressing challenges in telecom product development

CSE 265: System and Network Administration. CSE 265: System and Network Administration

Chapter 2. Basic Concepts Linux Workstation. 2.1 Types of Hosts

Example of Standard API

MontaVista Linux 6. Streamlining the Embedded Linux Development Process

Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v Steps to Developing a QNX Program Quickstart Guide

Software Engineering for LabVIEW Applications. Elijah Kerry LabVIEW Product Manager

CSE 501 Monday, September 09, 2013 Kevin Cleary

Professional Xen Visualization

3 - Introduction to Operating Systems

Operating Systems. Design and Implementation. Andrew S. Tanenbaum Melanie Rieback Arno Bakker. Vrije Universiteit Amsterdam

Outline. Operating Systems Design and Implementation. Chap 1 - Overview. What is an OS? 28/10/2014. Introduction

Understand and Build Android Programming Environment. Presented by: Che-Wei Chang

"EZHACK" POPULAR SMART TV DONGLE REMOTE CODE EXECUTION

Satish Mohan. Head Engineering. AMD Developer Conference, Bangalore

Efficient embedded software development using QEMU

NotePad No More: - A Personal Survey of HTML5 Developer Toolsets. Stewart Christie - Tizen and HTML5 Community Manager.

DEVELOPING MOBILE APPLICATIONS USING ANDROID

Linux for Embedded and Real-Time Systems

Ubuntu ARM - What Is It?

Rocket AS v6.3. Benefits of upgrading

XID ERRORS. vr352 May XID Errors

Module I-7410 Advanced Linux FS-11 Part1: Virtualization with KVM

Transcription:

All Rights Reserved. The contents of this document cannot be reproduced without prior permission of the authors. Building Embedded Systems Chapter 1: Introduction Andreas Knirsch andreas.knirsch@h-da.de

Agenda About Embedded Systems (ES) Embedded Hardware Platforms Development of ES

Building Embedded Systems Chapter 1: Introduction, System Startup & Linux About What to expect and what is the motivation?

About me Andreas Knirsch BSc MSc @ h_da & JCU (AU) several years professional experience (full-time) Affiliation Research Assistant at ICM labs (since 2009) Topics Emb. Systems, Multi-Core, SW Integration Contact andreas.knirsch@h-da.de D10/0.37 (next to ICM lab)

Targets Learn how to setup and use a build-system to create and maintain embedded software systems.

Some "targets" might be new, but we will go into all those in a minute Targets in detail Setup a x-compile toolchain, apply tools and techniques for deployment and debugging. Configure, build and install an embedded operating system. Create a target root filesystem. Use available tools (toolchain builder, systemlibraries, etc.). Apply best practice development processes.

h_da... or: "Why is embedded know-how important?" Significance Salary SE*1.1=ESE Optimization is only possible with sufficient knowledge about domain, subject and processes. Complexity increases continously "... premature optimization is the root of all evil..." (Donald E. Knuth 1974)

Our Target Hardware Platform: Intel/ALTERA DE2i-150 FPGA Dev Kit Intel Atom dual-core

Building Embedded Systems Chapter 1: Introduction, System Startup & Linux Embedded Systems (ES) What makes a system "EMBEDDED"?

How do you define an ES?... or: "What embedded systems do you know?" makeitgreat (flickr.com)

Examples? Andreas Levers (flickr.com)

What makes a system embedded? Compiler Sources (app + lib) Debugger Editor Transfer Tools... Build Domain CPU Memory Display Hardware Embedded System Touchpad GPS Receiver... Software Bootloader OS Kernel Libraries System Init Main Application

Usual characteristics of an ES Customized to a specific task (brew coffee, take photos, provide route guidance, etc.) Cope with resource constraints (limited power supply and computational power, etc.) Operated within a rough environment (climate conditions, shock-resistance, etc.) Provide a certain grade of dependability (climate conditions, shock-resistance, etc.) Fulfill real-time requirements (adhere to a predefined temporal behaviour)

How to develop an embedded SW system? "meta system" "target system" ant, make,.. qemu crosstool-ng eclipse GNU/Linux ecosystem IDE virtual machine build utilities cross-compiler operating system kernel-image root filesystem Howto setup, maintain and "use" the ecosystem?... "use" means to create, maintain and deploy SW to a target system

Embedded == Customized for Purpose Create optimized SW for special purpose. Requires full control of the build process. Requires knowledge on process and tools. May require optimization of the build system. (i.e. the meta-system) This requires knowledge how to build tools. ( that build the system).

Building Embedded Systems Chapter 1: Introduction, System Startup & Linux Embedded Hardware Platforms What is so special for embedded hardware?

Embedded HW is small. is light. is low powered. can cope various climate conditions. is shock-resistant. A subset, all or none of the above given characteristics may apply to a particular embedded HW. it depends

Nowadays, Embedded HW provide computational performance graphic acceleration/power connectivity comparable to desktop HW, or even beyond the capabilities of desktop HW.. it still depends

We use It does not provide cutting edge performance, but reflects current state-of-the-art very well.

Comparable alternatives may include TI OMAP based boards (e.g. Beagle, Panda, IGEP, etc.) Renesas R-Car H2 based boards Samsung Exynos based boards Nvidia Tegra based boards and many more.

Building Embedded Systems Chapter 1: Introduction, System Startup & Linux Embedded System Development What does cross-platform development mean?

xplatform-dev Workstation Target edit code compile deploy execute remote debug

Using xplatform-devenv obviates on-target compilation. keeps target software-system small. enables the use of rich IDEs.

Building Embedded Systems Chapter 1: Introduction Recap What we've done today?

What we have done today Motivation to learn about building ES. Clarify what ES are. The characteristics of embedded Apps. The characteristics of embedded OSs. The importance of starting ESs. Characteristics of embedded HW platforms. What xplatform development is about.... or: we rather scratched the surface of several topics :-) More to come

Building Embedded Systems Chapter 1: Introduction References [Lee, 2006] Lee, E. A.: The future of embedded software. ARTEMIS Conference, Graz, 2006. [Lee, 2007] Lee, E. A.: Computing foundations and practice for cyberphysical systems: A preliminary report. Tech. Report, Berkeley, USA, 2007. [Marwedel, 2003] Marwedel, P.: Embedded System Design. Kluwer Academic Publishers, 2003. [Marwedel, 2011] Marwedel, P.: Embedded System Design. 2nd Edition, Springer, 2011. [Wietzke, 2012] Wietzke, J.: Embedded Technologies. Springer, 2012.

All Rights Reserved. The contents of this document cannot be reproduced without prior permission of the authors. Building Embedded Systems Chapter 1: Introduction Andreas Knirsch andreas.knirsch@h-da.de