You are on page 1of 49

Part 1, Lecture 1 Introduction to Real Time Embedded Systems

Lecture Plan
Program Information: Program organization Recommended literature Introduction to RT embedded systems What is an RT Embedded System RT Embedded Systems Design Industry and Applications

Course Organization

Time, Location etc


1. Lectures days and time:
Every Thursday From 18.00 to 22.00 (be at time)

2. Course duration - ~6 months [bruto], about 250 ac. Hours


(frontal and for the project design).

3. Address: Ramat Gan, 7 Aba Hilel str., floor 15


1. Parking for free options: Yazira and Ahaliav str. (100-200m from
CDC)

Programs Grades Structure


Final grade structure:
Project 40% from the semester grade Each project includes the Design Specs and the Design Environment Exam 60% from the semester grade Each exam is in American Style (multiple choice) and closed books The minimum required exams and projects grade is: The required course average is: 65. 70.

Study and Help with Job Search Plan


The Course milestones are the Project milestones:
MRD, Kickoff, PDR, CDR, FDR and final exam

CV Design - Very effective and professional help Coaching for successful career building
Time and project management Career planning and Job search plan design.

Project FDR with Senior Designers from High Tech companies Diploma, Recommendations and Individual meetings for successful job search etc:
CV/Linkedin Profile Design Job search plan design Technical Interview Simulation

Course rules
Work with slides questions, comments Study environment at home Weekly Back up Course Forum Documents and code style Design reviews and final submission. Homework assignments, which will be done individually or in groups. ** The main target of the course is making the students mature enough in VLSI Design for the industry. Help yourself using internet forums and online documentation. ** Students get certificate if stand successfully in course requirements. - Every one will get the tools for working from home, plus 1 evaluation board for design group.

Evaluation Board for Real Project design

Ev. Board for Real Project design cont.

Semester A Firmware Design (RT Emb. Systems Design)


Introduction to the Program:
- Program fundamentals: rules, material and work environment - Embedded systems market overview and Job search planning

Introduction to RT Embedded Systems:


- RT Embedded Systems Overview real time constrains - Design Process - Requirements and Specifications - Architecture Design

Embedded System Architecture


- Modern Embedded Systems Architecture Overview - CISC/RISC/DSP Processors Overview (Focused on ARM)

Memory System and I/O sub-system Architectures - Bus Protocols Organization (AMBA, APB, AHB, etc.) Programming Embedded Systems
- C for RT Emb. Design Brief on Programming language at real time environment - Introduction to Compile and Debug tools - Source control and Bug tracking tools overview

10

10

Copyright 2005 AVM Brothers Ltd.

Semester A (part2) Firmware Design


Designing Embedded Computing Platform - Boot programming - Memory Devices and their Characteristics - RAM, ROM, UVROM, EEPROM, DRAM, FLASH - I/O Devices/ Timers and Counters - Clock management (PLL/CPLD, oscillators) - IC/DMA/IR Devices -A/D,D/A, Serial/Parallel interfaces Reference RT Embedded System Design Project Overview. First RT Embedded System Design Project Start: Kick off and PDR (Preliminary Design Review) RT Emb. Working Environment - Development Environment and Basic IDE concepts - Projects management and Workspaces - Manufacturing and Testing Coaching Part 1: Life targets and career planning Ref RT Emb. Project Code Review - Program Design - Design Patterns for Embedded Systems emphasis on specific issues for RT - Models of Program - Control and Data flow Graph - Programming and Run-time Environment - Analysis and Optimization of Execution Time/Energy, Power/Program Size - Program Validation and Testing First RT Embedded Design Project Design Reviews: CDR and FDR (Critical and Final Design Reviews). Semester A exam RT Embedded Designer Evaluation Exam (Basic Stage).

11

11

Copyright 2005 AVM Brothers Ltd.

Semester B Emb. Systems Design with Emb. Linux


CPU and HW overview - Support for various processors (ARM, MIPS etc) by Linux. Registers, busses, interrupts, memory subsystem Linux introduction, system calls - Overview of Linux; GPL; userspace code uses kernel services Processes, threads - Process concept; lifetime; implementation, stacks; usage; priorities RT vs. others Synchronization and IPC (inter-process communication) Context switch, scheduler Interrupts subsystem Memory subsystem/Non-volatile memory

12

12

Copyright 2005 AVM Brothers Ltd.

Semester B(Part2) Emb. Systems Design with Emb. Linux


Filesystems - i-node. Embedded filesystems: JFFSx, YAFFS, UBIFS, ROMFS, CRAMFS, NFS, PROCFS Networking - Layers and protocols; internet-enabled systems; network-enabled applications Introduction to Linux system administration - Creating development environment; setting NFS, TFTP, samba, NFS servers Drivers - Character device drivers; kernel modules; kernel busses Reference Advanced RT Emb. Design Project Overview. Advanced RT Emb. Design Project Implementation: MRD, Kick off , PDR, CDR, FDR Coaching Part 2: - Project Schedule and CV Design + interview preparation Practical part for the Network Based Embedded Applications Program Final exam: Embedded Real-Time Designer Evaluation Exam (Final Program Exam).

13

13

Copyright 2005 AVM Brothers Ltd.

Course Material
Course Material includes:
Slide Sets 4 books: (2 for SemA - Firmware, 2 for SemB Emb. Linux) 1. Introduction to RT Embedded Systems Design: 1. RT Embedded Design Technologies and Design Flow 2. Structure of Modern Processors, Peripherals. 2. Projects review and design: 1. Main rules for the design, RT programming with ASM and C. 2. RT Emb. System Design: Ref Project Review and help to the First Project Design 3. Introduction to RTOS VxWorks and Embedded Linux. 4. Design in OS environment and Advanced Ref Project review + design the First Project with RTOS. Reference RT Embedded Design and Advanced RT Embedded Design Projects Design Environment - Soft Copy.
14

Recommended Literature
1. Computer Systems Computer System Architecture, Moris Mano (ISBN-13: 9780131755635) The Indispensable PC Hardware Book Hans Peter Messmer (ISBN: 0-201-59616-4) RT Embedded Design "Real time UML: Developing Efficient Objects for Embedded Systems" by Bruce Powel Douglass Programming with C and ASM - C Traps & Pitfalls - Andrew Koenig

2.

3.

15

Recommended Literature
4. Real Time Operating System Programming Real-Time Embedded Multithreading Using ThreadX and ARM Edward L. Lamie Building Embedded Linux Systems Karin Yaghnmour Real-Time Concepts for Embedded Systems Qing Li,Caroline Yao

16

What is a Real Time Embedded System?

17

Embedded System Design introduction


Real Time System Example:
A telephone switching system must feed dial tone to thousands of subscribers within a recommended limit of one second The off hook detection mechanism and the software message communication involved have to work within the limited time budget The system has to meet these requirements for all the calls being set up at any given time

18

Introduction to RT Emb. Sys. - Industry and Applications


Microprocessor Market Share all embedded almost

19

What Is a Real Time ?


Definition: An Embedded system is a computer system designed to perform one or a few dedicated functions. It is embedded as part of a complete device often including hardware and mechanical parts .
For example, your IPOD is an embedded system.

Definition: A Real Time Application is an application which has time constrains. This is a pre-defined operational deadlines from event to system response, the time must be met even if the system runs at full load (worse case scenario).
For example, a car engine control system is a real-time system because a delayed signal may cause engine failure or damage.

20

Real Time System


System is described as being deterministic if its response time is predictable Lag time between the occurrence of an event and response to that event is called latency Deterministic response is key to real-time performance

21

Hard vs. Soft Real Time


Hard real-time means all hard deadlines are always met

Time Event Event processed and completed (Max.) Guaranteed worst-case response times

Each event, like a button push, will be processed and completed at a predefined time, regardless of system load
22

Hard vs. Soft Real Time


Soft real-time means that event tolerate lateness, and may respond with decreased service quality

Time Event The CPU will allocate the bandwidth to process the event, there is no guarantee of completion time

For example, Video player may lose some frames while playing a video

23

Hard vs. Soft Real Time


Hard Real Time is necessary for critical missions such as heart pacemaker and industrial process controllers, where failure to meet a guaranteed response time could lead to catastrophic results. In Soft Real Time users are happier when the system responds optimally, but which is not considered to have "failed" when the system doesn't meet each and every desired response time. On average, a soft real-time system meets a particular response time goal.

24

Embedded System Design introduction


RT system is dealing with solving real time constrains: Real time Response The system needs an immediate response can even be in magnitude order nano-seconds Asynchronous events can occur at any time

25

Embedded System Design introduction

Race Conditions and Timing


Buffers zone limited size needs timed treatment Mutual demand for resources

26

Embedded System Design introduction


Size limitation
System on Chip or Board tends to be very limited in space This forces many limitation on the processor in terms of address lines number etc

Power consumption
The power budget is very limited and extremely important especially in mobile applications

27

Embedded System Design introduction


Performance
The system performance is a key issue and must be kept in all circumstance Performance is a major factor in choosing the processor, the clock frequency , ram size , code size etc..

Re-use
In many projects the system relies on already developed components, which the designer must reuse. These components already have embedded constrains in addition to the new system constraints.

Recovering from Failures


Working in a distributed environment connection failure

28

Embedded System Design introduction


Real Time Design concerns Is the architecture suitable? Are the link speeds adequate? Are the processing components powerful enough? Is the Operating System suitable? What is the footprint - size of the code ? What is the required size of the RAM ? Could we keep the power budget ? What are the tools this processor has - the IDE ?

29

Embedded System Design introduction


SoC System On Chip The System On Chip consists of a few different block types inside the same chip like: CPU The main processor unit Memory devices Volatile and non-volatile Internal bus interfaces and decoders Peripheral devices Digital/Analog functions

30

Embedded System Design introduction


SoB System On Board Full set of the necessary devices as standalone on the same board: CPU The main processor unit Memory devices Volatile and non-volatile Internal bus interfaces and decoders Peripheral devices

31

RT Embedded Technologies
RT Embedded Technologies Platforms types: Firmware (SoC/SoB) RTOS Drivers technology

32

RT Embedded Technologies
The firmware systems About 25% of the system are without OS The OS mechanism is not a must for this kind of usually simple application
Firmware Software
Rom part Ram part Interrupts part
Exceptions part

System Blocks - Overview


RAM CPU

Firmware

Peripherals

33

Embedded System Design introduction


Firmware systems main features - Small code size 5-100k Using only procedure level programming - Main Loop system - Drivers for communication and/or peripheral devices can hold a major part of the system - The firmware can manage and control a single SOC, or can control also devices on a full Board level

34

Embedded System Design introduction


System with RTOS (Real Time Operating Systems) features: - Medium & Large code size 100k - 4m per processor - A system can hold several processors - Using all programming levels - RTOS includes : time base task scheduling mutual exclusion treatment task priority etc

35

What Is An Operating System (1 of 2)


An Operating System (OS) is a computer program that manages the hardware and software resources of a computer Operating system performs basic tasks such as: Controlling and allocating memory Prioritizing system requests Controlling input and output devices Facilitating networking Managing files In other words, it forms a platform for other software.

36

What Is Operating System (2 of 2) Real Life Examples


Controlling and allocating memory When you launch you favorite computer game memory is allocated for the games variables. Prioritizing system requests The eject button in a fighter has higher priority than the lights management system Controlling input and output devices Network Interface Card (NIC) connect your computer to the internet

37

Embedded System Design introduction


System with RTOS (Continue) Drivers for communication and/or peripheral devices usually hold a minor part of the system The system with RTOS can reside on a system on chip (SOC) or on a System On Board (SOB) at a full Board level

38

RT Embedded Technologies
Introduction to Device Drivers What are device drivers? Make the attached device work Insulate the complexities involved in I/O handling

Application RTOS Device driver Hardware


39

Drivers Examples

40

RT Embedded Device Drivers


Device Driver Characterization Device Drivers Functionalities initialization data access data assignment interrupt handling

41

Embedded System Design introduction RT system Programming languages Old systems - include many parts in assembly language processor dependent language Current systems - most real time systems are based on RTOS now, written in the C language. Still, for crucial time tasks, Assembly code may be required (e.g when cycle count is important). Some applications which have a lot of software - less real time oriented , but application business dependent , or which inherited software base - are written using C++ Many application have several programming languages mixed due to real time constrains or inherited code
42

Embedded System Design introduction


ASM language
The assembly language is processor dependent No reuse to other processors Mastered by a limited number of programmers Has all the known limitation of assembler : One C line on average 5 assembly commands Very hard to check and debug Very efficient in terms of execution time and code size

43

Embedded System Design introduction C language


Is NOT processor dependent Reuse to other processor is very common Known to a very large number of programmers Relatively easy to check and debug Quite efficient in terms of execution time and code size The compiler can include optimizers for using the processor pipeline structure efficiently C++ language is NOT processor dependent Reuse to other processor is extremely common Known to a very large number of programmers Medium effort require for testing and debug NOT efficient in terms of execution time and code size

C++ language

44

Emb. Systems Industry and Applications


CPUs for RT Emb. Systems Cellular market: ARM Marvell Toshiba

45

RT Emb. Systems Industry and Applications


Communication market:
Power PC- Motorola 8051 Intel MIPS ARM ARC XSCALE

46

RT Emb. Systems Industry and Applications


Semiconductors market: DSP: TI, Freescale, ST-Micro Small RISC processors: ARM, MIPS, ARC Compatible controllers: 8051 Intel, by many new compatible versions Security market: FreeScale: Freescale MPC85xx processors Intel: Tolapai processors LSI: T9000, T10, and T1000 RMI: XLR processors

47

Industry and Applications Job Market Sectors in Israel Semiconductors Intel, IBM, Freescale, Applied, Orbotech Communication Cisco, Rad, ECI, NDS. - Each of the above has 100s of RT- embedded engineers Security Elbit, IAI, Rafael, Nice, Verint Most of the above has 1000s of RT Embedded engineers There are many medium size companies and plenty of small ones

48

Introduction to RT Emd. Systems - Industry and Applications


Israel - Salary Survey Oct-2009 - software

Function

0-2 years

3-5 years

6+ years

Junior Mng/Team Leader


26-30

Senior Mng

Embedded Systems Designer

15-19

18-24

23-28

30-40

49

You might also like