ECEN 5623/4623 - Fall 2008
Real-Time Embedded Systems

(Hard Real-Time, RTOS based)
ECEE 1B28, (ECEE 2B37 Lab)

CU Embedded Certificate Program Offering

Upcoming RT Embedded Systems Courses offered through CAETE and CU ECEE

  1. ECEN 5623 is Offered Every Fall
  2. ECEN 5033, Real-Time Digital Media and Robotics (A Linux-Based RT Systems Course) will be offered again in Spring 2009 and will count toward the Embedded Certificate in place of ECEN 5623
  3. ECEN 5623 May Be Offered again this Summer 2009 if Demand Necessitates

Please e-mail Pam Wheeler [Pam.Wheeler@Colorado.edu] for more info or e-mail Robin McClanahan [Robin.McClanahan@Colorado.edu] with CAETE.


Dr. Sam Siewert, Sam.Siewert@Colorado.EDU, Web-Link
E-mail Office Hours: Mon/Tues 7:30-9:00 AM (all outstanding e-mails answered during this time);
Instructor Office Hours by Appointment otherwise.

TA: Muhammad Ahmad, ahmadjee@gmail.com
Office Hours: Tues and Thurs 8:00-9:00 PM, ECEE 2B37.

Assistant TA: Jimmy Thorne, jimmythorne@gmail.com
Office Hours: Mon and Wed 4:00-5:00 PM, ECEE 2B37.

Classes: Held on Mondays 5:30-8:00 pm with lectures in ECEE 1B28
Labs: labs/demos wil be held in ECEE 2B37, BuffOne Card Access


Special Thanks to the University of Colorado Engineering Excellence Fund

Special Thanks to Industry Sponsors:Qualcomm, Wind River Systems, and RTI (Real-Time Innovations).


NEXT CLASS - MON 9/08/08

(Need Directions? -- Engineering Center Map, CU Interactive Campus Map)


Offered by Electrical Engineering Dept. (Schedule) and by CAETE in the Embedded Systems Certificate Program

Non CU students may register through CAETE:registration Info


Prerequisites: ECEN 5613/4613 - Embedded System Design (recommended) and C programming proficiency (required)

Other courses in Embedded Systems Program: ECEN 5613/4613 - Embedded System Design, ECEN 5543- SW Engineering of Standalone Systems, and ECEN 5033/4033 - Real-Time Digital Media and Control Systems. The courses may be taken in any order, but the recommended order is 1) Embedded System Design, 2) Real-Time Embedded Systems, 3) Real-Time Digital Media and Control Systems OR Software Engineering of Stand-alone Systems


Important Links to Course Materials (CULearn Access)

Status, Debug and Demo Schedule
ECES Lab System Accounts
Syllabus
Lecture Archive
Grading and Policies
Muhammad's Lab Help Pages
Document Archive (Password Required)
Code Archive (Password Required)
Workbench 2.6 ISO Download (Password Required)

Important Links to Project Resources

Course Project Selected Photos and Video Footage
Course Project Detailed Description Page
Selected Sites with Robotics Info (5-DOF Robotic Arm Projects)

Selected Sites for Hardware (x86 Architecture, PCI, Audio, and Computer Vision / Optical Navigation Projects)
Selected Sites for Computer Vision and Image Processing Info and Code
Selected Sites with Chipset Docs and Databooks(VoIP and Video / Peak-Up Projects)

Selected Sites with Standards Info (PCI, VME, POSIX, NTSC)
Linux/RT and Linux Video Page

Linux Low-Latency Patches

Linux ALSA Datasheet Page
Video 4 Linux
Video 4 Linux Wiki

Potentially Interesting Links

IBM Systems Journal, Vol 47, Number 2, 2008
Guest Speaker Page
IBM SoC Drawer Series - Prof. Siewert
IBM Big Iron Lessons - Prof. Siewert
VxWorks/Tornado Help and Documents (Password Required)
Real-Time Linux Help
Lab Hardware/Software Known Problems and Repair Status
Muhammad's Quick Home Setup Link for Tornado 2.2
Dan Walkes - Former TA Web-Link
Zach Pfeffer - Former TA Web-Link Course E-mail Archives
Advanced Real-Time Systems Research
RTI Tools Help and Documents
University Program - RTI Analysis and Design Tools
Verilog CASE Tools for SDL
I-Logix Real Time CASE Tools
Rational Rose Real Time CASE Tools
Related Papers
OSI Reference Model
MIT OpenCourseWare - Computer Architecture

Course Description:

In this course, students will design and build a microprocessor-based embedded system application requiring integration of sensor/actuator devices, A/D and D/A I/O interfaces, microprocessor, commercial real-time operating system, and multi-tasking application software. The course focus is on the process as well as fundamentals of integrating microprocessor-based embedded system elements for digital command and control of typical embedded hardware systems. Standard project options include: 5 DOF robotic arm, laser serial communications, or digital video processing. Topics include: PCI (PC/104+ and Compact PCI), ISA (PC/104), and VME bus architectures and programming; device firmware; system firmware architectures; microprocessor and I/O architectures; ECC/EDAC memory architectures; interrupt service routines; real-time clocks/timers; real-time kernel configuration and extension; main loop designs; multi-tasking; inter-task communication; cooperative and priority pre-emptive designs; hard real-time scheduling theory and design (Rate and Deadline Monotonic), latency, response time, system performance, and development and testing techniques. Students configure and extend a priority pre-emptive multi-tasking operating system for a student-built hardware/software embedded system. The student will be introduced to the full embedded system lifecycle process in this course including: analysis, design (using extended finite state machine specification tools), programming, hardware assembly, unit testing, integration and system testing.


Required Texts (Available for Order On-line)

  1. "Real-Time Embedded Components and Systems", Sam Siewert, ISBN 1584504684, publisher link, Amazon link, Softpro Books, Barnes&Noble, also available in CU bookstore.

  2. "PCI System Architecture", Tom Shanley and Don Anderson, 4th Edition, 1999, (ISBN 0-201-30974-2) MindShare, Inc., E-book link, publisher link, retailer link, library link.

Required On-Line Texts (Available on CULearn)

  1. "VxWorks Reference Manual 5.4", available on-line as "windman" or hard copy, Edition 1, (PDF available on this WWW page, password required, please use CULearn).
  2. "VxWorks Programmer's Guide 5.4", Edition 1, (PDF available on this WWW page, password required, please use CULearn).
  3. "Windview Guide for Tornaldo 2", (PDF available on this WWW page, password required, please use CULearn).

Supplemental Embedded Systems Texts - CU Library Search by ISBN

Digital Signal and Image Processing References

  1. "The Scientist's and Engineer's Guide to Digital Signal Processing", Steven W. Smith, 1997, (ISBN 0-9660176-3-3), California Technical Publishing, Free E-book link.
  2. "Video Processing and Communications", Yao Wang, Jorn Ostermann, and Ya-Qin Zhang, 2002, (ISBN 0-13-017547-1), Prentice Hall, Book web link.
  3. Computer Vision: A Modern Approach, Forsyth and Ponce, ISBN 0-13-085198-1, (2003).
  4. Digital Image Processing, Gonzalez and Wintz,Addison-Wesley, 1987 Fundamentals of Digital Image Processing, A.K. Jain,Prentice Hall, 1989.

More Advanced PCI Books

  1. "PCI-X System Architecture", Tom Shanley, 2001, (ISBN 0-201-72682-3), MindShare, Inc., E-book link.
  2. "PCI Express System Architecture", Ravi Budruk, Don Anderson, Tom Shanley, 2003, (ISBN 0-321-15630-7), MindShare, Inc., E-book link.

Review Books

  1. "An Embedded Software Primer", David E. Simon, Addison-Wesley Professional, 1999, (ISBN 978-0201615692). publisher link, Amazon link.
  2. "Programming for the Real World - POSIX.4", Bill O. Gallmeister, O'Reilly and Assoc., Inc, 1995, (ISBN 1-56592-074-0). publisher link, library link.
  3. "Fundamentals of Embedded Software: Where C and Assembly Meet", Daniel W. Lewis, Prentice Hall, 2002, (ISBN 0130615897). publisher link
  4. "Real-Time Systems and Software", Alan C. Shaw, 2001, John Wiley and Sons Inc., ISBN 0-471-35490-2, library link.

Reference Books

  1. "Meeting Deadlines in Hard Real-Time Systems - The Rate Monotonic Approach", Loic Briand and Daniel Roy, IEEE Computer Society Press, 1999, (ISBN 0-8186-7406-7), publisher link, retailer link, 2nd retailer link, library link.
  2. "Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks and Patterns", Bruce P. Douglass, Addison-Wesley, 1999, (ISBN 0201498375), library link.
  3. "Applying UML And Patterns", Craig Larman, Prentice Hall, 2002, (ISBN 0-13-092569-1), library link.
  4. "SDL: Formal Object-oriented Language for Communicating Systems", Jan Ellsberger, Dieter Hogrefe, Amardeo Sarma, Prentice Hall, 1997 (ISBN 0-13-621384-7), library link.
  5. "Modern Structured Analysis", Edward Yourdon, Yourdon Press, 1989 (ISBN 0135986249), library link.

Supplemental Development/Test Host Systems Texts - CU Library Search by ISBN

  1. "Practical Unix Programming - A Guide to Concurrency, Communication, and Multithreading", Kay Robbins and Steven Robbins, Prentice Hall, 1996 (ISBN 0-13-443706-3), library link.

  2. "Unix Network Programming -- Networking APIs: Sockets and XTI", Volume 1, 2nd Ed.", Richard Stevens, Prentice Hall, 1998 (ISBN 0-13-490012-X), library link.

Reference Specifications - Available by Subscription Only

  1. "PCI Sig PCI Specification", PCI-SIG. publisher link

  2. "PICMG PCI Specification", PICMG. publisher link

  3. "VITA VME Specification", VITA. publisher link