Revised Sept 10, 2015

CS 452: Real-Time Programming

Watch a video introduction to this course on YouTube.

General description

Students design and implement a real-time multi-tasking operating system using the tools and techniques of real-time programming for embedded systems. Implementation uses cross-compilation for an ARM-based system-on-chip. The operating system then supports an application program involving process control, data acquisition, and communication.



Normally available

*Enrollment may be limited due to lab room capacity.

Related courses

For official details, see the UW calendar.

Software/hardware used

Typical reference(s)

Required preparation

At the start of the course, students should be able to

*Students develop programs to run on an Intel microcomputer system. Programs are written and cross-compiled on a host computer running UNIX and downloaded for execution on the microcomputer system. No prior knowledge of the Intel architecture is assumed and documentation is provided.

Learning objectives

At the end of the course, students should be able to

Typical syllabus

Real-time systems (2 hours)

Concurrency and CPU multiplexing (3 hours)

Real-time operating system (12 hours)

Process structuring techniques (9 hours)

Application (6 hours)

Students design and implement an application, running on their operating system, that controls several trains doing independent tasks while sharing a single track. Students gain knowledge of the following:

Other topics (6 hours)


Campaign Waterloo

David R. Cheriton School of Computer Science
University of Waterloo
Waterloo, Ontario, Canada N2L 3G1

Tel: 519-888-4567 x33293
Fax: 519-885-1208

Contact | Feedback: | David R. Cheriton School of Computer Science | Faculty of Mathematics

Valid HTML 4.01!Valid CSS! Last modified: Tuesday, 05-Nov-2019 13:51:43 EST