Dr. Alexander Dean
Electrical and Computer Engineering
ECE 561 Embedded System Design
3 Credit Hours
This course will teach you how to analyze and optimize embedded systems in order to improve:
- Speed - Raw code speed for a single thread
- Responsiveness – Latency in a preemptive, multithreaded system
- Power and Energy – Requirements for CPU and peripheral hardware
- Memory Use – RAM and ROM requirements
Embedded System Architectures (NC State ECE 560) or consent of instructor.
Analysis and optimization of embedded systems for speed, system responsiveness, power/energy use and memory requirements. Emphasis on hands-on implementation.
- Analysis: Profiling with PC sampling, object code analysis
- Optimization: Architecture, toolchain tuning, code and communication optimization
- Analysis: Real-time modeling for response time and schedulability
- Optimization: Preemption, interrupts vs. tasks, priority assignment
- Power and Energy Use
- Analysis: Modeling and measurement
- Optimizations: Architecture, sleep modes, clock gating, frequency scaling, peripheral features
- Memory Requirements
- Analysis: Map files and profiling
- Optimization: Toolchain tuning, code optimization, architecture
The target platform features a modern microcontroller (Kinetis KL25Z MCU with ARM Cortex-M0+ core) and expansion board (Color LCD with touchscreen, audio, microSD, etc.). This platform is also used in ECE 460/560 (Embedded System Architectures).
- 5 Labs
- 5 Quizzes
- 1 Project
- Comprehensive final exam
Alexander Dean, Embedded Systems Fundamentals with ARM Cortex-M based Microcontrollers: A Practical Approach, ARM Education Media, 1st Edition, ISBN 978-1-911531-03-6
This textbook is required unless you have taken ECE 560 Embedded System Architectures, or have previous experience with the NXP KL25Z MCU and FRDM-KL25Z evaluation board (subject to consent of instructor).
Computer and Software Requirements
Please review the minimum computer specifications that NC State University and Engineering Online recommend.