Embedded
Systems: Real-Time Interfacing to the Arm® Cortex™-M3 (example
files)
Volume 2
Jonathan Valvano (home page)
Detailed Table of Contents
Errata
ISBN:
978-1463590154
Available from Amazon
Available on CreateSpace
Advantages of using this book as the textbook
State of the art architecture
Book is filled with both fundamental theories and practical examples
Two web sites with working examples
- Valvano code shows the software connection to the physical layer
- Texas Instruments StellarisWare solves many problems with hardware abstraction
There is a low-cost board-book combination available on the Texas Instruments eStore
The student cost for this book is low ($49.95 on Amazon)
Extensive labs and homework questions
Lecture slides available
Embedded systems are a ubiquitous component of our everyday lives. We interact with hundreds of tiny computers every day that are embedded into our houses, our cars, our toys, and our work. As our world has become more complex, so have the capabilities of the microcontrollers embedded into our devices. The ARM® Cortex™-M3 is represents the new class of microcontroller much more powerful than the devices available ten years ago. The purpose of this book is to present the design methodology to train young engineers to understand the basic building blocks that comprise devices like a cell phone, an MP3 player, a pacemaker, antilock brakes, and an engine controller.
This book is the second in a series of three books that teach the fundamentals of embedded systems as applied to the ARM® Cortex™-M3. The three books are primarily written for undergraduate electrical and computer engineering students. They could also be used for professionals learning the Arm platform. The first book Embedded Systems: Introduction to the ARM Cortex-M3 is an introduction to computers and interfacing focusing on assembly language and C programming. This second book focuses on interfacing and the design of embedded systems. The third book Embedded Systems: Real-Time Operating Systems for the ARM Cortex-M3 is an advanced book focusing on operating systems, high-speed interfacing, control systems, and robotics.
An embedded system is a system that performs a specific task and has a computer embedded inside. A system is comprised of components and interfaces connected together for a common purpose. This book presents components, interfaces and methodologies for building systems. Specific topics include microcontrollers, design, verification, hardware/software synchronization, interfacing devices to the computer, timing diagrams, real-time operating systems, data collection and processing, motor control, analog filters, digital filters, and real-time signal processing.
In general, the area of embedded systems is an important and growing discipline within electrical and computer engineering. The educational market of embedded system is dominated by simple microcontrollers like the PIC, the 9S12, and the 8051. This is because of their market share, low cost, and historical dominance. However, as problems become more complex, so must the systems that solve them. A number of embedded system paradigms must shift in order to accommodate this growth in complexity. First, the number of calculations per second will increase from millions/sec to billions/sec. Similarly, the number of lines of software code will also increase from thousands to millions. Thirdly, systems will involve multiple microcontrollers supporting many simultaneous operations. Lastly, the need for system verification will continue to grow as these systems are deployed into safety critical applications. These changes are more than a simple growth in size and bandwidth. These systems must employ parallel programming, high-speed synchronization, real-time operating systems, fault tolerant design, priority interrupt handling, and networking. Consequently, it will be important to provide our students with these types of design experiences. The Arm platform is both low cost and provides the high performance features required in future embedded systems. Although the Arm market share is currently not huge, its share will grow. Furthermore, students trained on the Arm will be equipped to design systems across the complete spectrum from simple to complex. The purpose of writing these three books at this time is to bring engineering education into the 21st century.
This book employs many approaches to learning. It will not include an exhaustive recapitulation of the information in data sheets. First, it begins with basic fundamentals, which allows the reader to solve new problems with new technology. Second, the book presents many detailed design examples. These examples illustrate the process of design. There are multiple structural components that assist learning. Checkpoints, with answers in the back, are short easy to answer questions providing immediate feedback while reading. Simple homework, with answers to the odd questions on the web, provides more detailed learning opportunities. The book includes an index and a glossary so that information can be searched. The most important learning experiences in a class like this are of course the laboratories. Each chapter has suggested lab assignments. More detailed lab descriptions are available on the web. Specifically, look at the lab assignments for EE445L and EE345M.
There is a web site accompanying this book http://users.ece.utexas.edu/~valvano/arm. Posted here are Keil™ uVision™ projects for each the example programs in the book. You will also find data sheets and Excel spreadsheets relevant to the material in this book.
These three books will cover embedded systems for the ARM® Cortex™-M3 with specific details on the LM3S811, LM3S1968, and LM3S8962. Most of the topics can be run on the simple LM3S811. DMA interfacing will be presented on the LM3S3748. Ethernet and CAN examples can be run on the LM3S8962. In these books the term LM3Sxxx XE "LM3Sxxx" family will refer to any of the Texas Instruments Stellaris® ARM® Cortex™-M3-based microcontrollers. Although the solutions are specific for the LM3Sxxx family, it will be possible to use these books for other Arm derivatives.

Preface
Acknowledgements
1. Introduction to Embedded Systems
2. Arm Cortex M3
3. Software Design
4. Hardware-Software Synchronization
5. Interrupt Synchronization
6. Time Interfacing
7. Serial Interfacing
8. Analog Interfacing
9. System-Level Design
10. Data Acquisition Systems
11. Introduction to Communication Systems
Appendix 1. Glossary
Appendix 2. Solutions to Checkpoints
Index
Available from Amazon Available on CreateSpace.
Last updated December 9, 2011 Send comments to: Jonathan W. Valvano .