CS452 - Real-Time Programming - Winter 2015
Lecture Notes
Here you will find the lecture notes that I use when teaching. They are
telegraphic, so they are not a substitute for the lectures.
But, if you attend the lecture they will most likely be a good memory
prosthetic. As I write this -- 5 January, 2015 (If there were no such thing
as the `last minute', nothing would ever get done.) -- there is almost
nothing here. I will populate this page as the course proceeds, so that all
the lecture notes will be here at the end of the term.
- 5 January, 2015. Introduction. UARTs and serial I/O
- 6 January, 2015. Polling loops, performance
- 8 January, 2015. More about I/O, pitfalls
-
12 January, 2015. Tasks, Kernels
Assignment 0 due.
- 13 January, 2015. Context Switches on the ARM
- 15 January, 2015. More Context Switch
- 19 January, 2015. Create( ), scheduling
- 20 January, 2015. Initializing the kernel.
-
22 January, 2015. Send/Receive/Reply.
-
26 January, 2015. Name Server.
Kernel 1 due.
- 27 January, 2015. Hardware Interrupts.
- 29 January, 2015. ARM Interrupt.
Kernel 2 due.
- 3 February, 2015. Notifier/Server, UART interrupts
- 5 February, 2015. Serial I/O
- 9 February, 2015. Debugging.
Kernel 3 due.
- 10 February, 2015. Projects.
12, 16, 17, 19 February, 2015. No classes: study break.
- 23 February, 2015. Trains.
Kernel 4 due.
- 24 February, 2015. Calibration I
- 26 February, 2015. Calibration II
- 2 March, 2015. Anthropomorphic Programming
- 3 March, 2015. Warehouse, Secretary
- 5 March, 2015. Administrator, Detective
- 9 March, 2015. Demos.
- 10 March, 2015. Multiple Trains.
11 March, 2015. First train control demo.
- 12 March, 2015. Reservation Bugs.
Project Proposal due.
- 16 March, 2015. Pathologies.
- 17 March, 2015. More pathologies
- 19 March, 2015. Even More Pathogies.
- 23 March, 2015. Power on.
- 24 March, 2015. History of embedded systems.
25 March, 2015. Second train control demo.
- 26 March, 2015. Class cancelled.
- 30 March, 2015. Go
- 31 March, 2015. Admission control.
- 2 April, 2015. Class cancelled.
6, 7 April, 2015. Probable dates of final demos.
The schedule of lectures above is necessarily approximate. I have
noticed that topics vary from term to term in the amount of lecture
time required, and I vary the schedule accordingly. That's why
the lecture notes vary from term to term, finalized only when I
know how much was covered in the previous lecture. Links in the
schedule become live when my notes are finalized, which is --
almost -- always before the class starts. (I assume that students
with laptops open are follwoing the web version of the notes!)
Lectures scheduled up to and including 19 March present material
you will most likely use in your kernel or your train project.
Beyond that point there is a collection of real-time topics on
which I am prepared to lecture and student choose which, if any,
are presented. These lectures are for your interest: they generally
have little effect on projects, but may provide examples that are
useful on the exam. Some lectures during the last two weeks are
cancelled, potentially to relieve crowded schedules a bit.
Return to: