EE-522: Embedded Systems: © Adeel Pasha, LUMS, Spring 2018

Download as pdf or txt
Download as pdf or txt
You are on page 1of 40

© Adeel Pasha, LUMS, Spring 2018

EE-522: Embedded Systems

Introduction
© Adeel Pasha, LUMS, Spring 2018

About the Instructor


 Muhammad Adeel Pasha
 https://lums.edu.pk/lums_employee/2985
 PhD in Embedded Systems and Digital System Design (EE/CS)
 from University of Rennes France
 MS in Embedded Systems (EE)
 from University of Nice Sophia Antipolis
 BSc in Electrical Engineering (EE)
 from University of Engineering & Technology Lahore
 Director Electronics and Embedded Systems Lab (EESL)
 Teaching @ LUMS since 2011
 Computer Architecture and Embedded Systems related subjects
 Core Subjects for EE and CS (Under)Grad Students

2 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

About the Instructor


 Some key research areas
 Design Automation of Digital Systems
 Energy-efficient Scheduling for Multi-Core Processors
 High-Level Energy Estimation Tools for Embedded Processors
 System Level Design for IoT Applications
 Efficient HW Implementation of DSP and Comm. Algos
 E.g. 5G Comm., Machine Learning, Image Processing
 Real-Time Monitoring and Control for Cyber Physical Systems
(CPS)
 E.g. Energy Efficient Routing and MAC for Sensor Networks / IoT

3 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

About the Instructor

 Office: 9-201A, EE Dept., 2nd Floor, SBASSE Building


 Office Hours: TBA
 Email: [email protected]

 TAs: TBA

4 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

Course Description
 Embedded Systems is a major class of computing systems
 Covers a wide spectrum of applications & devices:
 Communications such as PDAs, smart phones, mobile phones
 Avionics & Space exploration
 Automobiles
 Household appliances (Micro-wave ovens, refrigerators, etc.)
 In this course, we will get familiarized with the issues and
challenges faced by real-time embedded systems and their
evolution trends.
5 EE-522: Embedded Systems 1/23/2018
© Adeel Pasha, LUMS, Spring 2018

Textbooks
 Real-time Systems Theory and Practice
Rajib Mall, Pearson Education, 2007
 Computers as Components: Principles of Embedded Computer
System Design
WayneWolf, Morgan Kaufmann/Elsevier, 2005

 Hand-outs for certain topics from different books

6 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

Course Info
Pre-requisites:
 Microprocessor Programming & Interfacing (forced)
 Operating Systems (highly desired)

Delivery Method:
 Two lectures, 1.5 hrs. (TR) each
 Replaced by two lab sessions of 2 – 2.5 hrs. each, during
scheduled lab weeks
 1 Recitation of 100 minutes
 will be used mostly for lab assignment completion
7 EE-522: Embedded Systems 1/23/2018
© Adeel Pasha, LUMS, Spring 2018

Grading Scheme

 Midterm 25%
 Quizzes (~6-7) 15%
 Lab Completion 17%
 Lab Attendance 03%
 Lab Project 10%
 Final 30%

8 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

CLOs – PLOs for BS-EE Students

Course Learning Outcomes

In EE-522 The students should be able to:


CLO1: Analyze the impact of real-time scheduling in centralized and distributed embedded systems designs.
CLO2: Analyze the tradeoffs when using real time resource sharing and real time communications in embedded systems designs.
CLO3: Port Embedded or Real Time Operating Systems (RTOSs) to various embedded development platforms.
CLO4: Develop device drivers for embedded OS (e.g. Linux) that would help them in their future embedded systems projects in industry.

EE-522 CLOs Related PLOs Levels of learning Teaching Methods CLO Attainment checked in
CLO1 PLO2 Cog-4 Instruction Quizzes, Midterm, Final
CLO2 PLO2 Cog-4 Instruction Quizzes, Final
CLO3 PLO3 Cog-4 Instruction, Lab Manuals and Demos Labs
CLO4 PLO3 Cog-4 Instruction, Lab Manuals and Demos Labs

9 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

Course Outline: Theory


Course Overview
Recommended
Lecture Topics CLO Covered
Readings
1. Embedded Systems, introduction, issues, challenges, trends, etc. Chap-1 RTS1
2. Real Time Task Scheduling Chap-2 RTS
3. Static Scheduling Algorithms Chap-2 RTS
4. Dynamic Scheduling Algorithms Chap-2 RTS
5. Priority-driven Schedulers Chap-2 RTS
CLO1
6. Memory-mapped I/Os vs. Interrupt-driven I/Os, device drivers, etc. Chap-2,3 CAC2
7. Case Studies of RTOS(s), Posix, Unix, Windows embedded, embedded Linux etc. Chap-5 RTS
8. RTOS, processes, threads, context switching, process synchronization,
Chap-5 RTS
interrupts, etc.
9. Device Drivers: Linux Hands-outs3
10. Aperiodic Scheduling Servers Hands-outs3
Midterm
11. Resource Sharing in RT Tasks Chap-3 RTS
12. Scheduling RT Tasks in Multiprocessors Chap-4 RTS
CLO2
13. Real time Communications Chap-6 RTS
14. Real time Communications: Routing and Rate Control Chap-6RTS
15. Real time Data bases Chap-7 RTS
Final Exam

10 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

Course Outline: Lab


Practical Work
Recommended
Lab Topics CLO Covered
Readings
Getting familiarized with EasyPIC V.6/7 development board, PICC compiler and
1.
RTOS APIs
2. Developing an application using EasyPICV.6/7 boards and the RTOS APIs
Installing Virtual Machines using Vmware or VirtualBox manager, installing Hands-outs3 CLO3
3.
Ubuntu (Linux) on VM, Linux kernel compilation
Understanding device drivers and developing “misc”, “char” type drivers for
4.
Linux desktops
Midterm
5.
“Taking it to the board”: Preparing mini6410-board by compiling kernel,
6.
installing Debian® and related development tools
7.
8. Writing your first device driver for mini6410 board
9. Writing driver for ARQ interrupts and using timer for PWM generation Hands-outs3 CLO4
10. Developing complete embedded application using device drivers for GPIOs,
11. timer interrupts and QT-based GUI interface.
12.
Working on course project
13.
Final Project Demo (before dead week)

Note: Labs and theory will differ in content coverage since theory covers basics and research aspects of real-
time systems while lab is designed to build skill-set required for embedded job market. Each lab will have a
significant lab lecture at the start of lab session. However, there will be significant amount of self-learning.
11 EE-522: Embedded Systems 1/23/2018
© Adeel Pasha, LUMS, Spring 2018

EE-522 Term Schedule


W2:30/1 W2:01/2
W1:23/1 W1:25/1 W3:06/2
Static Scheduling Dynamic Scheduling
Intro RT-Scheduling Aperiodic Schedulers
Algos Algos
W3:08/2
Mem-mapped I/Os, W4:13/2 W4:15/2 W5:22/2
W5:20/2
GPIO etc. Lab1 Lab2 Linux Device
Commercial RTOS
Resource Sharing (EasyPICV6/7) (EasyPICV6/7) Drivers

W6:27/2 W7:08/3 W8:13/3


W6:01/3 W7: 06/3
Lab3 Resource Sharing in Lab4
Commercial RTOS Resource Sharing
(VM-Linux Kernel) MP (Mini6410)
W9:27/3 W10:05/4
W8:15/3 W9:29/3 W10:03/4
Lab5 Lab6
Mid term RT Comm. RT Comm.
(Mini6410) (Mini6410)
W11:10/4 W12:17/4 W12:19/4 W13:24/4
W11:12/4
Lab7 Lab8 Lab9 Lab10
RT Databases
(Mini6410) (Mini6410) (Mini6410) (Mini6410)
W13:26/4 W14:03/5 W14:05/4 08/5
Lab11 Lab12 Lab13 Lab14
12(Mini6410) (Lab Project)
EE-522: Embedded Systems
(Lab Project) (Lab Project Demo) 1/23/2018
© Adeel Pasha, LUMS, Spring 2018

EE-522 Term Schedule


Schedule for Lab Sessions (Week: 4, 5, 6, 8, 9, 10, 11, 12, 13, 14)
Day Time Venue
Tuesday 5:00pm – 7:30pm EE LAB – 2/7
Thursday 5:00pm – 7:30pm EE LAB – 2/7

• Pre-labs or pending tasks are to be completed during


• Priority 1: Recitation slot (e.g. let’s say Friday 2:00pm – 3:50pm) in EE LAB – 2/7
• Priority 2: Any free slot available to students in-between the lab sessions

• EE LAB-7: Embedded/DSP Lab (on the right side of Asif Sb. Office)
• EE LAB-2: Microprocessor Interfacing and Digital Circuits Lab (on the left side of Asif Sb. Office)

13 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2017

Introduction to Embedded systems

14 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

Computing Systems Today Massive Cluster

Gigabit EthernetClusters

 Microprocessors in everything
Clusters

Internet Servers
Connectivity
Databases
Information Collection
PDA
Remote Storage
Online Games
Sensor E-Commerce
Nets Cars …

Robots
Routers
15 EE-522: Embedded Systems 1/23/2018
© Adeel Pasha, LUMS, Spring 2018

Classes of Computing Systems


 Desktop Computing
 First and still the largest market in monetary terms
 Well organized in terms of applications and benchmarks
 Cost-effectiveness is the most critical compromise
 Price vs. Performance vs. Power

16 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

Classes of Computing Systems


 Servers
 Provide large-scale and more reliable data bases and
computing services
 Reliability is the most crucial characteristic
 Scalability is another required feature
 Computing capacity, storage, I/O bandwidth, memory

17 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

Classes of Computing Systems


 Embedded Computing
 The fastest growing portion of computing market
 Vastly deployed from automobiles to smart phones and
gaming consoles
 Constraints
 Price
 Real-time performance
 Power consumption
 Memory (chip area)
 Reliability (Mission Critical Systems)
18 EE-522: Embedded Systems 1/23/2018
© Adeel Pasha, LUMS, Spring 2018

Embedded Systems Applications


 Communications
 Multi-media
 Manufacturing
 Consumer electronics
 Health care
 Defense and security
 Software
 Automotive

19 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

Embedded Systems Applications


 Historically
 Micro-processors were expensive
 Limited applications: defense and space mostly
 Today
 Most probably every appliance you touch (IoT naam to suna hoga!)
 Consumer electronics (microwave oven, AC, refrigerator)
 Modem, PDA, Mobile phones, Cameras
 Smart power grids (smart meters, intelligent switches, etc.)
 Video game consoles
 Fax machine, laser printers, PABX
 Industrial automation
 Space, avionics, automobile
 Internet routers, switches in cellular networks
 Robotics (embedded control)
 Most of them have real-time requirements
20 EE-522: Embedded Systems 1/23/2018
© Adeel Pasha, LUMS, Spring 2018

Trends in Computing Systems


 70% of all processors built today are destined for
embedded systems
 Even multi-cores: e.g. Quad-core1.4 GHz ARM Cortex-A8/9
 Why?
 Moore’s law!
 Transistor is cheaper => Processor is cheaper
 Cost-effectiveness: couldn’t afford a Rs.10,000 processor in
a Rs. 20,000 Microwave oven
 Now, embedded processor IC < US$ 10.0 (in bulk < US$1.0)
 PIC18F452 = ~Rs. 400

21 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

Moore’s Law No. of transistors on cost-effective integrated


circuit (IC) doubles every 18 months

From Hennessy and Patterson, Computer Architecture: A Quantitative Approach, 4th ed.

22 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

Trends in Computing Systems

23 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

Trends in Computing Systems

24 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

Trends in Computing Systems

25 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

Trends in Computing Systems

26 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

Trends in Computing Systems

27 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2017

Real-Time (Embedded) Systems

28 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

What is Real-Time?
 Real-Time means quantitative notion of time
 There is a physical mean to measure time
 Say, a physical clock
 Example: an automatic fire-extinguishing system

 Logical Time: qualitative notion of time


 Described with event ordering such as before, after, during,
succeeds, precedes
 Example: Query from a web-server or data-base

 Does a real-time system have all notions quantitative?


 No!! But at least some parts have quantitative notion of time
29 EE-522: Embedded Systems 1/23/2018
© Adeel Pasha, LUMS, Spring 2018

Examples of Real-Time Systems


T1 T2 T3 T4 T5 T6

30 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

Examples of Real-Time Systems


 Automated Industrial Plants

 Robotics: Line tracking and Obstacle avoidance

 Automotive: Electronic Fuel Injection (EFI)

 Safety Critical Systems: Flight-Control, Missile Guidance

 Video Conferencing & other multi-media apps


31 EE-522: Embedded Systems 1/23/2018
© Adeel Pasha, LUMS, Spring 2018

Basic Model of a Real-Time System

32 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

Basic Model of a Real-Time System


 Sensor:
 Physical characteristic of a phenomenon  electrical signal
 Actuator:
 Inverse function to a sensor
 Conditioning Units:
 Voltage amplification
 Voltage level shifting
 Sensor generates -0.5V to +0.5V, Processor needs 0V to 1V
 Frequency range shifting and filtering
33 EE-522: Embedded Systems 1/23/2018
© Adeel Pasha, LUMS, Spring 2018

Basic Model of a Real-Time System


 Interface Units:
 AD and DA convertors

34 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2017

Real-Time System Characteristics

35 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

Real-Time System Characteristics


 Timing Constraints
 Deadline-constrained Systems
 You and your assignments 
 Delay-constrained Systems
 Dialing a phone number on a landline phone
 Duration-constrained Systems
 Forced shutdown of a PC/Smartphone
 Responsibility of Real-Time OS (RTOS) to ensure timing
constraints
36 EE-522: Embedded Systems 1/23/2018
© Adeel Pasha, LUMS, Spring 2018

Real-Time System Characteristics


 Different Correctness Perspective
 Difference between real-time (RT) and conventional system

 Embedded

 Safety-Reliability
 Safe: A system that doesn’t cause damage upon failure
 Reliable: A system that works for long durations without failure
 Can the two be related??
 We will come back to it!
37 EE-522: Embedded Systems 1/23/2018
© Adeel Pasha, LUMS, Spring 2018

Real-Time System Characteristics


 Concurrency
 A RT system must handle several independent events within
very brief time bounds to ensure success
 Distributed nature
 in control and architecture
 Task Criticality
 The cost if a task fails varies according to the task
 Heavier the cost, more critical is the task
 More you should make it reliable
 Failure detection and recovery should be faster

38 EE-522: Embedded Systems 1/23/2018


© Adeel Pasha, LUMS, Spring 2018

Real-Time System Characteristics


 Reactivity
 On-going interaction between computer and environment
 A RT system can be considered as non-terminating system
 Satellite Systems, Automated Industrial Plants

 Stability
 Under overload conditions, at least critical tasks should meet their
deadlines to keep the system stable
 Fairness can be sacrificed
 Non-critical tasks may miss deadlines
39 EE-522: Embedded Systems 1/23/2018
© Adeel Pasha, LUMS, Spring 2018

Safety and Reliability: A Closer Look


 Non-RT systems: Safety and Reliability are independent
 A word processing software (might be unreliable but safe)
 A handgun (might be reliable but unsafe)
 Fail-Safe State
 If system enters this state upon failure, no damage would be done
 Every non-RT system has ≥1 fail-safe state(s)
 It makes an unreliable & unsafe system into a safe & reliable system
 Examples:
 MS Word when crashes, saves the last modifications
 Traffic signals
 Fail-safe state??
 Every RT-system does not necessarily have a fail-safe state
 Failure of the system can cause severe damage  safety-critical

40 EE-522: Embedded Systems 1/23/2018

You might also like