Introduction to Embedded Systems

Similar documents
José Costa What is an embedded system? Examples of embedded systems. Characteristics of embedded systems

Embedded System Current Trends

Embedded Systems Introduction

Microprocessors, Lecture 1: Introduction to Microprocessors

Lecture 6: Embedded Systems and Microcontrollers

Somes French translations :

ELEC 5260/6260/6266 Embedded Computing Systems

e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: Microcontrollers and Embedded Processors Module No: CS/ES/2 Quadrant 1 e-text

EMBEDDED SYSTEM BASICS AND APPLICATION

ECE 471 Embedded Systems Lecture 2

Overview of Microcontroller and Embedded Systems

Microprocessors And Microcontroller

Introduction to Embedded Systems

Validation Strategies with pre-silicon platforms

1. Defining and capturing the design of a system. 2. Cost Limitations (low profit margin must sell millions)

EC EMBEDDED AND REAL TIME SYSTEMS

Embedded HW/SW Co-Development

Digital electronics & Embedded systems

COMPLEX EMBEDDED SYSTEMS

Introduction to Embedded Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

NS115 System Emulation Based on Cadence Palladium XP

Introduction to Embedded Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

DE5 Thursday, September 09, 2010

TRACE32. Product Overview

Operating Systems. Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) alphapeeler.sf.net/pubkeys/pkey.htm

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006

Embedded system - Wikipedia, the free encyclopedia

Introduction. Definition. What is an embedded system? What are embedded systems? Challenges in embedded computing system design. Design methodologies.

Lecture (01) Introducing Embedded Systems and the Microcontrollers By: Dr. Ahmed ElShafee

MT2 Introduction Embedded Systems. MT2.1 Mechatronic systems

Computer Systems. Communication (networks, radio links) Meatware (people, users don t forget them)

Introduction to Embedded Systems

Basic Components of Digital Computer

Embedded Computation

Chapter 1 Overview of Digital Systems Design

Simplify rich applications & hard real-time

Embedded World Television, Radio, CD player, Washing Machine Microwave Oven Card readers, Palm devices

Microprocessor Systems

w w w. b a s e t r a i n i n g i n s t i t u t e. c o

MicroProcessor. MicroProcessor. MicroProcessor. MicroProcessor

Digital Systems Design. System on a Programmable Chip

ELEC 5260/6260/6266 Embedded Computing Systems

ELCT708 MicroLab Session #1 Introduction to Embedded Systems and Microcontrollers. Eng. Salma Hesham

Digital Electronics 27. Digital System Design using PLDs

Welcome. Altera Technology Roadshow 2013

AT-501 Cortex-A5 System On Module Product Brief

ICS 180 Spring Embedded Systems. Introduction: What are Embedded Systems and what is so interesting about them?

Fundamental Concepts and History

)8-,768'HY.LW 2YHUYLHZ. )XMLWVX0LNURHOHNWURQLN*PE+ Am Siebenstein Dreieich-Buchschlag, Germany

Embedded Systems: Architecture

Ten (or so) Small Computers

Lab Assignment Each team will independently implement the launch interceptor specification For this assignment, you re writing portable C code

Silicon Motion s Graphics Display SoCs

Motherboard Components of a Desktop Computer

Graduate Institute of Electronics Engineering, NTU Advanced VLSI SOPC design flow

CMPE 415 Programmable Logic Devices Introduction

Software Driven Verification at SoC Level. Perspec System Verifier Overview

CONSIDERATIONS FOR THE DESIGN OF A REUSABLE SOC HARDWARE/SOFTWARE

Yafit Snir Arindam Guha Cadence Design Systems, Inc. Accelerating System level Verification of SOC Designs with MIPI Interfaces

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS

Parallel Simulation Accelerates Embedded Software Development, Debug and Test

PIC Microcontroller and

IP CORE Design 矽智產設計. C. W. Jen 任建葳.

Learning Module 9. Managing the Sensor: Embedded Computing. Paul Flikkema. Department of Electrical Engineering Northern Arizona University

8051 MICROCONTROLLERS

Embedded Systems. Octav Chipara. Thursday, September 13, 12

UNIT-I. Introduction to Embedded Systems

Hardware Decisions for Embedded Systems Design in Asia/Pacific

The MPC500 Family of 32-bit Embedded Controllers from Motorola. Rudan Bettelheim MCU Marketing Manager 32-bit Embedded Controller Division, SPS

Altera SDK for OpenCL

Extending Fixed Subsystems at the TLM Level: Experiences from the FPGA World

Embest SOC8200 Single Board Computer

Introduction to ASIC Design

So you think developing an SoC needs to be complex or expensive? Think again

MYD-IMX28X Development Board

Embedded Systems Design (630414) Lecture 1 Introduction to Embedded Systems Prof. Kasim M. Al-Aubidy Computer Eng. Dept.

NanoMind Z7000. Datasheet On-board CPU and FPGA for space applications

COMP2121: Microprocessors and Interfacing. Introduction to Microprocessors

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi. Lecture - 10 System on Chip (SOC)

Verification Futures The next three years. February 2015 Nick Heaton, Distinguished Engineer

Embedded Systems: Hardware Components (part I) Todor Stefanov

Renesas Synergy MCUs Build a Foundation for Groundbreaking Integrated Embedded Platform Development

MYD-C7Z010/20 Development Board

Chapter 5: ASICs Vs. PLDs

Computer Hardware Requirements for Real-Time Applications

Overview of Embedded Systems in Medical Applications

A So%ware Developer's Journey into a Deeply Heterogeneous World. Tomas Evensen, CTO Embedded So%ware, Xilinx

Low-Cost Microcontrollers

Introduction to the Personal Computer

Designing a Multi-Processor based system with FPGAs

Figure 1: Target environment includes peripherals.

DoCD IP Core. DCD on Chip Debug System v. 6.02

Computer System Selection for Osprey Video Capture

The Microcontroller Idea Book

Distributed Real-Time Control Systems. Module 3 Hardware for Real Time Distributed Control Systems

PLX USB Development Kit

TRACE32 Getting Started... ICD In-Circuit Debugger Getting Started... ICD Introduction... 1

Developing Measurement and Control Applications with the LabVIEW FPGA Pioneer System

Hardware-Software Codesign. 1. Introduction

Software Design Challenges for heterogenic SOC's

Transcription:

Introduction to Embedded Systems Minsoo Ryu Hanyang University

Outline 1. Definition of embedded systems 2. History and applications 3. Characteristics of embedded systems Purposes and constraints User interfaces Processors for embedded systems Development issues 2 2

What is an embedded system? Definition (from Wikipedia) An embedded system is a special-purpose system in which the computer is completely encapsulated by the device it controls. Unlike a general-purpose computer, such as a personal computer, an embedded system performs one or a few pre-defined tasks, usually with very specific requirements. General view Embedded system is a computing system embedded into a larger product 3 3

Smartphone as an embedded system Smartphone Hardware Software CPU Memory Application SW Network emmc System SW GPU sensor OS kernel 4 4

Early history One of the very first embedded systems was the Apollo Guidance Computer Developed by Charles Stark Draper at MIT An early mass-produced embedded system was the Autonetics D-17 guidance computer for the Minuteman missile, released in 1961 Since 1960s, embedded systems have come down in price and there has been a dramatic rise in processing power and functionality An early microprocessor, the Intel 4004, was designed for calculators and other small systems 5 5

Typical applications Vehicles Ignition Systems, Engine Control, Antilock Braking System, Consumer Electronics TVs, STBs, appliances, toys, automobiles, cell phones Industrial Control robotics, control systems Medical devices and systems Infusion Pumps, Dialysis Machines, Prosthetic Devices, Cardiac Monitors, Networks routers, hubs, gateways, Office Automation fax machines, photocopiers, printers, monitors, 6 6

Characteristics of embedded systems Dedicated purposes Real-time requirements Deadlines and periods Mass production Harsh operating conditions Limited resources Limited processing power and memory Many systems are battery-powered Portability and mobility 7 7

Examples 99% of CPUs are used in embedded systems 8 8

Examples 99

User interfaces in embedded systems Embedded systems range from no user interface at all, in systems dedicated only to one task, to complex graphical user interfaces that resemble modern computer desktop operating systems Simple embedded devices use buttons, LEDs, graphic or character LCDs (HD44780 LCD for example) with a simple menu system More sophisticated devices use a graphical screen with touch sensing or screen-edge buttons buttons character LCD LEDs 7-segment LED 10 10

User interfaces in embedded systems Some systems provide user interface remotely with the help of a serial (e.g. RS-232, USB, I²C, etc.) or network (e.g. Ethernet) connection A good example of this is the combination of an embedded web server running on an embedded device (such as an IP camera) or a network router The user interface is displayed in a web browser on a PC connected to the device, therefore needing no software to be installed 11 11

Processors for embedded systems General purpose processors (mostly low power) A microprocessor is a single chip CPU ARM, Intel Atom, Motorola s 680x0 Microcontrollers (μc) Include on-chip peripherals (ROM, RAM and I/O ports) as well as CPU, thus reducing power consumption, size and cost Motorola s 6811, Intel s 8051, Zilog s Z8 and PIC 16X SoC (System-on-Chip) Integrates all components of a computer or other electronic system into a single chip It may contain digital, analog, mixed-signal, and often radiofrequency functions all on a single chip substrate Used for very high volume products SoCs can be implemented as an application-specific integrated circuit (ASIC) or using a field-programmable gate array (FPGA) 12 12

ARM-based Processors ARM11 MPCore ARM-based SoC (Mobile AP) 13 13

North/Southbridge Layout in Intel Chipsets The northbridge is used to manage data communications between a CPU and a motherboard within Intel chipsets The southbridge typically implements the slower capabilities of the motherboard Increasingly the northbridge functions have migrated to the CPU chip itself, beginning with memory and graphics controllers For Intel Sandy Bridge and AMD Accelerated Processing Unit processors introduced in 2011, all of the functions of the northbridge reside on the CPU 14 14

Cross Development Environment When doing embedded development, there is always a split between the host, the development workstation, which is typically a powerful PC and the target, which is the embedded system under development They are connected by various means: almost always a serial line for debugging purposes, frequently an Ethernet connection, sometimes a JTAG interface for low-level debugging 15 15

Cross Development Environment Cross compilation 16 16

Cross Development Environment 17 17

Debugging Embedded Systems Embedded debugging may be performed at different levels, depending on the facilities available Interactive resident debugging, using the simple shell provided by the embedded operating system (e.g. Forth and Basic) External debugging using logging or serial port output to trace operation using either a monitor in flash or using a debug server like the Remedy Debugger which even works for heterogeneous multicore systems 18 18

Debugging Embedded Systems An in-circuit debugger (ICD), a hardware device that connects to the microprocessor via a JTAG or Nexus interface This allows the operation of the microprocessor to be controlled externally, but is typically restricted to specific debugging capabilities in the processor An in-circuit emulator (ICE) replaces the microprocessor with a simulated equivalent, providing full control over all aspects of the microprocessor A complete emulator provides a simulation of all aspects of the hardware, allowing all of it to be controlled and modified, and allowing debugging on a normal PC The downsides are expense and slow operation, in some cases up to 100X slower than the final system 19 19

Debugging Embedded Systems For SoC designs, the typical approach is to verify and debug the design on an FPGA prototype board Tools such as Certus are used to insert probes in the FPGA RTL that make signals available for observation This is used to debug hardware, firmware and software interactions across multiple FPGA with capabilities similar to a logic analyzer Because an embedded system is often composed of a wide variety of elements, the debugging strategy may vary For instance, debugging a software- (and microprocessor-) centric embedded system is different from debugging an embedded system where most of the processing is performed by peripherals (DSP, FPGA, coprocessor) An increasing number of embedded systems today use more than one single processor core A common problem with multi-core development is the proper synchronization of software execution In such a case, the embedded system design may wish to check the data traffic on the busses between the processor cores, which requires very lowlevel debugging, at signal/bus level, with a logic analyzer, for instance 20 20

Debugging Embedded Systems Real-time operating systems (RTOS) often supports tracing of operating system events A graphical view is presented by a host PC tool, based on a recording of the system behavior. The trace recording can be performed in software, by the RTOS, or by special tracing hardware RTOS tracing allows developers to understand timing and performance issues of the software system and gives a good understanding of the high-level system behavior Commercial tools like RTXC Quadros or IAR Systems exist 21 21