FPGARelated.com
Books

Embedded Systems: Introduction to Arm® CortexTM-M Microcontrollers , Fifth Edition (Volume 1)

Jonathan W Valvano 2012

This book is self-published and is printed on demand. The original ISBN was generated in 2012, but if you purchase the book new from CreateSpace or Amazon you will get the new version, which was uploaded June 29, 2015. This book, now in its fifth edition, is the first in a series of three books that teach the fundamentals of embedded systems as applied to the ARM® Cortex™-M family of microcontrollers. This fifth edition focuses on the LaunchPads based on both the TM4C123 and TM4C1294 microcontrollers. This first volume is an introduction to computers and interfacing focusing on assembly language and C programming. The second volume, Embedded Systems: Real-Time Interfacing to ARM Cortex-M Microcontrollers, focuses on hardware/software interfacing and the design of embedded systems. The third volume, Embedded Systems: Real-Time Operating Systems for ARM Cortex-M Microcontrollers, is an advanced book focusing on operating systems, high-speed interfacing, control systems, and robotics. The third volume could also be used for professionals wishing to design or deploy a real-time operating system onto an ARM platform. This first book is an introductory book that could be used at the college level with little or no prerequisites. 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 is an introduction to embedded systems. Specific topics include microcontrollers, fixed-point numbers, the design of software in assembly language and C, elementary data structures, programming input/output including interrupts, analog to digital conversion, digital to analog conversion. 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 for this volume, look at the lab assignments for EE319K. For Volume 2 refer to the EE445L labs, and for Volume 3, look at the lab assignments for EE445M/EE380L.6. There is a web site accompanying this book http://users.ece.utexas.edu/~valvano/arm. Posted here are Keil™ uVision® and Texas Instruments Code Composer Studio™ projects for each of the example programs in the book. You will also find data sheets and Excel spreadsheets relevant to the material in this book. The book will cover embedded systems for ARM® Cortex™-M microcontrollers with specific details on the LM3S1968, TM4C123, and TM4C1294. Most of the topics can be run on any of these microcontrollers. In these books the terms LM3S LM4F and TM4C will refer to families of microcontrollers from Texas Instruments. Although the example designed are specific for the TM4C123, it will be possible to use these books for other ARM derivatives.