new trends in embedded systems
DESCRIPTION
New Trends in Embedded SystemsTRANSCRIPT
-
Linux For Embedded Systems For Arabs
Ahmed ElArabawy
New Trends in Embedded Systems
-
Myths on Embedded Systems
More Hardware than Software
Applications are Trivial
Interfacing with sensors
Measuring temperature, pressure, light,
Controlling a motor
Controlling some light switches
etc.
No need for Operating System support
Why do we needs an OS this is Just an Embedded System
Code in low level languages
Some even consider all in Assembly
Code fully customized on Hardware
The center piece is the hardware, and SW will be tailored to it
Code is very close to the Hardware
-
Is this True ??
This impression is TRUE in some embedded systems
But not true for a great portion of the market
The reason for this impression
Education (No advanced embedded system courses)
Toy projects and hobbyists (most focus on microcontrollers)
Cost of Hardware
Background
Application
Limited exposure to industry
-
Reality is ..
Most embedded systems are much more sophisticated, Use of multicore is becoming very common
Multi-core can be homogeneous or heterogeneous
Big.Little Architecture
Dedicated cores to manage operation of the other cores
Special H/W Accelerators for low level functionality
Use of Operating Systems is unavoidable most of the time Asymmetric Multi-Processing (AMP)
Each core is running its own OS
Symmetric Multi-Processing (SMP) One OS is running on multiple cores
Hybrid
S/W is the most sophisticated element and key differentiator
Sometimes, portability of the SW takes priority over efficiency
-
This Lecture
I want to break this myth, and try to show the other side of Embedded Systems
I will address some of the Industries using Embedded Systems
I Will try to show some new trends, and the motivation for them
-
What is an Embedded System ?
An embedded system is a computer system embedded in a device with a dedicated function
This is different from the traditional, general purpose computer systems
-
What is an Embedded System?
It is a computing system that performs a specific task (not a general purpose computer)
A lot of times (but not always), It runs in a restricted resources environment, Power limited (battery operated devices)
Processing/Memory limited
Cost limited (inside the device, and not just a computer for multiple tasks)
Size limited (no space for large heat-sink and a cooling fan)
Display size limited
Most of the time it targets real time objectives, this means, It needs to be fast and efficient
It needs to be predictable (execution time known ahead, and almost constant)
-
APPLICATIONS OF EMBEDDED SYSTEMS
-
Hand Held Devices
Smart Phones
Tablets
e-Readers
-
Robotics
-
Automotive
-
Military
-
Networking Devices
-
And Other Gadgets
-
CASE STUDY THE SMART PHONE
-
Under the Hood.
-
Simplified Smart Phone Architecture
Responsible for: - Applications - TCP/IP networking - Audio/Video Processing - 2D/3D Graphics
Responsible for ( Communication Stacks) - Cellular (2G/3G/4G) - 802.11 - Bluetooth - NFC - GPS
-
Android (Linux Based) Windows iOS
Real RTOS: ThreadX Nucleus
-
TI-OMAP5000 Family
-
QC-SnapDragon
-
nvidia- Tegra-4
-
nvidia-Tegra K1
-
Conclusions
Smart phones Contain two sets of cores
Communication Processer(s)
Run Communication Stacks (LTE, 802.11,BT,)
Run using RTOS (ThreadX, Nucleus, )
Application Processor(s)
Run the functionality of the phone and any apps on it
Run TCP/IP stack
May contain special cores for Video Processing or 2D/3D Graphics
Use more capable OSs
Most SoCs today have CP and AP on separate chips
The new trend is to combine them in the same chip
Still they run on separate cores/OSs
Different needs
Priority of tasks
-
CASE STUDY 2 AUTOMOTIVE
-
Cars Are Getting Smarter
Electronics represents 40% of total cost of a car
90% of new car features require software
-
Embedded Systems in the Powertrain
-
Electronic Control Units (ECUs)
ECUs are used in different functions of the car Engine Control Transmission Control Fuel Efficiency Control Electric Power Steering Speed Control Brake Control Suspension System Control Battery Management Seat Control Door Control Electric Windows Control Lighting Control Airbag Control Telemetric Control Mirror Control Security System Control Windshield Blades Control Entertainment Human-machine interface (HMI) And a lot more ..
-
Proliferation of ECUs Problem
Number of ECUs is going out of control (more than a 100 ECU in todays car)
Cost
Maintenance and diagnostics
Complexity of management
Need of communication among them
Power efficiency
Heat
Portability
Interaction between features
Some software was written for legacy OS
Need to re-test with the addition of every new feature
Time to market
-
Solution ???
Why not aggregate these functionality into less number of ECUs
A single Embedded Platform with all of the controllers as applications running on top of it
This has some obstacles:
Security concerns
Fault isolation concerns
Some controllers require legacy OSs
Some controllers can not run as an application, requires full attention of the hardware
Different needs some need real time support while others dont
etc.
-
Embedded System Virtualization
-
Virtualization What ??
Host Machine
Virtual Machines (VMs)
Virtual Machines Monitor (VMM) Hypervisor
-
Virtualization Why??
Virtualization is used for:
Running Multiple Operating Systems simultaneously on the host machine
Easier Software Installations for software packages
Testing and Disaster Recovery
Infrastructure Consolidation
Separation between different environment
Fault isolation
Security
-
Virtualization How ?
We can achieve virtualization via the use of a Hyper-visor
Hyper-Visor is a software that can accommodate multiple virtual machines. Each VM can have its own OS
There are two types of Hyper-visors,
Type One (Bare-Metal Hyper-Visor)
Native Virtualization
Type Two (Use of host OS)
Hosted Virtualization
-
Virtualization How ?
Hyper-Visor Acts as a light host OS Hyper-Visor Acts as an Application
-
Native (Bare Metal) Virtualization
-
Hosted Virtualization
-
Virtualizing HW Resources
-
Virtualization in Embedded Systems
-
Use Cases
-
RTOS & GPOS Consolidation
-
RTOS & GPOS Consolidation
-
Legacy OS Consolidation
-
Legacy OS Consolidation
-
Performance-Critical Application Separation
-
Performance-Critical Application Separation
-
Trusted/Open Application Integration
-
Applications of Virtualized Embedded Systems
-
Applications
-
Virtualization in Smartphones
-
Virtualization in Automotive
-
Virtualization in Automotive
-
Virtualization in Military Applications
-
Virtualization in Industrial Automation
-
Virtualization in Embedded Gaming
-
Limits of Virtualization
Processing
Extra layer from the hardware
Two level task scheduling
-
Limits of Virtualization
Processing Extra layer from the hardware
Two level task scheduling
Limited hardware support
Preemption, L2 Cache
Sometimes we dedicate some resources to a certain VM (CPU Affinity)
Memory VMM foot print
Possibly multiple Oss
Resources Resource sharing is tricky
Still a risk of extra bugs due to the VMM layer
-
Conclusions
Embedded System is becoming more and more sophisticated
Multicore is becoming more common in Embedded systems
Multicore can be using Homogeneous or Heterogeneous cores
The different functions within an embedded system require different needs, such as security, real time, fault isolation
One solution to meet these different needs without the use of multiple embedded systems within the same platform is virtualization
There are still issues to be resolved with virtualized embedded systems
-
http://Linux4EmbeddedSystems.com