140 likes | 321 Views
CSE 325 Embedded Microprocessor System Design Fall 2010. Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu Brickyard 552 (480) 727-7507. Course Syllabus (1). To focus in
E N D
CSE 325 Embedded Microprocessor System Design Fall 2010 Computer Science & Engineering DepartmentArizona State University Tempe, AZ 85287 Dr. Yann-Hang Leeyhlee@asu.eduBrickyard 552 (480) 727-7507
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
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)
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.
Target Environment • Freescale Project Board Student Learning Kit and Coldfire 5211SLK • Development Software • CodeWarrior IDE (editor, compiler, assembler, debugger, etc.)
Embedded Systems • Computer (general) • PC on desk top • Windows, email, instant message, Microsoft word, power point, games • computation and communication • Embedded system • the software and hardware component that is an essential part of an application system Embedded Controller Control and computation Reference input sensor Plant actuator
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
Organization buses to connect components – PCI, ISA, PC104+ Package standard chips on PC processor + ASIC SOC I/O I/O I/O I/O memory CPU (micro- processor) Timer Hardware Platform
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.
Simple SW Structure for Embedded Systems • To write the control software (program) for a smart washer • initialize • read keypad or control knob • read sensors • take an action • System current state • state transition diagram • external triggers via polling or ISR • Threads for concurrent operations initialization external trigger? ISR: to set/clear events Take actions Change system state
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) )
Requirements Implementation (HW and SW) Test/verification Development workstation Embedded systems Simulated signal source (workstation, interface cards, & test harness) (Workstation, embedded system development tools) Ethernet Embedded System Development • Development process • integrate HW components • develop programs • Test • Development environment
CrossWind WindSh Browser WindView Tornado Tools VxWorks RTOS & Target agent Target Host Target Server WDB Agent Applications (text, data) X.c X.cpp X.s Makefile X.o X.out vxWorks GNU Development Environment • Use the host to • edit, compile, and build application programs • configure the target • At the target embedded system, use tools to • load, execute, debug, and monitor (performance and timing) Target