Lab & Project
- Vahid, F. and T. Givargis (2010). Programming Embedded Systems - An Introduction to Time-Oriented Programming, UniWorld Publishing.
An eBook focused on a timed version of synchronous state machines
as a programming model for embedded systems.
- Schaumont, P. R. (2010). A Practical Introduction to Hardware/Software Codesign, Springer.
Excellent book with disciplined design of hardware and software for
- E. A. Lee and P. Varaiya, Structure and Interpretation of Signals and Systems, Addison-Wesley, 2003.
Background material on signals and systems. Review of EECS 20.
Available in PDF in pre-publication version.
- M. Barr, Anthony Massa, Programming Embedded Systems, second edition, O'Reilly, 2006.
Available on line at
A practical, how-to book.
- G. C. Buttazzo, Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications, Second Edition, Springer, 2005.
The book to read about RTOS scheduling (EDF and rate monotonic scheduling, for example). Buttazzo is the top expert in the field and excellent writer.
On reserve in the Engineering Library.
- S. E. Derenzo, Practical Interfacing in the Laboratory: Using a PC for Instrumentation, Data Analysis and Control, Cambridge, 2003.
Practical book on interfacing.
- A. Jantsch, Modeling Embedded Systems and SoCs - Concurrency and Time in Models of Computation: Morgan Kaufmann, 2003.
Emphasis on modeling, with various MoCs (synchronous, process networks, FSMs, ...) and discussion of heterogeneous mixtures.
Describes ForSyDe, a Ptolemy-like framework for heterogeneous MoCs (timed models, synchronous models and untimed models).
On reserve in the Engineering Library.
- A. Burns and A. Wellings, Real-Time Systems and Programming Languages: Ada 95, Real-Time Java and Real-Time POSIX, 3d ed.: Addison-Wesley, 2001.
Practical orientation, with discussion of low-level concurrency management (shared variables, semaphores, message passing), programming languages,
exception handling, resource control, real-time scheduling, etc. Good intro to real-time Java, albeit a bit dated.
- J. Banks, J. S. Carson II, B. L. Nelson, and D. M. Nicol, Discrete-Event System Simulation by , Prentice-Hall, 2001.
Excellent book on discrete-event simulation.
On reserve in the engineering library.
- A. S. Berger, Embedded Systems Design: An Introduction to Processes, Tools, \& Techniques: CMP Books, 2002.
Very practical orientation, low level programming, ICE, JTAG, etc.
- Edgar H. Callaway, Jr., Wireless Sensor Networks: Architectures and Protocols: CRC Press, 2004.
Focus on networking technology and power management.
- S. A. Edwards, Languages for Digital Embedded Systems: Kluwer Academic Publishers, 2000.
Written by a Berkeley alumnus on the faculty at Columbia who teaches a course on embedded systems. Academic orientation, but translated in real practice in Edwards' Columbia course.
- Raj Kamal, Embedded Systems: Architecture, Programming, and Design: McGraw Hill, 2008.
Practical orientation, but without details of real systems.
- P. Marwedel, Embedded System Design: Kluwer Academic Publishers, 2003.
A European perspective, good buzzword-compliance (UML, SystemC, statecharts, speccharts). More oriented towards industry, perhaps, but not as nuts-and-bolts as some of the others.
- T. Noergaard, Embedded Systems Architecture: A Comprehensive Guide for Engineers and Programmers: Elsevier, 2005.
Practical book oriented towards industrial practice. More emphasis on hardware.
- J. S. Parab, V. G. Shelake, R. K. Kamat, G. M. Naik, Exploring C for Microcontrollers, Springer, 2007.
Hands-on book, tutorial on C programming for MCS-51 using Keil IDE.
- Gregory Pottie and William Kaiser, Principles of Embedded Networked Systems Design: Cambridge University Press, 2005.
Physical layer communications, networking, energy management, databases, etc.
- David E. Simon, An Embedded Software Primer: Addison-Wesley, 2006.
A practical book oriented towards industry practice. Includes a CD with an RTOS.
- Sabrie Soloman, Sensors Handbook, McGraw-Hill Professional, 1998.
Comprehensive overview of sensor technology.
- W. Wolf, Computers as Components: Principles of Embedded Computer Systems Design: Morgan Kaufman, 2000.
This book is about processor architectures and hardware, mainly, and much less about software.
- Karim Yaghmour, Building Embedded Linux Systems: Reilly, 2003.