Embedded System Design and Applications – Based on ARM Cortex-A8 and Linux (3rd Edition)

Embedded System Design and Applications - Based on ARM Cortex-A8 and Linux (3rd Edition)Embedded System Design and Applications - Based on ARM Cortex-A8 and Linux (3rd Edition)Embedded System Design and Applications - Based on ARM Cortex-A8 and Linux (3rd Edition)

Embedded System Design and Applications - Based on ARM Cortex-A8 and Linux (3rd Edition) Table of Contents

Chapter 1 Overview of Embedded Systems

Micro-course video: 158 minutes, 6 episodes

1.1 Introduction to Embedded Systems

1.1.1 Emergence of Embedded Systems

1.1.2 Definition, Characteristics, and Classification of Embedded Systems

1.1.3 Typical Components of Embedded Systems

1.2 Embedded Microprocessors

1.2.1 Introduction to Embedded Microprocessors

1.2.2 Mainstream Embedded Microprocessors

1.3 Embedded Operating Systems

1.3.1 Embedded Linux

1.3.2 Windows CE

1.3.3 Android

1.3.4 μC/OS-Ⅱ

1.3.5 VxWorks

1.3.6 Huawei LiteOS

1.4 Application Areas and Development Trends of Embedded Systems

1.4.1 Application Areas of Embedded Systems

1.4.2 Development Trends of Embedded Systems

1.5 Chapter Summary

Exercises

Chapter 2 ARM Processor Architecture

Micro-course video: 39 minutes, 4 episodes

2.1 Overview of ARM Processors

2.1.1 Introduction to ARM Processors

2.1.2 Development of ARM Architecture

2.1.3 Main Products of ARM Processor Series

2.1.4 Introduction to ARM Development Tools

2.2 Cortex-A8 Processor Architecture

2.3 Cortex-A8 Processor Operating Modes and States

2.3.1 Cortex-A8 Processor Operating Modes

2.3.2 Cortex-A8 Processor States

2.4 Cortex-A8 Memory Management

2.4.1 Basic Data Types of ARM

2.4.2 Floating Point Data Types

2.4.3 Big/Little Endian Storage Modes

2.4.4 Register Groups

2.4.5 Cortex-A8 Storage System

2.5 Cortex-A8 Exception Handling

2.5.1 Exception Vectors and Priorities

2.5.2 Exception Response Process

2.5.3 Exception Return Process

2.5.4 Cortex-A8 Processor S5PC100 Interrupt Mechanism

2.6 Chapter Summary

Exercises

Chapter 3 ARM Instruction Set

Micro-course video: 98 minutes, 9 episodes

3.1 Overview of ARM Instruction Set

3.1.1 Instruction Format

3.1.2 Condition Codes of Instructions

3.2 Addressing Modes of ARM Instructions

3.2.1 Immediate Addressing

3.2.2 Register Addressing

3.2.3 Register Indirect Addressing

3.2.4 Register Shift Addressing

3.2.5 Indexed Addressing

3.2.6 Multiple Register Addressing

3.2.7 Relative Addressing

3.2.8 Stack Addressing

3.2.9 Block Copy Addressing

3.3 Introduction to ARM Instruction Set

3.3.1 Jump Instructions

3.3.2 Data Processing Instructions

3.3.3 Program Status Register Processing Instructions

3.3.4 Load/Store Instructions

3.3.5 Co-Processor Instructions

3.3.6 Exception Generation Instructions

3.4 Introduction to Thumb Instruction Set

3.5 Introduction to ARM Assembly Language Programming

3.5.1 Pseudo-Operations

3.5.2 Pseudo-Instructions

3.5.3 Assembly Statement Format

3.5.4 Program Structure of Assembly Language

3.6 Mixed Programming in C Language and Assembly Language

3.6.1 Inline Assembly in C Programs

3.6.2 Accessing C Language Program Variables in Assembly

3.6.3 Calling Assembly and C Language Functions in ARM

3.7 Chapter Summary

Exercises

Chapter 4 S5PV210 Microprocessor and Interface

Micro-course video: 10 minutes, 1 episode

4.1 Hardware Platform Architecture Based on S5PV210 Microprocessor

4.1.1 Introduction to S5PV210 Processor

4.1.2 Introduction to Internal Modules of S5PV210

4.2 Storage System

4.2.1 Address Space of S5PV210

4.2.2 Boot Process of S5PV210

4.3 Clock System

4.3.1 Overview of S5PV210 Clock

4.3.2 Clock Structure of S5PV210

4.4 GPIO Interface

4.4.1 Overview of GPIO

4.4.2 GPIO Registers

4.4.3 Steps for GPIO Operation

4.4.4 Example of an LED Light

4.5 Serial Communication Interface

4.5.1 Serial Communication Methods

4.5.2 RS-232C Serial Interface

4.5.3 Asynchronous Serial Communication of S5PV210

4.5.4 UART Registers of S5PV210

4.5.5 UART Communication Example

4.6 A/D Converter

4.7 Chapter Summary

Exercises

Chapter 5 ARM-Linux Kernel

Micro-course video: 87 minutes, 9 episodes

5.1 Overview of ARM-Linux

5.1.1 Basic Architecture of GNU/Linux Operating System

5.1.2 Characteristics of ARM-Linux Kernel Versions

5.1.3 Main Architecture and Functions of ARM-Linux Kernel

5.1.4 Directory Structure of Linux Kernel Source Code

5.2 Process Management in ARM-Linux

5.2.1 Representation and Switching of Processes

5.2.2 Processes, Threads, and Kernel Threads

5.2.3 Special Fields of Process Descriptor task_struct

5.2.4 do_fork() Function

5.2.5 Creation of Processes

5.2.6 Creation of Threads and Kernel Threads

5.2.7 Execution of Processes – exec Function Family

5.2.8 Termination of Processes

5.2.9 Scheduling of Processes

5.3 Memory Management in ARM-Linux

5.3.1 Overview of Memory Management in ARM-Linux

5.3.2 Virtual Memory Space and Distribution of ARM-Linux

5.3.3 Process Space Description

5.3.4 Physical Memory Management

5.3.5 Management Techniques Based on Slab Allocator

5.3.6 Non-contiguous Memory Allocation in Kernel (vmalloc)

5.3.7 Brief Overview of Page Reclamation

5.4 ARM_Linux Modules

5.4.1 Writing and Compiling LKM

5.4.2 Comparison of LKM Version Differences

5.4.3 Loading and Unloading Modules

5.4.4 Toolset module-init-tools

5.5 Interrupt Management in ARM-Linux

5.5.1 Basic Concepts of ARM_Linux Interrupts

5.5.2 Initialization of Kernel Exception Vector Table

5.5.3 Interrupt Handling in Linux

5.5.4 Changes to Interrupt Handling System after Kernel Version 2.6.38 – General Interrupt Subsystem

5.6 System Calls in ARM-Linux

5.7 Chapter Summary

Exercises

Chapter 6 Embedded Linux File System

Micro-course video: 15 minutes, 2 episodes

6.1 Basics of Linux File System

6.1.1 Overview

6.1.2 ext2 File System

6.1.3 ext3 and ext4 File Systems

6.2 Embedded File Systems

6.2.1 Overview

6.2.2 JFFS2 Embedded File System

6.3 Introduction to YAFFS and YAFFS2 File Systems

6.3.1 YAFFS File System

6.3.2 Introduction to YAFFS2 File System

6.4 Root File System

6.4.1 Overview of Root File System

6.4.2 Tools for Creating Root File System – BusyBox

6.4.3 Creation of YAFFS2 File System

6.5 Chapter Summary

Exercises

Chapter 7 Porting and Debugging Embedded Linux System

Micro-course video: 122 minutes, 8 episodes

7.1 Basic Concepts and Typical Structure of BootLoader

7.1.1 Basic Concepts of BootLoader

7.1.2 Operating Modes of BootLoader

7.1.3 Typical Structure of BootLoader

7.1.4 Common BootLoaders

7.2 U-Boot

7.2.1 Overview of U-Boot

7.2.2 General Process of U-Boot Startup

7.2.3 U-Boot Environment Variables

7.2.4 U-Boot Commands

7.3 Establishing Cross Development Environment

7.4 Cross Compilation Toolchain

7.4.1 Overview of Cross Compilation Toolchain

7.4.2 Methods for Building Toolchain

7.4.3 Main Tools of Cross Compilation Toolchain

7.4.4 Makefile

7.5 Porting Process of Embedded Linux System

7.5.1 Porting U-Boot

7.5.2 Configuration, Compilation, and Porting of Kernel

7.6 GDB Debugger

7.7 Remote Debugging

7.7.1 Composition of Remote Debugging Tools

7.7.2 Communication Protocol – RSP

7.7.3 Implementation Methods and Settings for Remote Debugging

7.7.4 Application Examples of Remote Debugging

7.8 Kernel Debugging

7.8.1 printk()

7.8.2 KDB

7.8.3 Kprobes

7.8.4 KGDB

7.9 Chapter Summary

Exercises

Chapter 8 Device Driver Design

Micro-course video: 65 minutes, 6 episodes

8.1 Overview of Device Driver Development

8.1.1 Classification of Linux Device Drivers

8.1.2 Processing Flow of Drivers

8.1.3 Framework of Device Drivers

8.1.4 Loading of Drivers

8.2 Kernel Device Model

8.2.1 Functions of Device Model

8.2.2 sysfs

8.2.3 Implementation Mechanism of sysfs kobject

8.2.4 Organization of Device Model – platform Bus

8.3 Character Device Driver Design Framework

8.3.1 Important Data Structures of Character Devices

8.3.2 Framework of Character Device Driver

8.4 Overview of GPIO Driver

8.4.1 Key Data Structures of gpiolib

8.4.2 Requesting and Registering GPIO

8.5 I2C Bus Driver Design

8.5.1 Overview of I2C Bus

8.5.2 I2C Driver Framework

8.5.3 Key Data Structures

8.5.4 Core Interface Functions of I2C

8.5.5 General Methods for I2C Device Driver

8.6 Overview of Block Device Driver Design

8.6.1 Overall Framework of Block Device Driver

8.6.2 Key Data Structures

8.6.3 Request Queue Operations of Block Devices

8.7 Embedded Network Device Driver Design

8.7.1 Framework of Network Device Driver

8.7.2 Key Data Structures of Network Device Driver

8.7.3 Overview of Network Device Driver Design Methods

8.7.4 Example of Network Device Driver – Analysis of DM9000 Network Card Driver

8.9 Chapter Summary

Exercises

Chapter 9 Basics of Qt Graphical User Interface Application Development

Micro-course video: 14 minutes, 2 episodes

9.1 Introduction to Qt

9.2 Overview of Qt 5

9.2.1 Introduction to Qt 5

9.2.2 Understanding the Components of Qt 5 through the “Help” Menu – Modules

9.2.3 Installation and Integration of Qt Development Environment under Linux

9.2.4 Functions and Features of Qt Creator

9.3 Signal and Slot Mechanism

9.4 Qt Programming

9.4.1 Hello World Program

9.4.2 Multi-window Applications

9.5 Qt Database Applications

9.5.1 Database Drivers

9.5.2 Connection between Qt and SQLite Database

9.5.3 SQL Model

9.6 Chapter Summary

Exercises

Chapter 10 SQLite Database

Micro-course video: 63 minutes, 6 episodes

10.1 Overview of SQLite Database

10.1.1 Overview of Embedded Database Based on Linux Platform

10.1.2 Characteristics of SQLite

10.1.3 Architecture of SQLite

10.2 Installation of SQLite

10.3 Common Commands of SQLite

10.4 Data Types of SQLite

10.5 API Functions of SQLite

10.5.1 Core C API Functions

10.5.2 Extended C API Functions

10.6 SQLite Database Management Tools

10.7 Chapter Summary

Exercises

Chapter 11 Case Studies in Embedded System Development and Design

Micro-course video: 32 minutes, 4 episodes

11.1 Introduction to Embedded System Design Methods

11.1.1 Traditional Embedded System Design Methods

11.1.2 Embedded System Design Methods based on the Concept of “Co-design”

11.2 Design Example of Embedded Web Server Based on ARM

11.2.1 System Environment Setup

11.2.2 Principle of Web Server

11.2.3 Design of Embedded Web Server

11.3 Design Example of IoT Gateway

11.3.1 Background Introduction – Overall Architecture of Environmental Monitoring System Platform

11.3.2 Hardware Design Scheme of Gateway Node

11.3.3 System Software Design

11.3.4 Database Construction

11.4 Design Example of Intelligent Unattended Laboratory Monitoring System

11.4.1 Overall Framework of the System

11.4.2 Student Course Selection Reservation

11.4.3 Access Control System

11.4.4 Network Topology and Routing Protocol of ZigBee Network

11.4.5 Use of Qt

11.5 Chapter Summary

References

Embedded System Design and Applications - Based on ARM Cortex-A8 and Linux (3rd Edition)

Purchase Link

Embedded System Design and Applications - Based on ARM Cortex-A8 and Linux (3rd Edition)

Teachers in related majors can apply for this book in the public account menu
Book Title: Embedded System Design and Applications – Based on ARM Cortex-A8 and Linux (3rd Edition) (Micro-course Video Version)
ISBN:9787302654735
Price: 69 Yuan

Lottery

(1) Follow the public account and forward this article to your Moments;
(2) Enter Lottery0511 in the public account dialog box, a lottery QR code will pop up (lottery ends at 20:00 on May 12);
(3) Click the link to enter the lottery, winners must fill in the mailing address on the day of the draw.

Embedded System Design and Applications - Based on ARM Cortex-A8 and Linux (3rd Edition)Embedded System Design and Applications - Based on ARM Cortex-A8 and Linux (3rd Edition)

Leave a Comment