ECEE 5623 - Real-Time Embedded Systems
ECEE 5623 - Real-Time Embedded Systems
ECEE 5623 - Real-Time Embedded Systems
Class: ECEE 1B32, Wednesdays, Flipped Classroom (ECEE 1B32) using Zoom, May 29th until
August 16, 2019 - During Term-D (June 3 to Aug 9).
Final project demonstration day - August 15, Dr. Siewert available for demos all day on campus
(8/17 early morning for overflow).
Please watch Video Lectures and consult Lecture Notes before each flipped class. Please use
one of the supported embedded platforms for the course along with supporting tools as
outlined here to complete Labs and turn them in on Canvas [Canvas].
Lab Description: The course requires the student to install embedded Linux or an RTOS
microkernel (FreeRTOS or Zephyr) on a System-on-Chip processor such as the Raspberry-Pi 3b+,
NVIDIA Tegra K1 or Nano, the Altera DE1-SoC, or the Intel Curie / Quark (Arduino 101). In
addition, students may want to set up an Oracle Virtual-Box Linux installation. For work with
live video please note recommended cameras and make sure you have access to native JetPack
Linux on a Jetson (TK1 or Nano). For other types of sensor interfaces and audio, the DE1-SoC or
Curie/Quark is fine. This course must be completed using an embedded system RTOS (FreeRTOS
or Zephyr) or embedded Linux only, not a PC running Linux. You will however find Linux as a
useful host development system (Windows is ok too).
1. REQUIRED TEXT: Real-Time Embedded Components and Systems with Linux and RTOS,
Sam Siewert and John Pratt, December 2015, 978-1942270041, Mercury
Learning, Amazon, E-book, RTECS 2nd Ed Figures and Examples, RTECS 1st Ed
CDROM, ERRATA
2. Linux Kernel Development (3rd Edition), Robert Love, Addison-Wesley Professional; 3
edition (July 2, 2010), ISBN-10: 0672329468, ISBN-13: 978-0672329463, Linux Kernel
Development (3rd Edition), by Robert Love
Syllabus (See Canvas for Definitive Lab Due Dates and Quizzes) Term-D - June to August
Week-1, Session-1 Class: Introduction - Lecture 1 Video , Lecture 1 Notes , Updated Notes
- Course goals [10 weeks, 5 labs, Mid-Term Exam, 2 Quizzes]
* Beagle xM and ARM DM architecture [ARM v7te ISA, Coretex A8]
* Ubuntu Linux
* Linux user space and kernel space programming
* Hard Real-Time Theory
* Drivers and Real-Time Video
* 1/3 Theory, 1/3 Practice, 1/3 Practitioner Work
- Course project [Final Extended Lab - USB Camera for Time Lapse Capture]
- Course grading (see policy below)
- Fall ECEE 5623 Video Files: Project from Previous Semesters (Robotics, Video, Audio)
- RT Embedded System TERMINOLOGY
INITIAL QUIZ REVIEW - Terminology Overview
Start Lab-1
Week-2, Session-1 Class: Fundamentals of RT Theory Cont'd - Services and High-Level Design -
QUIZ on Terminology Overview, Lecture 3 Video , Lecture 3 Notes , Updated Notes
Real-Time Services
- What a Service Release Timeline Really Looks Like
- The CPU, I/O, Memory Resource Space (Characterizing RT Applications)
- Intro to Timing diagrams (interference)
- Intro to Hard real-time safe resource utilization bounds
EXAMPLE - Space Infrared Telescope Facility Instrument Control (launched on August 25,
2003)
- The hard real-time requirements and performance
- What worked, what didn't and why
- Overview Presentation
- The Test Image
Lab-1 DUE
Start Lab-2
Week-3, Session-1 Class: RM/DM Policy and Feasibility Test Derivation - Lecture 4 Video ,
Lecture 4 Notes , Updated Notes
SW Implementations of RT Services
- Main+ISR Executive
- Cooperative Non-Preemptive Threads
- Callbacks
- Continuation Functions
- Software State-Machines
- Priority Preemptive Run-to-Completion RTOS
- Time-sliced Traditional Best Effort OS
Lab-2 DUE
Start Lab-3
Read: RTECS - Chapter 7 and re-read 4.2, 4.3, 4.4 regarding WCET
Lab-3 DUE
Week-6, Session-1 Class: Scalable Embedded Systems Architectures - Lecture 7 Video , Lecture 7
Notes , Updated Notes
Week-7, Session-1 Class: Device Drivers and Characterization of Embedded I/O - Lecture 8 Video
, Lecture 8 Notes , Updated Notes
I/O interfaces
- Digital
- Analog (ADC, DAC interfaces)
- Cache Coherency
- Harvard I-Cache, D-cache Architecture
- Cache Invalidate, Flush, Lock, Pre-fetch
Week-8, Session-2 Class: Embedded Volatile and Non-volatile Memory Devices - Lecture 10
Video , Lecture 10 Notes , Updated Notes
Lab-4 DUE
Start Extended Lab and preparation of final submission Report and Canvas Digital Video
Submission
Week-9, Session-1 Class: High Availability vs. High Reliability (Same?) - Lecture 11 Video ,
Lecture 11 Notes , Updated Notes
Recovery Concepts
- Conservative Safe Mode Manual Recovery (typical of satellite systems)
- Automatic Recovery (typical of high availability sytems)
Week-10, Session-1, EXAM-2 REVIEW, Extended Lab Q&A and In-Class Work
Week-10: EXAM-2 - RTECS Chapters 8-14 (2.5 hours to complete exam on Canvas)
Please note that all course materials should be consulted on Canvas; If for some reason you
can't access Canvas, this page is provided as a backup.
Honesty Policies:
Any suspected violations of the Honor Code will be submitted to our Office of Student Conduct
and Conflict Resolution (OSCCR). Students found responsible by our faculty for violating the
cheating policy of the Honor Code will earn an automatic F in the course. Further non-academic
sanctions may be rendered by the OSCCR. We take these issues seriously and have a
responsibility to all students who uphold the Honor Code, and to the highest industry standards
for which we are preparing students. If you have any questions whatsoever regarding what
collaboration is permissible in the course, consult your instructor directly before proceeding.
Sharing of knowledge between students is highly encouraged; however, each student is
expected to independently create and implement their own project files. Students may find
that they are able to leverage firmware designs from books, magazines, the internet, or their
work environments; however, in these cases, students are expected and required to credit the
source of the information clearly and completely. Again, by default, you are expected to turn in
your own original work and cite any and all portions you did not create. All aspects of the Honor
Code apply.