TCSS 465A Embedded Real-Time System Programming

Spring 2007             Lecture: TTH 2:00 - 4:15   DOU 270             Lab: CP 206D


One of the more interesting, challenging, and exciting areas of computing, and widely overlooked by students, is embedded computing, and especially real-time embedded computing. Remarkable adaptive, versatile, powerful, and economically viable, it provides critical foundations for evolving technologyfor how people live work and play. Transformations in societal infrastructures depend upon innovative applicatios of real-time embedded systems.

Design and programing of embedded systems is quite different from general purpose computing system design. The real-time constraints impossed by environmental inputs, and the critical demands of precise monitoring and controlling, require require use of different paradigms, models, tools, and techniques. We will examine these differences and begin to develop expertise in the art and science of embedded system design.

Catolog Description: An examination of particular theory and practice in designing software embedded in electronic devices and controllers. Includes clocks, threads, multitasking, critical sections, monitors, scheduling, on chip and external device interfacing, communications, and fault tolerance. Prerequisite: TCSS 422; may not be repeated after achieving minimum grade of 2.0.


  Real-Time Systems & Software
First Edition (2001)

Shaw, Alan C.
John Wiley & Sons ISBN: 0-471-35490-2

About this book:
Emphasizing concepts and principles, this book provides readers with an accessible approach to software design. It presents several examples of commercial and research systems throughout the chapters to explain and justify the concepts. And the material presented is technically diverse, including discussions of state machines, logic, concurrent programming, and scheduling algorithms.

Written for:
Advanced undergraduate and graduate students; researchers in Embedded Real-Time Systems; Embedded Real-Time Systems engineers.


  Hard Real-Time Computing Systems   Predictable Scheduling Algorithms and Applications
Second Edition (2005)

Buttazzo, Giorgio C.
Real-Time Systems Series, Vol. 23
Springer ISBN: 0-387-23137-4

About this book:
Predictable Scheduling Algorithms and Applications is a basic treatise on real-time computing, with particular emphasis on predictable scheduling algorithms. It introduces the fundamental concepts of real-time computing, illustrates the most significant results in the field, and provides the essential methodologies for designing predictable computing systems which can be used to support critical control applications.
This volume serves as a textbook for advanced level courses on the topic. Each chapter provides basic concepts, which are followed by algorithms that are illustrated with concrete examples, figures and tables. Exercises are included with each chapter and solutions are given at the end of the book. The book also provides an excellent reference for those interested in real-time computing for designing and/or developing predictable control applications.

Written for:
Advanced undergraduate and graduate students; researchers in Embedded Real-Time Systems; Embedded Real-Time Systems engineers.


Larry A. Crum, Professor of Computing & Software Systems
Institute of Technology
University of Washington, Tacoma
Box 358426
Tacoma, WA  98402
Office: Cherry Parkes 224
phone: (253) 692-5866

Office Hours:   TH 1:00-1:45,   TH 6:45-?,   F 11:30-12:00,   2:00-?  
                         Appointment recommended for these & other times

Course Syllabus

Primary NetBurner Reference Documents:

Introduction to NetBurner Development Kit

NetBurner Network Development Kit Quick Start Guide

NetBurner Development Kit (NNDK) Web Site
      Example Applications
      NNDK Programmers Guide
      NNDK Programmers Guide Source Files
      Development Kit Software
      MOD5282 Core Module
      MOD5282 Technical Documents

NetBurner NNDK Installed Programs on PC Station (Installed from NetBurner Development Tools CD ==> C:Nburn)
      Dev C++
            Quickstart Guide {12 pages}
      Platform Hardware (The NetBurner Mod5282)
           MCF5282 User manual (MCF5282 ColdFire Microcontroller User's Manual - Rev 2 {816 pages})
           MCF Programmer's Reference Manual (ColdFire Microprocessor Family Programmer's Reference Manual Revision 1.0 {245 pages})
           NetBurner Carrier Board Schematic {8 pages}

MCF5282 ColdFire Microcontroller Web Site
      ColdFire Family Programmer's Reference Manual - Rev 3 {332 pages}
      ColdFire Microcontroller User's Manual {782 pages}

Class Power Point Slides, Passouts

March 27: Slides03_27
March 29:
Introduction to NetBurner Development Kit

April 03: Slides04_03 Homework Format
April 05: Scope Slides Lab Exercise 1
Lab Report Format
Lab Etiquette

April 10: Analog to Digital Converter Slides
April 12:

April 17: Slides04_17
April 19:

April 24: Slides04_24
April 26: Lab Exercise 2
Lab Exorcise 3

May 01: Slides05_01
May 03:

May 08:
May 10: Interrupt System Midterm

May 15: Slides05_15
May 17:

May 22: Slides05_22
May 24:

May 28:
Memorial Day
May 29:
May 31: Homework