Rights Contact Login For More Details
- Wiley
More About This Title Practical Microcontroller Engineering with ARM® Technology
- English
English
This book covers both the fundamentals, as well as practical techniques in designing and building microcontrollers in industrial and commercial applications.
- Examples included in this book have been compiled, built, and tested
- Includes Both ARM® assembly and C codes
- Direct Register Access (DRA) model and the Software Driver (SD) model programming techniques and discussed
If you are an instructor and adopted this book for your course, please email [email protected] to get access to the instructor files for this book.
- English
English
- English
English
Acknowledgments xxxi
Trademarks and Copyrights xxxiii
Copyright Permissions xxxv
About the Companion Website xxxix
Chapter 1 Introduction to Microcontrollers and This Book 1
1.1 Microcontroller Configuration and Structure 2
1.2 The ARM Cortex M4 Microcontroller System 3
1.3 The TM4C123GH6PM Microcontroller Development Tools and Kits 4
1.4 Outstanding Features About This Book 5
1.5 Who This Book Is For 5
1.6 What This Book Covers 6
1.7 How This Book Is Organized and How to Use This Book 8
1.8 How to Use the Source Code and Sample Projects 9
1.9 Instructors and Customers Supports 11
Chapter 2 ARM Microcontroller Architectures 13
2.1 Overview and Introduction 13
2.2 Introduction to ARM Cortex-M4 MCU 15
2.3 The Memory Architecture 27
2.4 The Nested Vectored Interrupt Controller (NVIC) Architecture 34
2.5 The Debug Architecture 37
2.6 Introduction to Tiva C Series ARM Cortex-M4 MCU-TM4C123GH6PM 38
2.7 Introduction to Tiva C Series LaunchPad TM4C123GXL Evaluation Board 72
2.8 Introduction to EduBASE ARM Trainer 77
2.9 Chapter Summary 77
Chapter 3 ARM Microcontroller Development Kits 83
3.1 Overview and Introduction 83
3.2 The Entire Tiva TM4C123G-based Development System 84
3.3 Download and Install Development Suite and Specified Firmware 86
3.4 Introduction to the Integrated Development Environment—Keil MDK μVersion5 87
3.5 Embedded Software Development Procedure 127
3.6 The Keil ARM-MDK μVision5 Debugger and Debug Process 128
3.7 The TivaWare for C Series Software Suite 140
3.8 The TivaWare for C Series Utilities and Other Supports 147
3.9 Program Examples 151
3.10 Chapter Summary 152
Chapter 4 ARM Microcontroller Software and Instruction Set 155
4.1 Overview and Introduction 155
4.2 Introduction to ARM Cortex-M4 Software Development Structure 156
4.3 Introduction to ARM Cortex-M4 Assembly Instruction Set 157
4.4 ARMðD Cortex-M4 Software Development Procedures 196
4.5 Using C Language to Develop ARM Cortex-M4 Microcontroller Applications 197
4.6 Chapter Summary 243
Chapter 5 ARM Microcontroller Interrupts and Exceptions 261
5.1 Overview and Introduction 261
5.2 Exceptions and Interrupts in the ARM Cortex-M4 MCU System 263
5.3 Exceptions and Interrupts in the TM4C123GH6PM Microcontroller System 273
5.4 Developing GPIO Port Interrupt Projects to Handle GPIO Interrupts 285
5.5 Comparison Among Four Interrupt Programming Methods 317
5.6 Chapter Summary 318
Chapter 6 ARM Microcontroller Memory System 333
6.1 Overview and Introduction 333
6.2 Memory Architecture in the TM4C123GH6PM MCU System 334
6.3 Memory Map in TM4C123GH6PM MCU System 361
6.4 Bit-Band Operations 362
6.5 Memory Requirements and Memory Properties 370
6.6 Memory System Programming Methods 375
6.7 Memory System Programming Projects 380
6.8 Chapter Summary 420
Chapter 7 ARM Cortex-M4 Parallel I/O Ports Programming 433
7.1 Overview and Introduction 433
7.2 GPIO Module Architecture and GPIO Port Configuration 434
7.3 GPIO Port Control Registers 437
7.4 On-Board Keypad Interface Programming Project 440
7.5 Analog-to-Digital Converter Programming Project 446
7.6 PWM-Controlled DC and Step Motors Programming Project 486
7.7 The PWM API Functions in the TivaWare Peripheral Driver Library 521
7.8 Chapter Summary 525
Chapter 8 ARM Cortex-M4 Serial I/O Ports Programming 547
8.1 Overview and Introduction 547
8.2 GPIO Module Architecture and GPIO Port Configuration 548
8.3 Synchronous Serial Interface (SSI) 551
8.4 Inter-Integrated Circuit (I2C) Interface 611
8.5 Universal Asynchronous Receivers/Transmitters (UARTs) 642
8.6 Chapter Summary 668
Chapter 9 ARM Cortex-M4 Timer and USB Programming 691
9.1 Overview and Introduction 691
9.2 General-Purpose Timers 692
9.3 Watchdog Timers 732
9.4 Universal Serial Bus (USB) Controller 743
9.5 Chapter Summary 788
Chapter 10 ARM Cortex-M4 Other Peripherals Programming 805
10.1 Overview and Introduction 805
10.2 The Controller Area Network (CAN) 805
10.3 The Quadrature Encoder Interface (QEI) 847
10.4 The Continuous and Discrete PID Closed-Loop Control System 871
10.5 The Fuzzy Logic Closed-Loop Control System 887
10.6 The Analog Comparators 899
10.7 Chapter Summary 908
Chapter 11 ARM Floating Point Unit (FPU) 927
11.1 Overview and Introduction 927
11.2 Three Types of the Floating-Point Data 928
11.3 The FPU in the Cortex-M4 MCU 934
11.4 Implementing the Floating-Point Unit 938
11.5 Chapter Summary 946
Chapter 12 ARM Memory Protection Unit (MPU) 951
12.1 Overview and Introduction 951
12.2 Implementation of the MPU 952
12.3 Initialization and Configuration of the MPU 959
12.4 Building A Practical Example MPU Project 960
12.5 The API Functions Provided by the TivaWare Peripheral Driver Library 964
12.5.3 The MPU Interrupt Handler Control API Functions 968
12.6 Chapter Summary 969
Homework 970
Index 975
About the Author 987