《嵌入式软件开发》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:陈文智主编;王总辉,胡威编
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2015
  • ISBN:9787040419481
  • 页数:248 页
图书介绍:本书从教学的角度出发,讲解嵌入式软件开发的基本知识、方法和技术,使读者了解嵌入式软件的组成要素与结构,掌握嵌入式软件开发的思想和方法,掌握嵌入式软件开发的过程和技巧,熟练使用相关嵌入式软件开发工具,具备初步分析问题和解决问题的能力。内容包括:嵌入式软件开发概述,嵌入式软件开发环境,嵌入式软件编程,嵌入式软件调试,Boot Loader程序设计,嵌入式系统级软件设计(包含嵌入式操作系统内核设计、嵌入式文件系统设计、嵌入式驱动程序设计和嵌入式数据库设计),嵌入式GUI及应用程序设计,嵌入式程序代码优化,嵌入式软件测试,以及嵌入式应用程序创新设计。本书兼顾教学、科研和工程开发的需要,对于广大高等院校高年级学生和研究生而言,是一本学习嵌入式软件开发的教科书;对于从事嵌入式软件开发工程技术人员来说,则是一本实用的参考书。

第1章 嵌入式软件开发概述 1

1.1 嵌入式系统概述 2

1.1.1 嵌入式系统的历史与现状 2

1.1.2 嵌入式系统的特点 3

1.1.3 应用领域和发展方向 4

1.2 嵌入式软件的组成与特点 5

1.2.1 嵌入式软件体系结构 5

1.2.2 嵌入式软件分类 5

1.2.3 嵌入式软件的基本特点 6

1.3 嵌入式软件的发展趋势 6

1.3.1 技术发展趋势 6

1.3.2 市场发展趋势 7

1.4 嵌入式软件开发流程 7

1.4.1 嵌入式软件开发流程概述 7

1.4.2 嵌入式软件的开发步骤 8

1.5 嵌入式软件的开发管理 10

1.5.1 组织管理 10

1.5.2 质量管理 10

1.5.3 配置管理 12

1.5.4 文档管理 12

1.6 实验1:建立开发团队和制定管理规范 13

1.7 小结与进一步探索 14

1.7.1 小结 14

1.7.2 进一步探索 14

第2章 嵌入式软件开发环境 15

2.1 嵌入式软件开发模式 16

2.1.1 嵌入式软件开发特点 16

2.1.2 嵌入式软件开发模式概述 16

2.2 宿主机环境 17

2.2.1 串口终端 17

2.2. 2 BOOTP协议 18

2.2.3 TFTP协议 18

2.2.4 交叉编译 18

2.3 目标机环境 19

2.3.1 JTAG接口简介 19

2.3.2 Boot Loader简介 19

2.4 交叉编译工具链 19

2.4.1 交叉编译工具链的构建 20

2.4.2 相关工具介绍 20

2.5 实验2:开发环境构建 23

2.6 小结与进一步探索 27

2.6.1 小结 27

2.6.2 进一步探索 27

第3章 嵌入式软件编程 28

3.1 嵌入式编程基础 29

3.1.1 嵌入式汇编语言基础 29

3.1.2 嵌入式高级编程知识 34

3.1.3 嵌入式开发工程 35

3.2 嵌入式汇编编程技术 38

3.2.1 基本语法 38

3.2.2 汇编语言程序设计案例 41

3.3 嵌入式高级编程技术 43

3.3.1 函数可重入 43

3.3.2 中断处理过程 44

3.4 高级语言与汇编语言混合编程 44

3.4.1 高级语言与汇编语言混合编程概述 44

3.4.2 汇编语言程序调用C语言程序 45

3.4.3 C语言程序调用汇编程序 46

3.5 实验3:嵌入式软件编程技术 47

3.6 小结与进一步探索 51

3.6.1 小结 51

3.6.2 进一步探索 51

第4章 嵌入式软件调试 52

4.1 GDB调试器 53

4.1.1 GDB简介 53

4.1.2 GDB使用方法 53

4.2 远程调试 56

4.2.1 远程调试原理 56

4.2.2 GDB远程调试 58

4.2.3 使用gdbserver 59

4.3 内核调试 61

4.3.1 内核调试技术 62

4.3.2 KGDB内核调试 64

4.4 网络调试 64

4.4.1 socket编程简介 64

4.4.2 网络调试工具tcpdump 65

4.5 典型嵌入式集成开发环境 67

4.5.1 CCS简介 67

4.5.2 项目构建 68

4.5.3 调试工具 69

4.6 实验4:调试技术演练 69

4.7 小结与进一步探索 75

4.7.1 小结 75

4.7.2 进一步探索 75

第5章 Boot Loader程序设计 76

5.1 Boot Loader基础知识 77

5.1.1 硬件环境 77

5.1.2 安装地址 77

5.1.3 通信接口 77

5.1.4 启动过程 77

5.1.5 操作模式 77

5.1.6 文件传输接口与协议 78

5.2 Boot Loader典型结构 78

5.2.1 阶段1 79

5.2.2 阶段2 80

5.2.3 串口终端 87

5.3 Boot Loader基本设计 87

5.3.1 Boot Loader设计概述 87

5.3.2 U-Boot代码分析 88

5.4 实验5:设计与实现Boot Loader 89

5.5 小结与进一步探索 93

5.5.1 小结 93

5.5.2 进一步探索 93

第6章 嵌入式系统级软件设计 94

6.1 嵌入式操作系统内核设计 95

6.1.1 ARM-Linux内核简介 95

6.1.2 ARM-Linux内存管理 95

6.1.3 ARM-Linux进程管理和调度 98

6.1.4 ARM-Linux模块机制 99

6.1.5 ARM-Linux中断管理 100

6.1.6 ARM-Linux系统调用 103

6.1.7 ARM-Linux系统启动和初始化 104

6.2 嵌入式文件系统设计 106

6.2.1 嵌入式文件系统介绍 107

6.2.2 嵌入式Linux文件系统框架 108

6.2.3 本地文件系统 110

6.2.4 网络文件系统 111

6.2.5 根文件系统设计 113

6.3 嵌入式驱动程序设计 114

6.3.1 Linux驱动程序简介 114

6.3.2 Linux驱动相关内核机制 116

6.3.3 Linux字符设备及驱动程序设计 120

6.3.4 块设备和驱动程序设计 125

6.3.5 网络设备驱动程序开发 129

6.4 嵌入式数据库设计 133

6.4.1 嵌入式数据库概述 133

6.4.2 嵌入式数据库体系结构 135

6.4.3 嵌入式数据库基本设计 137

6.4.4 嵌入式数据库应用设计 142

6.5 实验6:嵌入式操作系统内核与驱动程序 146

6.6 小结与进一步探索 176

6.6.1 小结 176

6.6.2 进一步探索 176

第7章 嵌入式GUI及应用程序设计 177

7.1 嵌入式GUI设计概述 178

7.1.1 嵌入式GUI简介 178

7.1.2 嵌入式GUI设计需求 178

7.1.3 嵌入式GUI设计原则 179

7.1.4 主流嵌入式GUI简介 179

7.2 嵌入式GUI体系结构设计 181

7.2.1 嵌入式GUI体系结构 181

7.2.2 抽象层 181

7.2.3 核心层 182

7.2.4 接口层 183

7.3 基于主流GUI的应用程序设计 183

7.3.1 MiniGUI开发环境搭建 183

7.3.2 基于MiniGUI的应用程序设计 186

7.3.3 Android开发环境搭建 190

7.3.4 基于Android的应用程序设计 192

7.4 实验7:嵌入式GUI应用设计 197

7.5 小结与进一步探索 202

7.5.1 小结 202

7.5.2 进一步探索 202

第8章 嵌入式程序代码优化 203

8.1 嵌入式程序代码优化概述 204

8.2 提高代码效率 204

8.2.1 C语言数据类型优化 204

8.2.2 循环结构优化 205

8.2.3 运算优化 207

8.2.4 内联函数和内嵌汇编优化 209

8.2.5 利用硬件特性 210

8.2.6 其他代码优化技术 210

8.3 减少代码尺寸 212

8.4 有效使用内存 213

8.4.1 合理使用堆与栈 213

8.4.2 防止内存泄露 214

8.5 降低代码能耗 214

8.5.1 寻找和分析程序热点的方法 214

8.5.2 热点与性能分析工具介绍 215

8.5.3 代码运行性能优化 216

8.6 实验8:嵌入式程序代码优化 217

8.7 小结与进一步探索 224

8.7.1 小结 224

8.7.2 进一步探索 224

第9章 嵌入式软件测试 225

9.1 嵌入式软件测试基础 226

9.1.1 嵌入式软件测试简介 226

9.1.2 嵌入式软件测试的特点 226

9.1.3 嵌入式软件测试的目的与原则 226

9.1.4 嵌入式软件测试技术 227

9.1.5 嵌入式软件测试分类 228

9.2 嵌入式软件测试技术 228

9.2.1 静态测试技术 228

9.2.2 白盒测试技术 229

9.2.3 黑盒测试技术 231

9.3 测试与分析工具 232

9.3.1 概述 232

9.3.2 静态测试工具 233

9.3.3 白盒测试工具 234

9.3.4 黑盒测试工具 234

9.3.5 测试管理工具 234

9.3.6 专项测试与分析工具 234

9.4 实验9:嵌入式软件测试 235

9.5 小结与进一步探索 241

9.5.1 小结 241

9.5.2 进一步探索 241

第10章 嵌入式应用程序创新设计 242

10.1 设计任务 243

10.2 设计过程 244

10.3 小结与进一步探索 246

10.3.1 小结 246

10.3.2 进一步探索 246

参考文献 247