Slides_1 - Real-Time Embedded Systems Lab

Download Report

Transcript Slides_1 - Real-Time Embedded Systems Lab

CSE 325 Embedded Microprocessor System
Design
Fall 2010
Computer Science & Engineering Department
Arizona State University
Tempe, AZ 85287
Dr. Yann-Hang Lee
[email protected]
Brickyard 552
(480) 727-7507
7/23
Course Syllabus (1)
 To focus in
 the integration of hardware modules to construct embedded systems,
 the programming models and characteristics of various input/out
interfaces.
 Use either assembly language or any high-level languages
 Course Goals:
 Develop an understanding for using a CPU core as a component in
system-level design.
 Ability to integrate CPU core with various interface units in embedded
controllers.
 Skills for programming and debugging I/O operations to manage
peripherals for embedded applications.
 Pre-requisites:
 Assembly language, microprocessor organization, and experience of
C programming language
set 1 -- 1
Course Syllabus (2)
 Major topics covered:
 Introduction and review of instruction set and assembly









language programming (3 lectures)
Interfacing between C and assembly languages (2 lectures)
Coldfire processor and IO multiplexing (2 lecture)
Interrupt and exception (2 lectures)
Timers and counters (2 lectures)
Serial communication: UART, SPI, and I2C (5 lectures)
Parallel I/O interface and signal handshaking (2 lectures)
Keyboards and LCD (3 lectures)
A/D-D/A converters (2 lectures)
Memory devices, SRAM, DRAM, flash memory, and SDRAM
controller (4 lectures)
set 1 -- 2
Course Syllabus (3)
 Office hours:
 3:45pm – 5:30pm, Monday and Wednesday
 Evaluation
 Midterm exams (20%) (during the class periods on March 10)
 Lab assignments (50%)
 Final exam (30%) (during the final exam period scheduled by
the University, i.e. 9:50-11:40am, Dec. 15)
 You can bring in a set of manuals (to be specified),
calculator, and a 3x5 note card to the exams.
set 1 -- 3
Target Environment
 Freescale Project Board Student Learning Kit and Coldfire
5211SLK
 Development Software
 CodeWarrior IDE (editor, compiler, assembler, debugger, etc.)
set 1 -- 4
Embedded Systems
 Computer (general)
 PC on desk top
 Windows, email, instant message, Microsoft word, power point,
games
 computation and communication
Embedded Controller
 Embedded system
 the software and
hardware component
that is an essential
part of an application
system
Control and
computation
Reference
input
sensor
Plant
actuator
set 1 -- 5
Embedded Systems -- Examples
Applications of Embedded Systems
 They are everywhere
 How many CPUs in your PC
 The average new car has a dozen microprocessors
in it. The Mercedes S-class has 65.
 How many microprocessors in average household
 microwave oven
 washer, dryer,
 dishwasher
 garage opener
 HDTV
set 1 -- 7
Hardware Platform
 Organization
 buses to connect
components – PCI, ISA,
PC104+
memory
 Package
 standard chips on PC
 processor + ASIC
 SOC
I/O
I/O
CPU
(microprocessor)
I/O
Timer
I/O
set 1 -- 8
Embedded Processors
 Must be optimized for applications
 performance, speed
 power
 I/O peripherals
 Processor cores + peripheral interfaces
 x86 processor + PCI bus
 SoC (system on a chip) architecture
 integrate CPU core and peripheral interfaces on one chip
 with some internal RAM and external boot memory
 extendable with an external bus
 HC11 micro-controller
 SoC platforms
 configurable IP blocks and software support
 Applications: handheld computing, cellular phone, infotainment,
automobile, etc.
set 1 -- 9
Simple SW Structure for Embedded Systems
 To write the control software
(program) for a smart washer
initialization
 initialize
 read keypad or control knob
 read sensors
external trigger?
 take an action
 System current state
 state transition diagram
 external triggers via
polling or ISR
ISR: to set/clear
events
 Threads for concurrent operations
Take actions
Change system state
set 1 -- 10
Software Structure of Periodic Tasks
 Invoke computation periodically
 Adjust pressure valves at a 20 Hz rate
Task initialization
(set up periodic
timer interrupts)
Task initialization
start_time=time( )
wait for the interrupt
event
computation
computation
Sleep(period ( time( ) -start_time) )
set 1 -- 11
Embedded System Development
 Development process
 integrate HW components
Requirements
 develop programs
 Test
Implementation
(HW and SW)
Test/verification
 Development environment
Development workstation
Embedded systems
(Workstation, embedded
system development tools)
Simulated signal source
(workstation, interface cards,
& test harness)
Ethernet
set 1 -- 12
Development Environment
 Use the host to
 edit, compile, and build application programs
 configure the target
Target
 At the target embedded system, use tools to
 load, execute, debug, and monitor (performance and timing)
CrossWind
WindSh
Tornado
Tools
Host
Target
Browser
WindView
Target
Server
X.c
X.cpp
X.s
Makefile
GNU
X.o
X.out
VxWorks
RTOS &
Target agent
WDB
Agent
Applications
(text, data)
vxWorks
set 1 -- 13