Understanding ARM Cortex-M3 Embedded Systems and Applications

Understanding ARM Cortex-M3 Embedded Systems and Applications

As an important member of the CortexM3 family, STM32 is also a widely used chip today. From the 51 microcontroller to the emergence of embedded systems, the Internet of Things, big data, and artificial intelligence, the development of electronic technology is advancing rapidly, driving the growth of the semiconductor industry and changing our lives.

Now we are more accustomed to referring to the development related to microcontrollers as embedded development. Universities still mainly teach the 51 microcontroller, with a few schools offering elective courses on CortexM3. As an important family member, STM32 is gradually being learned by more and more people.

01
Author Introduction

Feng Xinyu is an associate professor at Heilongjiang University of Science and Technology, engaged in embedded system project development and related teaching work for a long time. In the past decade, he has led or participated in more than twenty embedded-related topics and project developments; as a guiding teacher, he has participated in national college students’ electronic design competitions, Freescale electronic design competitions, Heilongjiang provincial electronic design competitions, and so on, with students he guided winning various major awards in competitions multiple times. His representative works include the best-selling book “ARM Cortex-M3 Architecture and Programming” (2nd edition) and “Quadrotor UAV Design” (2nd edition).

02
Content Introduction

This book starts with the CortexM3 processor, discussing the use of programming software and the configuration of STM32’s I/O ports, detailing the usage of the STM32 microprocessor, and introducing the important content of the STM32 microprocessor in a simple and understandable way, mainly including basic I/O ports, interrupts, ADC, timers, etc. The last few chapters provide multiple case studies from research topics (such as balance car design, electronic scale design, etc.) and student electronic design competition works. These cases effectively illustrate the typical applications of STM32, helping readers to quickly get started and operate. Readers can design their own projects based on the content learned earlier. The book comes with all design circuit diagrams, source code, and other materials, which readers can obtain through QQ groups, emails, etc., for convenient learning. This book can serve as a reference for relevant majors such as computer, electronic information, communication engineering, and automatic control in higher education institutions, and also as a reference for relevant technical personnel.

03
Table of Contents

Chapter 1 Introduction to ARM CortexM3 Core

1.1 Chapter Introduction

1.2 Main Applications

1.3 Major Features of CortexM3

1.4 Characteristics of Typical M3 Core Processors

1.4.1 Naming Rules

1.4.2 Product Functions and Peripheral Configuration

1.5 Chapter Summary

1.6 Exercises

Chapter 2 Setting Up the Development Environment

2.1 Chapter Introduction

2.2 MDK Installation

2.3 New Project Exploration

2.4 Simulation Debugging

2.5 Chapter Summary

2.6 Exercises

Chapter 3 Basic I/O Port Control

3.1 Chapter Introduction

3.2 Advanced New Project

3.3 MDK Project Configuration

3.4 Register Operations

3.5 Clock Configuration

3.5.1 Clock Tree

3.5.2 Clock Source

3.5.3 APB2 Peripheral Clock Enable Register (RCC_APB2ENR)

3.6 I/O Port Configuration

3.6.1 Basic Situation of I/O

3.6.2 GPIO Configuration Register Description

3.6.3 Port Output Data Register

3.7 Library Function Operations

3.7.1 GPIO_Init Function

3.7.2 RCC_APB2PeriphClockCmd

3.7.3 Control I/O Output Levels

3.8 Digital Tube Operation Example

3.8.1 Basic Knowledge of Digital Tubes

3.8.2 Hardware Circuit Design

3.8.3 Software Description

3.9 Simple Key Operation Example

3.10 Chapter Summary

3.11 Exercises

Chapter 4 Interrupts

4.1 Chapter Introduction

4.2 STM32 Interrupts and Exceptions

4.3 Basic Concepts Related to STM32 Interrupts

4.3.1 Interrupt Priority

4.3.2 Interrupt Controller NVIC

4.3.3 NVIC’s Interrupt Vector Priority Group

4.4 External Interrupts

4.4.1 Basic Situation of External Interrupts

4.4.2 Basic Steps for Using External Interrupts

4.5 Single Key Interrupt Operation Example

4.6 Multiple Key Interrupt Operation Example

4.7 Chapter Summary

4.8 Exercises

Chapter 5 Serial Communication

5.1 Chapter Introduction

5.2 Basics of Serial Communication

5.2.1 Basic Concepts

5.2.2 Common Serial Communication Interfaces

5.3 STM32 Serial Port Operations

5.3.1 Register Method for Serial Port Operations

5.3.2 Library Function Method for Serial Port Operations

5.3.3 Steps for Serial Port Settings

5.4 Serial Communication Operation Example

5.4.1 Main Program

5.4.2 Serial Port Initialization Code

5.5 Chapter Summary

5.6 Exercises

Chapter 6 Direct Memory Access

6.1 Chapter Introduction

6.2 Basics of DMA

6.3 STM32 DMA Operations

6.3.1 Register Method for DMA Operations

6.3.2 Library Function Method for DMA Operations

6.3.3 Steps for DMA Settings

6.4 DMA Operation Example

6.4.1 Main Program

6.4.2 DMA Initialization Code

6.4.3 Code Analysis and Experimental Results

6.5 Chapter Summary

6.6 Exercises

Chapter 7 Analog/Digital Converters

7.1 Chapter Introduction

7.2 Basics of ADC

7.2.1 Major Features of ADC

7.2.2 ADC Block Diagram and Pin Distribution

7.2.3 Channel Selection

7.2.4 ADC Conversion Modes

7.3 STM32 ADC Operations

7.3.1 Register Method for ADC Operations

7.3.2 Library Function Method for ADC Operations

7.3.3 Steps for ADC Settings

7.4 ADC Operation Example

7.4.1 Main Program

7.4.2 ADC Initialization Code

7.4.3 Code Analysis and Experimental Results

7.5 Chapter Summary

7.6 Exercises

Chapter 8 Timers

8.1 Chapter Introduction

8.2 Basics of Timers

8.2.1 Advanced Timers

8.2.2 Basic Timers

8.2.3 General Timers

8.3 STM32 Timer Operations

8.3.1 Register Method for Timer Operations

8.3.2 Library Function Method for Timer Operations

8.3.3 Steps for Timer Settings

8.4 Timer Operation Example

8.4.1 Main Program

8.4.2 Timer Initialization Code

8.4.3 Code Analysis and Experimental Results

8.5 Chapter Summary

8.6 Exercises

Chapter 9 CAN Bus Design

9.1 Chapter Introduction

9.2 Basics of STM32 CAN Bus

9.2.1 CAN Physical Layer Characteristics

9.2.2 CAN Bit Timing

9.2.3 CAN Bus Arbitration

9.2.4 STM32 CAN Controller

9.2.5 STM32 CAN Filter

9.2.6 CAN Sending Process

9.2.7 CAN Receiving Process

9.2.8 STM32 CAN Bit Timing Characteristics

9.3 STM32 CAN Bus Operations

9.3.1 Register Method for CAN Bus Operations

9.3.2 Library Function Method for CAN Bus Operations

9.3.3 Steps for CAN Bus Settings

9.4 CAN Communication Example

9.5 Chapter Summary

9.6 Exercises

Chapter 10 Inverted Pendulum Design

10.1 Chapter Introduction

10.2 Design Requirements

10.3 Design Analysis

10.3.1 Selection of Inverted Pendulum

10.3.2 System Structure Composition

10.3.3 System Model Analysis

10.3.4 System Control Scheme Determination

10.4 Design Steps

10.4.1 Microcontroller Minimum System Circuit Design

10.4.2 Motor Selection and Driver Circuit Design

10.4.3 Measurement Circuit Design

10.4.4 Communication Circuit Design

10.4.5 Auxiliary Circuit Design

10.4.6 System Software Design

10.5 Chapter Summary

10.6 Exercises

Chapter 11 Intelligent Vehicle Design

11.1 Chapter Introduction

11.2 Design Requirements

11.3 Design Analysis

11.4 Design Steps

11.4.1 Minimum System Circuit Design

11.4.2 Power Supply Circuit Design

11.4.3 Motor Driver Circuit Design

11.4.4 Environmental Detection Sensor Circuit Design

11.4.5 Human-Machine Interaction Circuit Design

11.4.6 Overall Software Design

11.4.7 PID Control Software Design

11.4.8 Maze Algorithm Design

11.4.9 Design Measurement Methods and Data Processing

11.4.10 Sensor Software Filtering

11.5 Chapter Summary

11.6 Exercises

Chapter 12 Balance Car Design

12.1 Chapter Introduction

12.2 Design Requirements

12.3 Design Analysis

12.4 Design Steps

12.4.1 Environmental Detection Sensor Circuit Design

12.4.2 Human-Machine Interaction Circuit Design

12.4.3 MPU 6050 Usage Method

12.4.4 Overall Software Design

12.5 Chapter Summary

12.6 Exercises

Chapter 13 Electronic Scale Design

13.1 Chapter Introduction

13.2 Design Requirements

13.3 Design Analysis

13.4 Design Steps

13.4.1 Main Controller Related Circuit

13.4.2 TFT LCD Screen Related Circuit Design

13.4.3 AD Conversion Chip HX711 Related Circuit Design

13.4.4 WT588D Voice Module Related Circuit Design

13.4.5 Load Sensor Related Circuit Design

13.4.6 Software Design Ideas and Code Analysis

13.5 Chapter Summary

13.6 Exercises

Chapter 14 Design of Wireless Power Transmission System

14.1 Chapter Introduction

14.2 Design Requirements

14.3 Design Analysis

14.3.1 Basic Principle Analysis of Wireless Power Transmission

14.3.2 Characteristics of Wireless Power Transmission

14.4 Design Steps

14.4.1 System Structure Composition

14.4.2 Selection and Design of Major Topology Circuits

14.4.3 MOS Tube Driver Design

14.4.4 Coil and Capacitor Design

14.4.5 Design of High-Frequency Rectification at the Receiving End

14.4.6 Control Circuit Design

14.4.7 Program Design

14.4.8 Debugging and Verification

14.4.9 Measurement Results and Conclusion Analysis

14.5 Chapter Summary

14.6 Exercises

References

04
Editor Recommendation

This book systematically discusses the principles, architecture, programming, and project development of the ARM Cortex-M3 embedded microprocessor (STM32 series). It is a systematic summary of many years of teaching and project development experience, featuring the following characteristics:

(1) Easy to Teach and Learn: Starting from the most basic I/O port configuration, it sequentially introduces interrupts, serial communication, A/D conversion, timers, CAN bus, and other basic functions, making it easy for readers to understand and apply.

(2) Coherent Front and Back: Emphasizes the coherence of knowledge content and analysis methods, properly handling the connection with previous and subsequent courses.

(3) Clear Hierarchy: Introduces the principles, architecture, programming, and project development of the STM32 series microprocessors in a simple and understandable way, step by step, closely linked, responding to each other.

05
Teaching Resources

Teaching materials, accompanying lesson plans (PPT);Program code, accompanying example programs;Circuit diagrams, accompanying circuit diagrams. Available for download on the Tsinghua University Press website for this book.

06
JD Reading

Click the book cover below to view the JD details page for “Understanding ARM Cortex-M3 Embedded Systems and Applications: Architecture, Programming, and Project Practice of STM32 Series Microprocessors”.

Understanding ARM Cortex-M3 Embedded Systems and Applications

ISBN:9787302547150

Price: 59.00

07
Book Giveaway

If you are a teacher, you can apply for the book in the following ways:

(1) Follow the “Artificial Intelligence Science and Technology” public account and share this article to your circle of friends;

(2) Fill out the application form: Open the “Artificial Intelligence Science and Technology” public account menu, click on [Books] → [Book Application] to enter the application form.

(3) Applicants must be ordinary college teachers and teach the corresponding course of the requested sample book. The application form needs to upload proof of identity with a syllabus of a similar course.

If you are not a teacher, you can participate in the book lottery in the following ways:

(1) Follow the “Artificial Intelligence Science and Technology” public account and share this article to your circle of friends;

(2) Open the “Artificial Intelligence Science and Technology” public account chat window and enter the text “Lottery“, and the system will pop up the lottery QR code;

(3) Long press the QR code to participate in the lottery. Winners should fill in the mailing address on the day of the lottery announcement (Lottery valid until July 24, 2020, 20:00).

Note: Book applications are valid for a long time.

Understanding ARM Cortex-M3 Embedded Systems and Applications

AI Learning is with you, are youWatching」?

Leave a Comment

Your email address will not be published. Required fields are marked *