《ARM嵌入式应用技术与实践》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:张平均,欧忠良,黄家善等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2019
  • ISBN:9787111615231
  • 页数:272 页
图书介绍:本书以S3C2440嵌入式处理器为核心,介绍嵌入式系统的原理与结构、Linux驱动及编程基础、嵌入式系统开发环境的搭建、嵌入式系统开发和调试工具、嵌入式Linux系统的驱动及应用程序设计、SQLite数据库的嵌入式应用及实例开发。本书内容具有系统性与实用性相结合的特点,在注重嵌入式系统软件与硬件知识的讲解的同时,加强了对Linux系统的应用基础与开发技术的介绍,也兼顾了Linux系统在GUI和数据库等方面的应用。

第1章 嵌入式系统概述 1

1.1嵌入式系统的基本概念 1

1.1.1嵌入式系统的定义 1

1.1.2嵌入式系统的体系结构 2

1.1.3嵌入式系统的应用 3

1.1.4嵌入式系统的发展 3

1.2嵌入式处理器 4

1.2.1 ARM微处理器概述 4

1.2.2 ARM微处理器系列 5

1.3嵌入式操作系统 8

1.3.1嵌入式操作系统的发展 8

1.3.2嵌入式操作系统的分类 8

1.4嵌入式系统开发的基本流程 9

1.4.1硬件开发流程 10

1.4.2软件开发流程 11

本章小结 11

习题与思考题 12

第2章 Linux应用及编程基础 13

2.1 Linux概述 13

2.1.1 Linux的基本特性 13

2.1.2 Linux的版本 14

2.1.3 Linux的内核架构 15

2.1.4 Linux软件层次结构 16

2.2 Linux的常用命令 17

2.2.1基本操作类命令 18

2.2.2文件系统类命令 21

2.2.3进程控制类命令 25

2.2.4网络管理类命令 26

2.2.5模块操作类命令 27

2.3 Linux下的程序开发工具应用基础 28

2.3.1编辑器 28

2.3.2 GCC编译器 29

2.3.3 GDB调试器 31

2.4 Linux程序编译基础 34

2.4.1 Makefile文件 34

2.4.2 Make工具及其应用 42

本章小结 45

习题与思考题 45

第3章 嵌入式Linux开发环境的构建 46

3.1 Linux环境下的嵌入式系统开发模式 46

3.2嵌入式Linux交叉编译环境的搭建 47

3.2.1宿主机交叉编译工具的配置 47

3.2.2宿主机串口工具的配置与使用 48

3.2.3 NFS安装、配置与测试 52

3.2.4 TFTP安装、配置与测试 53

3.3 UBoot 54

3.3.1 BootLoader简介 54

3.3.2 UBoot代码分析 55

3.3.3 UBoot的移植 59

3.4嵌入式Linux内核的配置编译与移植 65

3.4.1 Linux内核的源代码结构 66

3.4.2 Linux内核中的Kconfig和Makefile文件 67

3.4.3嵌入式Linux内核的配置 69

3.4.4嵌入式Linux内核的编译以及烧写 73

3.5嵌入式Linux根文件系统的构建与移植 74

3.5.1 Linux支持的文件系统 74

3.5.2根文件系统的基础 76

3.5.3 BusyBox的配置与编译 77

3.5.4制作YAFFS2根文件系统镜像 81

本章小结 84

习题与思考题 84

第4章 嵌入式Linux的设备驱动开发基础 85

4.1 Linux设备管理基础 85

4.1.1 Linux设备分类 86

4.1.2 Linux设备文件 86

4.1.3 Linux模块与设备管理 88

4.1.4模块的自动加载 88

4.2 Linux模块化程序的代码结构 88

4.3 Linux字符设备驱动程序 93

4.3.1设备驱动程序框架 94

4.3.2 Linux下设备驱动的数据结构 96

4.3.3 Linux下设备驱动的调用函数 100

4.4 Linux设备驱动的相关技术 101

4.4.1 Linux设备驱动的并发控制 101

4.4.2 Linux设备驱动中的阻塞和非阻塞 104

4.4.3 Linux设备驱动中的异步通知 108

4.5 Linux设备驱动程序的静态编译到内核 109

4.6 Linux设备驱动程序模块的加/卸载 111

4.7 Linux字符设备驱动测试程序代码 113

本章小结 114

习题与思考题 114

第5章 基于S3C2440的嵌入式Linux驱动程序开发 115

5.1 S3C2440的体系结构简介 115

5.2 ARM920T处理器的编程基础 117

5.2.1 ARM9微处理器的工作模式 117

5.2.2 ARM9微处理器的寄存器组织 117

5.2.3 ARM9的存储方式 119

5.2.4 ARM处理器的异常处理 119

5.2.5 S3C2440的存储管理 120

5.2.6 S3C2440的启动过程 122

5.3 S3C2440的GPIO驱动编程 124

5.3.1 S3C2440的GPIO硬件基础 124

5.3.2 S3C2440的GPIO寄存器 125

5.3.3 S3C2440的GPIO驱动程序 126

5.4 S3C2440中断方式的驱动编程 129

5.4.1中断原理 129

5.4.2 S3C2440的中断机制 130

5.4.3 S3C2440的中断寄存器 135

5.4.4 Linux中断相关的API 139

5.4.5 S3C2440的中断程序 140

5.5 S3C2440的串口驱动编程 145

5.5.1 S3C2440的串口通信基础 146

5.5.2 S3C2440的串口驱动编程寄存器 148

5.5.3 S3C2440的串口驱动代码 155

5.6 S3C2440的ADC和触摸屏驱动编程 159

5.6.1 S3C2440的ADC寄存器 159

5.6.2 S3C2440的ADC驱动程序设计 161

5.6.3 S3C2440的触摸屏驱动基础 167

5.6.4 S3C2440的触摸屏寄存器 169

5.6.5 S3C2440的触摸屏程序 170

本章小结 177

习题与思考题 177

第6章 嵌入式Linux系统的Qt编程 178

6.1嵌入式Linux的GUI简介 178

6.2 Qt/Qt/Embedded概述 180

6.2.1 Qt体系架构 180

6.2.2 Qt/Embedded 181

6.2.3 Qtopia 182

6.3 Qt/Embedded程序开发基础 183

6.3.1 Qt对象模型 183

6.3.2 Qt信号与槽 184

6.3.3 Qt/Embedded事件 192

6.3.4 Qt类库基础 197

6.4 Qt的安装与移植 198

6.4.1 Qt的安装 198

6.4.2 Qt4.7.0的移植 200

6.5 Qt编程实例 202

本章小结 209

习题与思考题 209

第7章 SQLite数据库的嵌入式应用 210

7.1数据库概述 210

7.2主流的嵌入式数据库 211

7.3 SQLite应用设计基础 213

7.3.1 SQLite数据类型 213

7.3.2 SQLite“点”命令 213

7.3.3 SQL数据库操作语言 215

7.3.4事务与锁 223

7.4 SQLite3数据库编程API 224

7.4.1 SQLite3 API接口 224

7.4.2 API实例分析 226

本章小结 234

习题与思考题 234

第8章 嵌入式系统应用开发实例 235

8.1停车场管理系统数据库开发 235

8.1.1停车场管理系统简介 235

8.1.2系统总体设计 235

8.1.3数据库模块设计 236

8.1.4系统核心代码及执行 241

8.2贪吃蛇游戏 242

8.2.1游戏功能设计 243

8.2.2游戏界面设计 243

8.2.3 mainWidget类设计 245

8.2.4 gameWidget类设计 247

8.2.5游戏运行 255

8.3 GPS导航系统 256

8.3.1 GPS导航系统设计 257

8.3.2定位与导航 258

8.3.3系统关键功能设计 258

8.3.4 GPS导航系统实现 262

8.4 UPHONE无线商话系统 263

8.4.1 UPHONE无线商话系统设计 264

8.4.2系统模块设计 267

8.4.3系统实现 270

本章小结 271

习题与思考题 271

参考文献 272