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

Class in ECEE 1B28, (ECEE 2B37 Lab)

  1. Hard Real-Time theory, Wind River VxWorks RTOS/IA32 based labs, and application focused on Robotics, Computer Vision, and Digital Control
  2. Designed for On-Campus CU and CAETE Industry Students
  3. Applicable to Robotics, Aerospace, Medical, Instrumentation, Industrial Automation, Process Control, and Transportation Industry

Please see more information on our ECEN5623 Blog.

CU Embedded Certificate Program Offering

Upcoming RT Embedded Systems Courses offered through CAETE and CU ECEE. See description of course goals on CAETE website.

  1. ECEN 5623 is Offered Every Fall
  2. ECEN 5653, Real-Time Digital Media (A Linux-Based Soft Real-Time Systems Course focused on Digital Media - Video, Audio, Transport) will be offered again in Spring 2011 and will count toward the Embedded Certificate in place of ECEN 5623
  3. ECEN 5623 MAY Be Offered again this Summer 2011, and WILL Be Offered again in Fall 2011.

Please e-mail Valerie Matthews [Valerie.Matthews@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 (e-mails answered during this time);
Instructor Office Hours by Appointment and before/after class otherwise.

TA: Monish Sunku Prabhakar, Sunku.Monish@Colorado.EDU
Office Hours: Wednesday's 7:30pm-9:00pm and Thursday's 1-2:30pm, ECEE 2B37.

Grader: Ronak Pandya, Ronak.Pandya@Colorado.EDU
Office Hours: E-mail and Skype on Monday & Tues 9PM-10PM (Skype ID=ronak.pandya).

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 and Wind River Systems.


FINAL QUIZ - Available Wed 12/08, DUE Thursday 12/09/2010 on CU-Learn
PROJECT DEMOS - 12/12 ... 12/13/2010 - Please see schedule here.

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


Offered by Electrical Engineering Dept. (ECEE 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 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 Systems OR Software Engineering of Stand-alone Systems


Important Links to Course Materials (CULearn Access)

Lab and Project Assignments (Also on CU-Learn)
Syllabus
Lecture Archive
Grading and Policies
Document Archive (Password Required)
Example Code Archive (Password Required)
ECES Lab System Accounts
CU Academic Honesty Policies

Important Links to Wind River Tools

NEW Workbench 3.2 TA HOWTO Pages
OLD Workbench 2.6 TA HOWTO Pages
**** Wind River Tools DVD ISO Download (Password Required) ****
**** Download This Client License for Tools in C:\WindRiver\license (Password Required) ****
VxWorks/Tornado Help and Documents (Password Required)

Important Links to Group Project Planning

Status, Debug and Demo Schedule
Hardware Check-Out Records
Top Errors and Mistakes with VxWorks Projects

Helpful Tips on Bt878 Driver and example code
Helpful Tips on Crystal Sound Card Driver and example code

Google Code Subversion Source Code Management
Tortoise Subversion Client
Verilog CASE Tools for SDL
Rational Rose Real Time CASE Tools


Important Links to Project Resources & Background

Course Project Video Footage
Course Project Photos
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 ALSA Datasheet Page
Video 4 Linux
Video 4 Linux Wiki

Potentially Interesting Links

IEEE Denver Robotics & Automation Chapter News
Guest Speaker Page
Advanced Real-Time Systems Research
MIT OpenCourseWare - Electrical Engineering and Computer Science

OSI Reference Model

Real-Time Linux

Linux Low-Latency Patches
Linux/RT and Linux Video Page
Surprising Truth About What Motivates Us - Open Source
Real-Time Linux Help

Dr. Siewert's IBM and Intel Articles

Intel Paper on VTune
Intel Paper on SIMD SSE4.x
IBM SoC Drawer Series - Prof. Siewert
IBM Big Iron Lessons - Prof. Siewert
Related Research and Conference Papers
IBM Systems Journal, Vol 47, Number 2, 2008 - Real-Time Systems


Old Archived Materials

Lab Hardware/Software Known Problems and Repair Status
Muhammad's Quick Home Setup Link for Tornado 2.2 Dan Walkes - Former TA Web-Link
Course E-mail Archives

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, single and multi-core microprocessors, 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: 6 DOF robotic arm, stereo vision, computer vision, voice-over-IP, tilt/pan computer vision tracking systems, facial recognition and numerous related projects. Topics include: PCI 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