Skip to main content

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

The course addresses both software and hardware considerations. Credit will not be awarded for both ECE 461 and ECE 561. Restricted to CPE and EE Majors.

Prerequisite

Embedded System Architectures (NC State ECE 560) or consent of instructor.

Course Objectives

Analysis and optimization of embedded systems for speed, system responsiveness, power/energy use and memory requirements. Emphasis on hands-on implementation.

  • Speed
    • Analysis: Profiling with PC sampling, object code analysis
    • Optimization: Architecture, toolchain tuning, code and communication optimization
  • Responsiveness
    • 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).

Course Requirements

  • 5 Labs
  • 5 Quizzes
  • 1 Project
  • Comprehensive final exam

Textbook

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).

Updated: 10/31/2022