Prof. Robert C. Maher


529 Cobleigh Hall (southwest corner of 5th floor)


Office:  994-7759
Home:  587-5925 (but please do not call me at home)


[email protected]

Class Page:


Office hours:

MWF 10:30AM-noon.
Drop-in questions at other times are always OK if my office door is open.

Textbooks and Materials

  1. Programming Microcontrollers in C, Ted Van Sickle, 2nd edition, 2001.
  2. Micro C/OS-II - The Real-Time Kernel, Jean J. Labrosse , 2nd edition, 2002.
  3. Software and Hardware Engineering  Motorola M68HC12, Fred Cady and James Sibigtroth, 2000 (text used in EE371).
  4. USB stick, Zip, or floppy disks for lab files.

Class Objectives

To produce graduates who understand the basic operation of a real-time operating system and can program a real-time embedded system in the C language.

Course Outcomes

At the conclusion of EE 475, students will be able to:

  • Explain real-time concepts such as preemptive multitasking, task priorities, priority inversions, mutual exclusion, context switching, synchronization, interrupt latency and response time, and semaphores.
  • Describe how a real-time operating system kernel is implemented.
  • Explain how tasks are managed.
  • Explain how the real-time operating system implements time management.
  • Discuss how tasks can communicate using semaphores, mailboxes, and queues.
  • Implement a real-time system on an embedded processor.

Class Outline (subject to change)

  • Course introduction: Expectations, lab resources, protocol.
  • Introduction/review of C Language (4-5 weeks)
  • C Language in an embedded environment (2 weeks)
  • Real Time Operating System (RTOS) concepts (5 weeks)
  • uC/OS-II examples (2 weeks)
  • Special topics and guest speakers (1-2 weeks)

Course Grading

Homework and Project: 10%

→ Homework will be required periodically.  Homework is due on the due date at the BEGINNING of class.  No late homework will be accepted.

Lab Reports: 30%

→ Lab reports are due no later than the BEGINNING of the next week's lab session, unless otherwise announced.  No late lab reports will be accepted.
A programming project will be done the last three weeks of the semester.

Exam 1: 20%

→ Written in-class exam given early in October.

Exam 2: 20%

→ Written in-class exam given late in November.

Final Exam:      20%

→ The final exam is:
WEDNESDAY, DECEMBER 14, 2005 (2:00PM-3:50PM).


Grade guarantee: course letter grades may be higher (but will not be lower) than indicated by the following scale:

A- = 90%
B- = 80%
C- = 70%
D = 60%
F = 59%

A grade of F will also be given automatically if a midterm or final exam is not taken, regardless of the student's aggregate score total.


  • Department policy requires that you receive a passing lab grade to pass this course.
  • All students must have an electronic mail address listed with the MSU My Info system.  Announcements and reminders for EE475 will be sent occasionally via email.  Students will also need to get an MSU computer access account and printing privileges for the ECE Department computer labs.
  • You are expected to keep a clean lab area and return items to their proper place. Equipment is expensive and is provided for your learning experience. Please conduct yourselves appropriately.  Abusive behavior toward the lab equipment, other students, or the instructors, will result in summary dismissal from the course.
  • You are responsible for all material covered in class and in the textbook reading assignments.
  • You will work with a lab partner during the lab period, but your lab report must be prepared individually.  Homework and exams also must be prepared individually. University policy states that, unless otherwise specified, students may not collaborate on graded material. Any exceptions to this policy will be stated explicitly for individual assignments. Let there be no misunderstanding regarding this policy of personal academic integrity. If you have any questions about the limits of collaboration, you are expected to ask for clarification. Submitting the work of others--with or without attribution--is dishonest and grounds for dismissal from the course. 
  • Late submissions of assignments (labs or homework) will not be accepted. Plan ahead and notify the instructor prior to justifiable absences, or if a bona fide emergency prevented you from attending class.