These are my course notes, slides, and sample code for the course
Introduction to Computer Structures and Real-Time Systems.
Course reference books
There are numerous course reference books available, some from the University of Waterloo library and
others online. The books available from the library are availalbe as pdf downloads.
- Jermann Kopetz,
Real-Time Systems Design Principles for Distributed Embedded Applications,
Springer Verlag, 2011.
- Jivan S. Parab, Dr. Vinod G. Shelake, Dr. Rajanish K. Kamat, Dr. Gourish M. Naik,
Exploring C for Microcontrollers: A Hands on Approach,
Springer Verlag, 2007.
- Allen B. Downey,
The Little Book of Semaphores, Green Tea Press
(with a video introduction).
-
- Allen B Downey,
Think OS: A brief introduction to operating systems, Green Tree Press.
- Benjamin M. Brosgol,
A Comparison of the Concurrency Features of Ada 95 and Java.
- The Real-time for Java Expert Group, The Real-Time Specification
for JavaTM.
- Greg Bollella and James Gosling, The Real-Time Specification for Java (summary).
Course microcontroller
We are using the LPC1768 microcontroller, built by NXP Semiconductors using the Cortex-M3 design based on the ARMv7-M architecture and
used on the Keil MCB1700 evaluation board. Some useful links are:
- The Keil MCB1700 evaluation board web site.
- NXP's LPCOpen Platform web site with examples of the LPC17xx devices.
- The datasheet for the LPC176x series of microcontrollers.
- Joseph Yiu's book The Definitive Guide to the ARM Cortex-M3, 3rd ed., by
Elsevier.
Another board using the LPC1768 is the mbed Application Board.
A bibliography of the books and papers used in the writing of this course include:
- Maurice Herlihy and Nir Shavit, The Art of Multiprocessor Programming, Elsevier, 2008.
- Albert M.K. Cheng, Real-time Systems: Scheduling, analysis, and verification, Wiley, 2002.
- Alan C Shaw, Real-Time Systems and Software, John Wiley and Sons, Inc., 2001.
- Alan Burns and Andy Wellings, Real-Time Systems and Programming
Languages, 3rd ed., Allison Wesley, 2001.
- Elecia White, Making Embedded Systems,
O'Reilly and Associates, Inc., 2011.
- J.S. Parab, V.G. Shelake, R.K. Kaat and G.M. Naik,
Exploring C for Microcontrollers, Springer, 2007.
- Phillip A. Laplante and Seppo J. Ovaska,
Real-Time Systems Design and Analysis: Tools for the Practitioner,
4th ed., IEEE Press, 2012.
Samples of real-time systems: