CSE 325 Embedded Microprocessor System Design Fall 2010
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 7/23
Course Syllabus (1) q To focus in v the integration of hardware modules to construct embedded systems, v the programming models and characteristics of various input/out interfaces. v Use either assembly language or any high-level languages q Course Goals: v Develop an understanding for using a CPU core as a component in system-level design. v Ability to integrate CPU core with various interface units in embedded controllers. v Skills for programming and debugging I/O operations to manage peripherals for embedded applications. q Pre-requisites: v Assembly language, microprocessor organization, and experience of C programming language set 1 -- 1
Course Syllabus (2) q Major topics covered: v Introduction and review of instruction set and assembly v v v v v 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 I 2 C (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) q Office hours: v 3: 45 pm – 5: 30 pm, Monday and Wednesday q Evaluation v Midterm exams (20%) (during the class periods on March 10) v Lab assignments (50%) v Final exam (30%) (during the final exam period scheduled by the University, i. e. 9: 50 -11: 40 am, Dec. 15) q You can bring in a set of manuals (to be specified), calculator, and a 3 x 5 note card to the exams. set 1 -- 3
Target Environment q Freescale Project Board Student Learning Kit and Coldfire 5211 SLK q Development Software v Code. Warrior IDE (editor, compiler, assembler, debugger, etc. ) set 1 -- 4
Embedded Systems q Computer (general) v PC on desk top Ø Windows, email, instant message, Microsoft word, power point, games Ø computation and communication Embedded Controller q Embedded system v 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 q They are everywhere q How many CPUs in your PC q The average new car has a dozen microprocessors in it. The Mercedes S-class has 65. q How many microprocessors in average household v microwave oven v washer, dryer, v dishwasher v garage opener v HDTV set 1 -- 7
Hardware Platform q Organization v buses to connect components – PCI, ISA, PC 104+ memory q Package v standard chips on PC v processor + ASIC v SOC I/O CPU (microprocessor) I/O Timer I/O set 1 -- 8
Embedded Processors q Must be optimized for applications v performance, speed v power v I/O peripherals q Processor cores + peripheral interfaces v x 86 processor + PCI bus q So. C (system on a chip) architecture v integrate CPU core and peripheral interfaces on one chip v with some internal RAM and external boot memory v extendable with an external bus v HC 11 micro-controller q So. C platforms v configurable IP blocks and software support v Applications: handheld computing, cellular phone, infotainment, automobile, etc. set 1 -- 9
Simple SW Structure for Embedded Systems q To write the control software (program) for a smart washer initialization v initialize v read keypad or control knob v read sensors external trigger? v take an action q System current state v state transition diagram v external triggers via polling or ISR: to set/clear events q Threads for concurrent operations Take actions Change system state set 1 -- 10
Software Structure of Periodic Tasks q Invoke computation periodically v 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 Sleep(period ( time( ) -start_time) ) set 1 -- 11
Embedded System Development q Development process v integrate HW components Requirements v develop programs v Test Implementation (HW and SW) Test/verification q 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 q Use the host to v edit, compile, and build application programs v configure the target Target q At the target embedded system, use tools to v load, execute, debug, and monitor (performance and timing) Cross. Wind. Sh Tornado Tools Host Target Browser Wind. View Target Server X. cpp X. s Makefile GNU X. out Vx. Works RTOS & Target agent WDB Agent Applications (text, data) vx. Works set 1 -- 13
- Slides: 14