Embedded Systems Principles and Security
- Level
- Graduate
- Status
- Under development
Note: this course is still being designed and calibrated; the page content is for reference and does not represent the final teaching version.
Syllabus
Course Overview
Embedded Systems Principles and Security brings microcontrollers, real-time constraints, peripherals, firmware, and IoT security into one framework. The course emphasizes engineering tradeoffs in resource-constrained environments, secure boot, firmware update, and debug-interface risk.
This is a practical bridge from systems programming, organization, and architecture to hardware security.
Prerequisites
- Computer organization, assembly, and systems programming.
- Ability to read C/Rust embedded code.
- Willingness to complete board-level labs and debugging.
Learning Outcomes
- Explain MCUs, peripherals, interrupts, and real-time scheduling.
- Write and debug firmware drivers and communication code.
- Analyze firmware update, secure boot, and key storage.
- Identify debug-interface and configuration risks in IoT devices.
- Complete a runnable embedded-security project.
Course Format
- Two meetings per week: one for core concepts and one for labs, paper discussion, or project review.
- The course proceeds over 16 weeks, each with a checkable assignment, lab, or project milestone.
- Reproducibility is required: code, configuration, data, lab logs, and reports must be reviewable by staff or peers.
Weekly Plan
Embedded hardware, toolchains, and debugging
Set up board, serial, and debugging environment.
Embedded hardware, toolchains, and debugging: lab and review
Set up board, serial, and debugging environment. Complete the paired lab, record issues, and explain design tradeoffs in class review.
GPIO, timers, and interrupts
Implement an interrupt-driven peripheral task.
GPIO, timers, and interrupts: lab and review
Implement an interrupt-driven peripheral task. Complete the paired lab, record issues, and explain design tradeoffs in class review.
Real-time constraints and low power
Measure latency, jitter, and power.
Real-time constraints and low power: lab and review
Measure latency, jitter, and power. Complete the paired lab, record issues, and explain design tradeoffs in class review.
Buses, sensors, and communication
Implement I2C/SPI/UART communication labs.
Buses, sensors, and communication: lab and review
Implement I2C/SPI/UART communication labs. Complete the paired lab, record issues, and explain design tradeoffs in class review.
Firmware structure and update
Design secure update and rollback strategy.
Firmware structure and update: lab and review
Design secure update and rollback strategy. Complete the paired lab, record issues, and explain design tradeoffs in class review.
Secure boot and key storage
Analyze boot chain and key lifecycle.
Secure boot and key storage: lab and review
Analyze boot chain and key lifecycle. Complete the paired lab, record issues, and explain design tradeoffs in class review.
IoT attack surfaces and debug interfaces
Audit interfaces and configuration of a device.
IoT attack surfaces and debug interfaces: lab and review
Audit interfaces and configuration of a device. Complete the paired lab, record issues, and explain design tradeoffs in class review.
Embedded security project
Submit firmware, lab notes, and security evaluation.
Embedded security project: lab and review
Submit firmware, lab notes, and security evaluation. Complete the paired lab, record issues, and explain design tradeoffs in class review.
Assessment
Concept questions, reading responses, design tasks, and small programming or lab exercises.
Board labs, firmware implementation, measurements, and security analysis.
Participation in discussions, demos, code or paper reviews, and peer feedback.
Submit reproducible artifacts, a technical report, and a demo explaining methods, results, limitations, and future work.
Course Project
Students complete a board-level project such as a secure sensor node, firmware update mechanism, interface audit, low-power communication, or debug-interface risk assessment.
Policies
- AI tools are allowed, but generated code, lab notes, and design suggestions must be reviewed by the student and disclosed in the report.
- Students may not submit code, proofs, configuration, or experimental results they cannot explain; each member must defend their own design, tests, and tradeoffs.
- Late work affects iteration grades, but the course values reproducible, auditable, and maintainable results over last-minute accumulation.
Reference Courses
International
- CMUECE 649: Embedded & Internet Security
- Georgia TechEmbedded System Cyber Security VIP Lab
- PurdueECET 53600: Embedded Systems Security
- University of WashingtonCSE 484: Computer Security(含嵌入式安全)
China 985 Universities
- 上海交通大学嵌入式系统原理与应用
- 中国科学技术大学嵌入式系统安全与设计
- 中国科学技术大学嵌入式系统设计方法
- 北京大学嵌入式系统编程与实践
- 哈尔滨工业大学嵌入式软硬件设计与实践
- 电子科技大学嵌入式系统及应用