New Book Recommendation | Unveiling the Magical Journey of Embedded System Development and Applications

New Book Recommendation | Unveiling the Magical Journey of Embedded System Development and Applications

In this era filled with technology and wisdom, embedded systems, with their unique charm, are changing our lives. Today, let us step into the magical world of embedded system development and applications and feel its allure!

Embedded systems, as the name suggests, are systems that embed computer hardware and software into specific devices. They are widely used in various fields such as smart homes, medical devices, and industrial automation, making our lives more convenient and efficient.

During the development of embedded systems, engineers need to apply a wealth of professional knowledge and exquisite skills to perfectly integrate various hardware devices with software systems. They are like magicians, using code and algorithms to breathe life into these devices, allowing them to operate according to our wishes. The application fields of embedded systems are incredibly vast. In the smart home sector, embedded systems can achieve interconnectivity of home devices, enabling us to easily control lights, air conditioning, and other devices in our homes through smartphones or voice assistants; in the medical device field, embedded systems can help doctors monitor patients’ vital signs in real-time, providing strong support for diagnosis and treatment; in the industrial automation sector, embedded systems can achieve automated control of production lines, improving production efficiency and quality. Moreover, embedded systems are continuously innovating and evolving. With the ongoing development of technologies such as the Internet of Things and artificial intelligence, embedded systems are gradually integrating with these cutting-edge technologies, bringing more surprises and conveniences to our lives. In summary, the magical journey of embedded system development and applications is continuously unfolding. With its unique charm and wide range of application fields, it is leading a new wave of technological development. Let us look forward to the more surprises and changes that embedded systems will bring us in the future!

New Book Recommendation | Unveiling the Magical Journey of Embedded System Development and Applications

“Embedded System Development and Applications”

ISBN:9787302652274

Authors:Chen Peng, Zhao Dongdong, Huan Ruohong

Price:58.90 RMB

Table of Contents

Scroll up to view

Chapter 1 Introduction to Embedded System Development 1

1.1 Introduction to Embedded Systems 1

1.1.1 History of Embedded System Development 2

1.1.2 Concepts and Characteristics of Embedded Systems 4

1.1.3 Classification and Applications of Embedded Systems 5

1.2 Hardware Components of Embedded Systems 7

1.2.1 Embedded Microprocessors/Microcontrollers 7

1.2.2 Embedded DSP/FPGA 10

1.2.3 Embedded SoC/SoPC 10

1.2.4 Interfaces and Peripherals of Embedded Systems 12

1.3 Software Components of Embedded Systems 14

1.3.1 Software Layering in Embedded Systems 14

1.3.2 Overview of Embedded Operating Systems 15

1.3.3 Integrated Development Environments for Embedded Systems 19

1.4 Trends in Embedded System Development 21

1.5 Exercises 23

Chapter 2 Overview of ARM Technology 25

2.1 ARM Architecture 25

2.1.1 Development of ARM Architecture 25

2.1.2 Characteristics of ARM Architecture 28

2.1.3 ARM Pipeline 30

2.1.4 Overview of ARM Cores 36

2.2 ARM Cortex-A55 43

2.2.1 Features of Cortex-A55 Core 43

2.2.2 Structure of Cortex-A55 Core 43

2.2.3 Memory Management Unit of Cortex-A55 46

2.2.4 Interrupt Controller CPU Interface of Cortex-A55 47

2.3 Exercises 48

Chapter 3 Basics of ARMv8 Architecture 49

3.1 ARMv8 Architecture 49

3.1.1 Introduction to ARMv8 Architecture 49

3.1.2 Basic Concepts of ARMv8 50

3.1.3 Operating States of ARMv8 Processors 51

3.1.4 Supported Data Widths in ARMv8 Architecture 51

3.2 ARMv8 Registers 52

3.2.1 General-Purpose Registers 52

3.2.2 Processor State Registers 53

3.2.3 Special Registers 54

3.2.4 System Registers 57

3.3 A64 Instruction Set 58

3.3.1 Load and Store Instructions 59

3.3.2 Arithmetic and Shift Instructions 65

3.3.3 Comparison and Jump Instructions 74

3.3.4 Other Important Instructions 76

3.4 ARM64 Exception Handling 78

3.4.1 Types of Exceptions 78

3.4.2 Synchronous and Asynchronous Exceptions 79

3.4.3 Occurrence and Exit of Exceptions 80

3.4.4 Exception Vector Table 80

3.5 ARM64 Memory Management 81

3.5.1 Page Tables 81

3.5.2 Page Table Mapping 84

3.5.3 Page Table Granularity 86

3.5.4 Dual Page Tables 87

3.5.5 Dual Descriptors 87

3.5.6 Page Table Attributes 91

3.5.7 Continuous Block Table Entries 94

3.6 Exercises 94

Chapter 4 Linux Embedded Operating System 96

4.1 Development of Linux Systems 96

4.1.1 Origins of Linux 96

4.1.2 Characteristics of Linux 97

4.1.3 History of Linux Development 97

4.1.4 Linux Distributions 98

4.1.5 Application Fields of Linux 100

4.1.6 Installation of Linux Virtual Machines 100

4.2 Linux File System 102

4.2.1 Users and User Groups 102

4.2.2 File and Directory Permissions 105

4.2.3 Directory Structure of File Systems 110

4.2.4 Common Linux File Systems 111

4.3 Linux Commands 112

4.3.1 File Management 112

4.3.2 Document Editing 116

4.3.3 File Transfer 118

4.3.4 Disk Management 119

4.3.5 Network Communication 122

4.3.6 System Management 124

4.4 Common Linux Tools 126

4.4.1 Vi and Vim 126

4.4.2 Shell 129

4.4.3 SSH 146

4.4.4 FTP 148

4.4.5 Git Project Management Tool 151

4.5 Exercises 159

Chapter 5 Embedded Software Development Based on ARM 160

5.1 Basics of Embedded C Programming 160

5.1.1 Hello World 160

5.1.2 GCC and Cross Compilers 161

5.1.3 Makefile 163

5.1.4 CMake 166

5.2 Techniques for Embedded C Programming 168

5.2.1 C Compiler and Optimization Methods 169

5.2.2 Object-Oriented Programming Concepts in C 174

5.2.3 Modular Programming Concepts in C 178

5.3 Mixed Programming in C and Assembly 193

5.3.1 ATPCS Rules 193

5.3.2 Inline Assembly Code in C Programs 195

5.3.3 Calling C Programs from Assembly 196

5.4 Exercises 197

Chapter 6 Communication Interfaces and Ascend Examples 198

6.1 General Input/Output Interfaces 198

6.1.1 GPIO Functions and Characteristics 198

6.1.2 GPIO Function Descriptions 199

6.1.3 GPIO Usage Instructions 199

6.1.4 GPIO Application Examples 200

6.2 I2C Bus 201

6.2.1 I2C Functions and Characteristics 202

6.2.2 I2C Features and Structure 203

6.2.3 I2C Protocol Timing 211

6.2.4 Ascend I2C Interface Introduction 213

6.2.5 Ascend I2C Application Examples 213

6.3 SPI Bus 216

6.3.1 SPI Functions and Characteristics 216

6.3.2 SPI Features and Structure 222

6.3.3 SPI Protocol Timing 230

6.3.4 Ascend SPI Interface Introduction 233

6.3.5 Ascend SPI Interface Application Examples 233

6.4 UART Bus 235

6.4.1 UART Functions and Characteristics 236

6.4.2 UART Features and Structure 238

6.4.3 UART Protocol Timing 243

6.4.4 Ascend UART Interface Introduction 244

6.4.5 Ascend UART Application Examples 244

6.5 Exercises 247

Chapter 7 Ascend AI Applications and Development 249

7.1 Introduction to Ascend AI Processors 249

7.1.1 Overview of Huawei’s AI Full-Stack Solutions 249

7.1.2 Hardware Architecture of Ascend AI Processors 251

7.1.3 Software Logic Architecture of Ascend AI Processors 254

7.2 Setting Up Embedded System Environments Based on Ascend 257

7.2.1 Creating System Images 257

7.2.2 Serial Connection 258

7.3 AI Application Example Design 259

7.3.1 Object Detection Example 259

7.3.2 Human Semantic Segmentation Example 261

7.3.3 Skeleton Behavior Recognition Example 262

7.3.4 Tools and Processes for Model Deployment 264

7.4 Exercises 270

References 271

Appendix A Atlas 200 Dev Board Block Diagram 272

Appendix B Atlas 200 Dev Board Schematic 273

Appendix C Atlas 200 Dev Board Peripheral Pinout 286

Leave a Comment