《嵌入式Linux系统设计与开发》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:黎燕霞主编;刘光壮,刘奕宏,刘仲明副主编
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2016
  • ISBN:9787121282041
  • 页数:233 页
图书介绍:本书首先介绍嵌入式系统的基本概念,包括软硬件环境,介绍了嵌入式Linux开发环境的构建和Linux开发的基础知识,然后以项目的形式分别介绍ARM的裸机开发、嵌入式Linux系统制作、字符型设备驱动程序设计、嵌入式数据库SQLite的移植、嵌入式Web服务器BOA的移植和嵌入式GUI程序设计。

基础知识篇 1

第1章 嵌入式系统入门 1

1.1 嵌入式系统的概念 1

1.2 嵌入式系统的应用领域 2

1.3 嵌入式系统的发展 3

1.3.1 嵌入式系统硬件平台的发展 4

1.3.2 嵌入式系统软件平台的发展 6

1.4 典型的嵌入式系统组成 6

1.5 ARM处理器 7

1.5.1 ARM处理器介绍 7

1.5.2 ARM处理器的应用领域 8

1.5.3 ARM处理器的特点 8

1.5.4 ARM的功能选型 8

1.6 嵌入式Linux 11

1.6.1 常见的嵌入式操作系统 11

1.6.2 嵌入式Linux操作系统 13

本章小结 15

第2章 嵌入式Linux开发环境构建 16

2.1 虚拟机及Linux安装 16

2.1.1 虚拟机VMware Workstation软件介绍 16

2.1.2 安装Linux操作系统Ubuntu 12.04 16

2.1.3 设置Ubuntu的root账号 24

2.1.4 修改Ubuntu的默认图形界面 25

2.1.5 修改Linux系统中的计算机名称 26

2.2 安装VMware Tools 26

2.3 虚拟机与主机共享文件 28

2.4 安装配置minicom 29

2.5 配置超级终端 32

2.6 NFS挂载 34

2.7 交叉编译器的安装 35

2.7.1 交叉编译器的定义 35

2.7.2 交叉编译环境搭建 35

本章小结 36

第3章 Linux基础 37

3.1 Linux基础知识 37

3.1.1 Linux文件 37

3.1.2 Linux文件系统 38

3.1.3 Linux目录 39

3.2 Linux常用命令 40

3.2.1 文件相关命令 40

3.2.2 系统相关命令 45

3.2.3 网络相关命令 47

3.2.4 压缩打包相关命令 48

3.2.5 其他命令 49

3.3 vi编辑器的使用 50

3.3.1 vi编辑器的模式 50

3.3.2 vi编辑器使用的基本流程 51

3.3.3 vi各模式的功能键 52

3.4 gcc编译器的使用 53

3.4.1 gcc编译流程 53

3.4.2 gcc编译选项 54

3.5 gdb调试器的使用 56

3.5.1 gdb使用流程 56

3.5.2 gdb基本命令 59

3.6 arm-linux-gcc交叉编译器的使用 63

3.7 make工程管理器与makefile文件 63

3.7.1 了解makefile文档 64

3.7.2 编写makefile 64

3.7.3 makefile的五部分 68

3.7.4 make管理器的使用 71

本章小结 72

项目操作篇 73

第4章 裸机开发 73

4.1 概述 73

4.2 建立Linux开发环境 73

4.3 S5PV210介绍 75

4.3.1 S5PV210简介 75

4.3.2 S5PV210内存空间 76

4.3.3 S5PV210特殊功能寄存器 77

4.4 ARM常用指令集 79

4.4.1 ARM寻址方式 79

4.4.2 ARM指令集 80

4.5 裸机程序编程步骤 88

4.6 编程实现点亮LED 89

4.7 调用C函数 93

4.8 编程实现按键查询点亮LED 95

4.9 串口通信 99

本章小结 107

第5章 嵌入式Linux的系统制作 108

5.1 编译Bootloader 108

5.1.1 U-Boot简介 109

5.1.2 编译U-Boot 110

5.2 编译Linux内核 110

5.2.1 Linux内核简介 110

5.2.2 内核编译 110

5.3 制作嵌入式Linux根文件系统 112

5.3.1 根文件系统类型 112

5.3.2 制作简单yaffs根文件系统 113

5.4 使用Fastboot烧写Linux系统镜像 118

本章小结 121

第6章 字符型设备驱动程序设计 122

6.1 设备驱动介绍 122

6.2 Linux内核模块 123

6.2.1 内核模块的特点 123

6.2.2 模块与内核的接口函数 123

6.2.3 操作模块相关的命令 123

6.3 Linux设备驱动 124

6.4 硬件接口、驱动程序、设备文件、应用程序的关系 125

6.5 简单的字符设备驱动开发 126

6.6 驱动程序中编写ioctl函数供应用程序调用 129

6.7 驱动程序与应用程序之间的数据交换 134

6.8 GPIO接口控制LED灯 138

6.9 GPIO接口控制按键 143

本章小结 151

第7章 嵌入式数据库SQLite移植 152

7.1 SQLite支持的SQL语言 152

7.1.1 数据定义语句 152

7.1.2 数据操作语句 153

7.2 SQLite数据库编译、安装和使用 153

7.2.1 安装SQLite 154

7.2.2 利用SQL语句操作SQLite数据库 154

7.2.3 利用C接口访问SQLite数据库 155

7.3 移植SQLite 157

7.3.1 交叉编译SQLite 158

7.3.2 测试已移植的SQLite3 158

7.3.3 交叉编译应用程序 160

本章小结 160

第8章 嵌入式Web服务器BOA移植 161

8.1 BOA概述 161

8.1.1 BOA的功能 161

8.1.2 BOA的流程分析 162

8.1.3 BOA的配置信息 167

8.2 BOA的编译和移植 168

8.2.1 交叉编译BOA 168

8.2.2 设置BOA配置信息 170

8.2.3 BOA移植 171

8.3 HTML页面测试 171

8.4 CGI脚本测试 172

8.5 HTML和CGI传参测试 173

8.6 网页控制LED 178

8.7 BOA与SQLite结合 181

8.7.1 通过CGI程序访问SQLite 181

8.7.2 编译和测试 183

本章小结 184

第9章 基于Qt的嵌入式GUI程序设计 185

9.1 嵌入式GUI简介 185

9.1.1 嵌入式GUI的特点 185

9.1.2 常用的嵌入式GUI图形系统 185

9.1.3 Qt/E概述 187

9.2 Qt/E开发环境的搭建 187

9.2.1 移植JPEG库 187

9.2.2 移植tslib 188

9.2.3 交叉编译qt-embedded库 189

9.2.4 修改profile文件添加环境变量 190

9.3 创建简单的Qt工程HelloWorld 190

9.3.1 使用Qt Creator创建HelloWorld程序 190

9.3.2 编译HelloWorld工程 194

9.4 用纯源码编写Qt工程 202

9.4.1 C++基础 202

9.4.2 变量、数据类型 203

9.4.3 C++的类、继承、构造函数、析构函数 206

9.4.4 用纯源码编写Qt工程 211

9.5 登录界面程序设计 215

9.5.1 信号与槽概述 215

9.5.2 建立信号与槽的关联 218

9.5.3 登录界面程序设计 219

9.6 LED图形界面控制程序设计 224

本章小结 231

参考文献 232