CS452/552 - Real-Time Operating Systems

Instructor: Bob Rinker
Office: JEB 235
Email: rinker@cs.uidaho.edu
Phone: (208)885-7378 (direct line)
Office Hours: TBD

Course Description:
CS J452/J552 Real-Time Operating Systems (3 cr)
Topics of interest in the implementation of Real-Time Operating Systems, especially as applicable to embedded systems, including a relevant hardware review, interrupts and interrupt handling, real-time scheduling principles and implementation, latency, task management, shared data and synchronization, timers, message passing, tradeoffs between memory space and speed. Students will build a simple but relatively complete real-time operating system over the course of the semester. Additional projects and assignments are required for graduate credit. (Spring only)
Prereq: CS 240 (Operating systems) or equiv., or permission
Syllabus: Downloadable from here ( ps or pdf ).

Announcements: will be posted here
- Note: The university mail system automatically filters emails that contain executables - there is no notification to either the sender or receiver, and there is no way to retrieve them (ie., no "spam folder"). Solutions to assignments should not be sent via email - please use the cscheckin program to submit assignments.

Your grade will be calculated using the following percentages:
Two mid-semester exams 30% 30%
Final exam (comprehensive) 20% 15%
Programming Assignments 35% 30%
Project 15% 25%
Total 100% 100%

The letter grade you receive from the course will be determined as follows:
Below 60%F
The instructor reserves the right to adjust these percentages lower if deemed necessary.

AVR Memory Layout ( ps ) or ( pdf )
Simple AVR Program ( here ) and a simple shell script to use to compile ( here).
The readelf output is available ( here ).

Assignments: (Assignments will appear in this section shortly after they are assigned)

Assignment #1 due Feb 9 ( ps ) or ( pdf )
Assignment #2 due Feb 11 ( ps ) or ( pdf )
Assignment #3 due Feb 25 ( ps ) or ( pdf )
Assignment #4 due Feb 11 ( ps ) or ( pdf )
Documentation on the LCD Display:
- LCD Module documentation - Summary info on the LCD Display (Hantronix HDM2x216H-2)
- Controller Chip info - More detailed info on the controller chip
- Application Note - shows an example LCD application for an 8051 processor. The code itself might not be useful, but the flowcharts and discussion might be!

Assignment #5 ( ps ) or ( pdf )
Assignment #6 ( ps ) or ( pdf )
Assignment #7 ( ps ) or ( pdf )
Assignment #8 ( ps ) or ( pdf )

Some useful items:

Link to the Atmel Website (here)
Link to "AVRFreaks" (here)
Link to the AVR libc Home Page (here)
Link to slides from the "Dinosaur Book", (Operating System Concepts, Silberschatz, Galvin, Gagne) (here)
Link to the "Multitasking on an AVR" paper here

Last updated Tuesday, March 1, 2016