CS452 - Real-Time Programming - Winter 2017
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 -- 1 January,
2017 (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.
-
4 January, 2017. Introduction. UARTs
and serial I/O
-
6 January, 2017. Polling loops,
performance
-
9 January, 2017. More about I/O,
pitfalls
-
11 January, 2017. Tasks, Kernels
Assignment 0 due.
-
13 January, 2017. The ARM Architecture I
-
16 January, 2017. The ARM Architecture II
-
18 January, 2017. Context Switch on
the ARM
-
20 January, 2017. Scheduling, Creating
a task.
-
23 January, 2017. Initializing the kernel.
-
25 January, 2017. Send/Receive/Reply.
-
27 January, 2017. Name Server.
Kernel 1 due.
-
30 January, 2017. Hardware Interrupts,
ARM-specific.
Kernel 2 due.
-
1 February, 2017. The Timer Interrupt.
-
3 February, 2017. SRR performance,
models.
-
6 February, 2017. UART interrupts.
Kernel 3 due.
-
8 February, 2017. Serial I/O.
-
10 February, 2017. Serial I/O,
debugging.
-
13 February, 2017. Trains, Calibration
I.
-
15 February, 2017. Projects, Calibration
II.
(See Stopping (pdf).)
-
17 February, 2017. Calibration III.
Kernel 4 due.
-
27 February, 2017. Acceleration/deceleration.
-
1 March, 2017. Anthropomorphic
Programming: Dealer, Secretary
-
3 March, 2017. Administrator, Detective
-
6 March, 2017. Destroy, How
to Give a Demo.
Tuesday, 7 March, 2017. First train control milestone.
-
8 March, 2017. Acceleration
-
10 March, 2017. Route Finding and
Following.
-
13 March, 2017. Collision Avoidance.
Project Proposal due.
-
15 March, 2017. Pathologies.
Thursday, 16 March, 2017. Second train control milestone.
-
17 March, 2017. Class cancelled.
-
20 March, 2017. More Pathogies.
-
22 March, 2017. Magellan spacecraft.
-
24 March, 2017. Class cancelled.
-
27 March, 2017. Power on I.
Tuesday, 28 March, 2017. Third train control milestone.
-
29 March, 2017. Power on II.
-
31 March, 2017. We'll see.
-
3 April, 2017. We'll see.
4, 5 April, 2017. Final demo (Tentative).
7 April, 2017. Final exam (Tentative).
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 in class are following the web version of the
notes!)
Lectures scheduled up to and including Lecture 29, currently
scheduled for 20 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 the students 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: