Embedded Principles and Applications of ARM Cortex-M3

Embedded Principles and Applications of ARM Cortex-M3

00Author Introduction

Huang Keya, Associate Professor at Suzhou University, Master’s Supervisor, Software Designer, mainly engaged in teaching and scientific research in intelligent control and embedded system development. He has taught courses such as “Electrical and Electronic Technology”, “Microcontroller Principles and Control Technology”, “Microcomputer Principles and Applications”, “Embedded System Development”, “Programmable Controllers”, and “Sensor Application Technology”. In recent years, he has hosted 2 provincial-level projects, been granted 1 invention patent, registered 4 software copyrights, published 6 papers in EI-indexed or Chinese core journals, and guided students to win 1 first prize in the China Intelligent Robot Competition, 1 third prize in Jiangsu Province’s excellent graduation design (thesis), and 2 second prizes in the National Electronic Design Competition Jiangsu Division.

01Content Introduction

This book aims to inherit the classics of 51, promote the strengths of ARM, and assist MCU upgrades; it organizes textbook content oriented towards the student cognitive process, adopts project-led and full-case explanation methods, focusing on cultivating students’ practical application abilities. This book elaborates on the embedded system hardware design methods and software development technologies based on the ARM Cortex-M3 core and the STM32F103 microcontroller. The book consists of 15 chapters, divided into 3 parts: Part 1 (Chapters 1-3) for system platform modules, discussing the definition of embedded systems, hardware platforms of development boards, and project template creation; Part 2 (Chapters 4-9) for basic peripheral modules, introducing the most commonly used peripheral modules in STM32 embedded systems, including GPIO, interrupts, timers, PWM, and embedded system interface technologies; Part 3 (Chapters 10-15) for extended peripheral modules, introducing advanced peripheral modules in STM32 embedded systems, including USART, SPI, OLED, ADC, IIC, EEPROM, and RTC. This book is suitable as a textbook for senior undergraduate or graduate courses related to embedded systems in majors such as Computer Science, Automation, Electronic Information, Mechatronics, and the Internet of Things in higher education institutions, and can also serve as a reference for technical and research personnel engaged in embedded development.

02Book Directory

Chapter 1 Embedded System of ARM Cortex-M3

1.1Overview of Embedded Systems

1.1.1What is an Embedded System

1.1.2Comparison of Embedded Systems and General-Purpose Computer Systems

1.1.3Characteristics of Embedded Systems

1.1.4Application Areas of Embedded Systems

1.1.5Examples of Embedded Systems

1.2 ARM Cortex-M3 Processor

1.2.1 ARM Company

1.2.2 ARM Processors

1.3 STM32 Microcontrollers

1.3.1 From Cortex-M3 Core to Cortex-M3 Based MCU

1.3.2 STM32 Microcontroller Product Line

1.3.3 Naming Rules of STM32 Microcontrollers

1.4 Embedded System Software

1.4.1 Embedded Software without Operating System

1.4.2 Embedded Software with Operating System

1.4.3 Typical Embedded Operating Systems

1.4.4 Software Architecture Selection Recommendations

Chapter Summary

Thoughts and Extensions

Chapter 2 Hardware System of STM32 Development Board

2.1 Overview of the Development Board

2.1.1 Background of Development Board Design

2.1.2 Overall Introduction of Development Board

2.2 Power Module

2.2.1 Schematic of Power Module

2.2.2 Working Principle of Power Module

2.3 Core Board Circuit

2.3.1 CPU Module

2.3.2 Serial Communication Module

2.3.3 External Crystal Oscillator Module

2.3.4 Backup Power Module

2.3.5 ADC Module Power Supply

2.3.6 CPU Filtering Circuit

2.3.7 Reset Circuit

2.3.8 Startup Setting Circuit

2.4 I/O Module Circuit

2.4.1 LED Indicator Module

2.4.2 Key Module

2.4.3 Digital Tube Module

2.4.4 Buzzer Module

2.4.5 OLED Display Circuit

2.5 Expansion Module Circuit

2.5.1 Temperature Sensor

2.5.2 Infrared Sensor

2.5.3 AD Sampling Module

2.5.4 EEPROM Memory

2.5.5 I/O Pin External Module

Chapter Summary

Thoughts and Extensions

Chapter 3 MDK Software and Project Template Creation

3.1 Understanding STM32 Firmware Library

3.1.1 Overview of STM32 Firmware Library

3.1.2 Downloading STM32 Firmware Library

3.1.3 Directory Structure of STM32 Firmware Library

3.2 Creating Project Templates

3.2.1 Introduction to Keil MDK-ARM Software

3.2.2 Creating Project Templates

3.3 Software Simulation and Emulation

Chapter Summary

Thoughts and Extensions

Chapter 4 General Purpose Input and Output Ports

4.1 Overview and Pin Naming of GPIO

4.2 Internal Structure of GPIO

4.2.1 Input Driver

4.2.2 Output Driver

4.3 GPIO Working Modes

4.4 GPIO Output Speed

4.5 Multiplexing Function Remapping

4.6 GPIO Control Registers

4.7 GPIO Register Configuration Examples

4.8 Register-based LED Blinking Project

4.8.1 Creating Register-based Project Template

4.8.2 LED Blinking Program Design

4.8.3 Characteristics of Register-based Development Method

Chapter Summary

Thoughts and Extensions

Chapter 5 LED Flow Light and SysTick Timer

5.1 Library Function Development Method

5.2 GPIO Output Library Function

5.3 LED Flow Light Control

5.4 SysTick Timer

5.4.1 Overview of SysTick Timer

5.4.2 SysTick Timer Registers

5.4.3 Applications of SysTick Timer

Chapter Summary

Thoughts and Extensions

Chapter 6 Key Input and Buzzer

6.1 GPIO Input Library Function

6.2 Project Analysis

6.3 Project Implementation

Chapter Summary

Thoughts and Extensions

Chapter 7 Dynamic Display of Digital Tube

7.1 Digital Tube Display Interface

7.1.1 Working Principle of Digital Tube

7.1.2 Digital Tube Encoding Method

7.1.3 Digital Tube Display Method

7.2 Project Analysis

7.3 Project Implementation

7.4 Project Expansion

Chapter Summary

Thoughts and Extensions

Chapter 8 Interrupt System and Basic Applications

8.1 Basic Concepts of Interrupts

8.1.1 Definition of Interrupts

8.1.2 Applications of Interrupts

8.1.3 Interrupt Sources and Interrupt Masking

8.1.4 Interrupt Handling Process

8.1.5 Interrupt Priority and Interrupt Nesting

8.2 STM32F103 Interrupt System

8.2.1 Nested Vector Interrupt Controller NVIC

8.2.2 STM32F103 Interrupt Priority

8.2.3 STM32F103 Interrupt Vector Table

8.2.4 STM32F103 Interrupt Service Functions

8.3 STM32F103 External Interrupt/Event Controller EXTI

8.3.1 Internal Structure of EXTI

8.3.2 Working Principle of EXTI

8.3.3 Main Features of EXTI

8.4 STM32 Interrupt Related Library Functions

8.4.1 NVIC Related Library Functions of STM32F10x

8.4.2 EXTI Related Library Functions of STM32F10x

8.4.3 EXTI Interrupt Line GPIO Pin Mapping Library Functions

8.5 EXTI Project Examples

8.5.1 Project Analysis

8.5.2 Project Implementation

Chapter Summary

Thoughts and Extensions

Chapter 9 Timer and Pulse Width Modulation

9.1 Overview of STM32F103 Timer

9.2 Basic Timer

9.2.1 Introduction to Basic Timer

9.2.2 Main Features of Basic Timer

9.2.3 Functions of Basic Timer

9.2.4 Basic Timer Registers

9.3 General Timer

9.3.1 Introduction to General Timer

9.3.2 Main Functions of General Timer

9.3.3 Function Description of General Timer

9.3.4 Working Modes of General Timer

9.3.5 General Timer Registers

9.4 Advanced Timer

9.4.1 Introduction to Advanced Timer

9.4.2 Features of Advanced Timer

9.4.3 Structure of Advanced Timer

9.5 Timer Related Library Functions

9.6 Project Examples

9.6.1 Timer Project

9.6.2 PWM Project

Chapter Summary

Thoughts and Extensions

Chapter 10 Serial Communication Interface USART

10.1 Basic Concepts of Data Communication

10.1.1 Parallel Communication and Serial Communication

10.1.2 Asynchronous Communication and Synchronous Communication

10.1.3 Standards of Serial Communication

10.1.4 Checks of Serial Communication

10.1.5 Baud Rate of Serial Communication

10.2 Working Principle of USART in STM32F103

10.2.1 Introduction to USART

10.2.2 Main Features of USART

10.2.3 Overview of USART Functions

10.2.4 USART Communication Timing

10.2.5 USART Interrupts

10.2.6 Related Registers of USART

10.3 USART Related Library Functions

10.4 Project Examples

10.4.1 Project Analysis

10.4.2 Project Implementation

Chapter Summary

Thoughts and Extensions

Chapter 11 SPI and OLED Display

11.1 Communication Principles of SPI

11.1.1 Introduction to SPI

11.1.2 SPI Interconnection

11.2 Working Principle of SPI in STM32F103

11.2.1 Main Features of SPI

11.2.2 Internal Structure of SPI

11.2.3 Phase and Polarity of Clock Signal

11.2.4 Data Frame Format

11.2.5 Configuring SPI as Master Mode

11.2.6 Configuring SPI as Slave Mode

11.3 OLED Display

11.3.1 Introduction to OLED

11.3.2 OLED Display on Development Board

11.3.3 OLED Display Interface

11.4 SPI Library Functions

11.5 Project Examples

11.5.1 Project Analysis

11.5.2 Project Implementation

Chapter Summary

Thoughts and Extensions

Chapter 12 Analog to Digital Converter

12.1 Overview of ADC

12.1.1 Basic Principles of ADC

12.1.2 Performance Parameters of ADC

12.1.3 Main Types of ADC

12.2 Working Principle of ADC in STM32F103

12.3 ADC Related Library Functions

12.4 Project Examples

12.4.1 Project Analysis

12.4.2 Project Implementation

Chapter Summary

Thoughts and Extensions

Chapter 13 Direct Memory Access

13.1 Basic Concepts of DMA

13.1.1 Origin of DMA

13.1.2 Definition of DMA

13.1.3 DMA Transfer Process

13.1.4 Advantages of DMA

13.2 Working Principle of DMA in STM32F103

13.3 DMA Related Library Functions

13.4 Project Examples

13.4.1 Project Analysis

13.4.2 Project Implementation

Chapter Summary

Thoughts and Extensions

Chapter 14 I2C Interface and EEPROM Memory

14.1 Communication Principles of I2C

14.1.1 Overview of I2C Serial Bus

14.1.2 Data Transmission on I2C Bus

14.2 I2C Interface in STM32F103

14.2.1 Main Features of I2C in STM32F103

14.2.2 Internal Structure of I2C in STM32F103

14.2.3 Mode Selection of STM32F103’s I2C

14.3 I2C Related Library Functions of STM32F103

14.4 Project Examples

14.4.1 Simulating I2C Timing Requirements

14.4.2 Simulating I2C Functions

14.4.3 EEPROM Chip 24C02

14.4.4 Simulating I2C Access to 24C02 Project Analysis

14.4.5 Simulating I2C Access to 24C02 Project Implementation

Chapter Summary

Thoughts and Extensions

Chapter 15 RTC Clock and BKP Register

15.1 RTC Clock

15.1.1 Introduction to RTC

15.1.2 Main Features of RTC

15.1.3 Internal Structure of RTC

15.1.4 Reset Process of RTC

15.2 Backup Register (BKP)

15.2.1 Introduction to BKP

15.2.2 Features of BKP

15.2.3 Intrusion Detection of BKP

15.3 Operations of RTC Clock

15.3.1 Initialization of RTC

15.3.2 Writing Time Initialization to RTC

15.4 RTC and BKP Related Library Functions

15.5 Project Examples

15.5.1 Project Analysis

15.5.2 Project Implementation

15.5.3 Project Debugging

Chapter Summary

Thoughts and Extensions

Appendix A ASCII Code Table

Appendix B Pin Definition Table for Small Capacity STM32F103 Microcontroller Product Series

Appendix C Pin Definition Table for Medium Capacity STM32F103 Microcontroller Product Series

Appendix D Pin Definition Table for Large Capacity STM32F103 Microcontroller Product Series

References

03Editor Recommendation

The mountains cannot hide the flow of the East! The popularity of ARM processors globally, with 32-bit RISC embedded processors, has become the mainstream in embedded applications and design. Currently, the automation field is showing a trend of 32-bit embedded systems accelerating the replacement of traditional 8-bit microcontroller application systems.

Based on years of teaching and development experience in embedded systems, the author has written this book by combining theoretical knowledge of embedded systems with practical development based on the ARM Cortex-M3 core and STM32F103 microcontroller, in a step-by-step manner, balancing theory and practice, and addressing both common and unique aspects.

Key features of this book: 1. Inherit the classics of 51, promote the strengths of ARM, and assist MCU upgrades. 2. Design textbook logic and organize chapter content oriented towards the reader’s cognitive process. 3. Project-led, task-driven, integrating teaching, learning, and doing, focusing on cultivating readers’ engineering practical abilities. 4. Build a comprehensive, three-dimensional teaching resource network to support embedded system teaching and project development.

04Teaching Resources

This book provides supporting teaching materials and resources. You can follow the public account “Artificial Intelligence Science and Technology” and enter “Teaching Outline”, “Teaching Materials”, “Program Code”, “Learning Materials” in the dialogue box to obtain corresponding resources for free; “Teaching Videos” can only be viewed after purchasing the book.

Embedded Principles and Applications of ARM Cortex-M3

Embedded Principles and Applications of ARM Cortex-M3

Embedded Principles and Applications of ARM Cortex-M3

05Book Giveaway

Click the small program button on the right side of the cover belowEmbedded Principles and Applications of ARM Cortex-M3, to fill out the “Sample Book Application Form”, and get a free sample book (deadline May 22).

Embedded Principles and Applications of ARM Cortex-M3Embedded Principles and Applications of ARM Cortex-M3

Note: (1) Applicants must be teachers at regular higher education institutions teaching the course“Embedded Systems” or“Microcontrollers”. When filling out the sample book application form, they need to provide their teaching outline for“Embedded Systems” or“Microcontrollers”, send it to the“Artificial Intelligence Teaching Exchange Group of Higher Education Institutions”, and authorize this public account to forward and share. (2) Applicants for sample booksmust follow this public account and share this article in their circle of friends, then take a screenshot and send it to the“Artificial Intelligence Teaching Exchange Group of Higher Education Institutions”, the application will be valid.

Embedded Principles and Applications of ARM Cortex-M3

05JD Details

Scan the code to view the JD details page of this book.

Embedded Principles and Applications of ARM Cortex-M3

Embedded Principles and Applications of ARM Cortex-M3

AILearning accompanies you, are you“watching”

Leave a Comment

×