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