Skip to the content of the web site.

Introduction to Computer Structures and Real-time Systems

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.

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: