© All Rights Reserved. The contents of this document cannot be reproduced without prior permission of the authors.
Building Embedded Systems
Chapter 1: Introduction
icm
fbi
Fachbereich Informatikh_da
Agenda
• About
• Embedded Systems (ES)
• Embedded Hardware Platforms
• Development of ES
icm
In-Car Multimedia Labs
!
Hochschule Darmstadt
www.h-da.de IN-CAR MULTIMEDIA LABS, Andreas Knirsch | Building Embedded Systems
fbi
Fachbereich Informatik
h_da
Building Embedded Systems
Chapter 1: Introduction, System Startup & Linux
About
What to expect and
icm
fbi
Fachbereich Informatikh_da
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
[email protected]
IN-CAR MULTIMEDIA LABS, Andreas Knirsch | Building Embedded Systems
icm
In-Car Multimedia Labs
!
Hochschule Darmstadt www.h-da.defbi
Fachbereich Informatikh_da
Targets
Learn how to
setup
and
use
a
build-system
to
create
and
maintain
icm
fbi
Fachbereich Informatik
h_da
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,
system-libraries, etc.).
• Apply best practice development processes.
Some "targets" might be new, but
we will go into all those in a minute!
IN-CAR MULTIMEDIA LABS, Andreas Knirsch | Building Embedded Systems
icm
In-Car Multimedia Labs
!
Hochschule Darmstadt www.h-da.defbi
Fachbereich Informatikh_da
Significance
... or: "Why is embedded
know-how important?"
•
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 ..."
icm
fbi
Fachbereich Informatik
h_da
!
Our Target Hardware Platform:
Intel/ALTERA DE2i-150 FPGA Dev Kit
icm
In-Car Multimedia Labs
!
Hochschule Darmstadt
www.h-da.de IN-CAR MULTIMEDIA LABS, Andreas Knirsch | Building Embedded Systems
fbi
Fachbereich Informatik
h_da
Building Embedded Systems
Chapter 1: Introduction, System Startup & Linux
Embedded Systems (ES)
What makes a system
icm
fbi
Fachbereich Informatik
h_da
How do you define an ES?
makeitgreat (flickr.com)
... or:
"What embedded
IN-CAR MULTIMEDIA LABS, Andreas Knirsch | Building Embedded Systems
icm
In-Car Multimedia Labs
!
Hochschule Darmstadt www.h-da.defbi
Fachbereich Informatikh_da
Examples !?
icm
fbi
Fachbereich Informatikh_da
Embedded
System
Domain
Embedded
System
Hard
ware
CPU
Memory
Display
Touchpad
GPS Receiver
...
Domain
What makes a system embedded?
Embedded
System
So
ftwa
re
Hard
ware
CPU
Memory
Display
Touchpad
GPS Receiver
...
Domain
Bootloader
OS Kernel
Libraries
System Init
Embedded
System
B
ui
ld
So
ftwa
re
Hard
ware
CPU
Memory
Display
Touchpad
GPS Receiver
...
Compiler
Sources
(app + lib)
Debugger
Editor
Transfer Tools
...
Domain
Bootloader
OS Kernel
Libraries
System Init
IN-CAR MULTIMEDIA LABS, Andreas Knirsch | Building Embedded Systems
icm
In-Car Multimedia Labs
!
Hochschule Darmstadt www.h-da.defbi
Fachbereich Informatikh_da
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)
icm
fbi
Fachbereich Informatikh_da
crosstool-ng
GNU/Linux
ant, make, ..
qemu
eclipse
IDE
operating system
cross-compiler
build utilities
virtual machine
ecosystem
kernel-image
root filesystem
How to develop an embedded SW system?
Howto setup, maintain
and "use" the ecosystem?
"meta system"
"target system"
... "use" means to
create, maintain and
IN-CAR MULTIMEDIA LABS, Andreas Knirsch | Building Embedded Systems
icm
In-Car Multimedia Labs
!
Hochschule Darmstadt www.h-da.defbi
Fachbereich Informatikh_da
„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).
!
!
!
icm
fbi
Fachbereich Informatik
h_da
Building Embedded Systems
Chapter 1: Introduction, System Startup & Linux
Embedded Hardware Platforms
What is so special for
embedded hardware?
IN-CAR MULTIMEDIA LABS, Andreas Knirsch | Building Embedded Systems
icm
In-Car Multimedia Labs
!
Hochschule Darmstadt www.h-da.defbi
Fachbereich Informatikh_da
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.
icm
fbi
Fachbereich Informatik
h_da
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!
IN-CAR MULTIMEDIA LABS, Andreas Knirsch | Building Embedded Systems
icm
In-Car Multimedia Labs
!
Hochschule Darmstadt www.h-da.defbi
Fachbereich Informatikh_da
We use …
It does not provide cutting edge performance,
but reflects current state-of-the-art very well.
icm
fbi
Fachbereich Informatik
h_da
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
icm
In-Car Multimedia Labs
!
Hochschule Darmstadt
www.h-da.de IN-CAR MULTIMEDIA LABS, Andreas Knirsch | Building Embedded Systems
fbi
Fachbereich Informatik
h_da
Building Embedded Systems
Chapter 1: Introduction, System Startup & Linux
Embedded System Development
What does cross-platform
development mean?
icm
fbi
Fachbereich Informatikh_da
xPlatform-Dev
Workstation
Target
•
edit code
•
compile
•
deploy
•
execute
•
remote debug
IN-CAR MULTIMEDIA LABS, Andreas Knirsch | Building Embedded Systems
icm
In-Car Multimedia Labs
!
Hochschule Darmstadt www.h-da.defbi
Fachbereich Informatikh_da
Using xPlatform-DevEnv …
• obviates
on-target compilation.
• keeps target
software-system small
.
icm
fbi
Fachbereich Informatik
h_da
Building Embedded Systems
Chapter 1: Introduction
Recap
IN-CAR MULTIMEDIA LABS, Andreas Knirsch | Building Embedded Systems
icm
In-Car Multimedia Labs
!
Hochschule Darmstadt www.h-da.defbi
Fachbereich Informatikh_da
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 :-)
icm
fbi
Fachbereich Informatik