COE 306
Introduction to Embedded Systems

Catalog Description

Introduction to Embedded Systems.Microcontroller Hardware. ARM Processor. CPU Programming. Memory and I/O. Interfacing: Parallel and Serial Communication. A/D and D/A conversion Embedded system design methodologies. Specifications.Designing robust software for embedded systems. RTOS features.

Prerequisite(s)

COE 301 and COE 203

Textbook(s) and/or other Required Material

Wayne Wolf, "Computers as Components: Principles of Embedded Computing System Design", Third Edition, Morgan Kaufmann, 2012.

Course Objectives

  • Understand the roles of microprocessor-based system components.
  • Design efficient microcontroller-based embedded systems that meet given specifications.
  • Use state-of-the-art tools to develop, troubleshoot, and debug microcontroller-based embedded systems.

Topics Covered

  • Introduction to embedded systems: introduction to embedded systems, requirements analysis, specifications, design methodologies overview, formal system design.
  • Microcontroller organization: structure of microcontrollers, CPU, memory and I/O structure, various microcontrollers, ARM, PIC, and TI DSPs.
  • CPU and bus systems: I/O and memory mapping, addressing modes, interrupts and traps, bus protocols, DMA, system bus configurations, AMBA bus, memory devices: RAM, ROM, SDRAM, Flash, basic I/O interfaces.
  • Embedded programming techniques: C language primer, state machines, streams, circular buffers, queues, models of programs, program optimization, usingcompilers, power-aware programming, multitasking, scheduling and introduction to RTOS.
  • Development and debugging: development environment, hardware/software debugging techniques, performance analysis, and use of hardware debugging modules: ICE, JTAG, scopes, multi-meters and logic analyzers, verification and tests.
  • Network and multiprocessors: CPU and hardware acceleration, multiprocessor performance analysis, using FPGAs, case study consumer electronics architecture: cell phone, digital camera, audio player, DVD player.
  • System design techniques: design methodologies and flows, requirements analysis, specifications description, system analysis and architecture design, quality assurance.

Prepared by: Dr. Ahmad Khayyat, March 6, 2014.