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.