
微信扫一扫,移动浏览光盘
简介
嵌入式系统是现代信息网络技术及物联网发展的重要技术平台,因此
成为目前国内各高校信息类专业的必修课。考虑到国内本专科院校使用ARM
实验开发设备和Linux嵌入式操作系统较多,因此本书主要围绕ARM硬件环
境和Linux软件环境编写而成。
康维新主编的《嵌入式Linux系统开发与应用》由ARM基本结构与开发
环境、Linux嵌入式操作系统基础与开发技术、嵌入式Linux综合设计项目
实例3部分内容构成,共7章。重点阐述了基于Linux操作系统的ARM应用系
统开发基础和技术应用,包括嵌入式系统开发与设计、系统主要设备的驱
动、图形界面的设计。较完整地阐述了基于Linux嵌入式系统在网络、智能
家居、消费电子等领域应用的成功案例,并提供了实用程序。
《嵌入式Linux系统开发与应用》着眼于嵌入式系统开发,内容完整,
案例具体、实用,可供本科生、研究生和工程技术人员的学习和参考。
本书配有免费电子课件,欢迎选用本书作教材的老师登录
www.cmpedu.com下载。
目录
前言
第1章 嵌入式系统概述 1
1.1 嵌入式系统的定义 1
1.1.1 嵌入式系统的组成和特点 2
1.1.2 嵌入式系统的发展历程及趋势 2
1.2 嵌入式系统的体系结构和分类 4
1.2.1 嵌入式系统的体系结构 4
1.2.2 嵌入式系统的分类 5
1.3 嵌入式微处理器 6
1.3.1 嵌入式微处理器的分类 6
1.3.2 ARM嵌入式处理器的内核和架构 6
1.3.3 ARM微处理器结构 14
1.3.4 ARM嵌入式处理器的特点及应用领域 15
1.3.5 嵌入式处理器的选型原则 15
1.4 嵌入式操作系统 16
1.4.1 操作系统的概念和分类 16
1.4.2 嵌入式Linux操作系统 16
1.4.3 Windows CE操作系统 17
1.4.4 μC/OS-II操作系统 19
1.4.5 Symbian操作系统 20
1.4.6 VxWorks操作系统 22
1.5 嵌入式系统的设计与开发 23
1.5.1 嵌入式系统的设计与开发流程 23
1.5.2 嵌入式系统的模拟仿真与调试 23
本章小结 25
习题与思考题 25
第2章 嵌入式Linux开发基础 26
2.1 Linux的基本操作 26
2.1.1 用户系统相关命令 26
2.1.2 文件目录相关命令 29
2.1.3 压缩打包相关命令 30
2.1.4 网络相关命令 31
2.1.5 重定向与管道 31
2.1.6 Linux帮助系统 32
2.2 Linux下C语言程序设计基础 32
2.2.1 VI的使用 33
2.2.2 GCC编译器 36
2.2.3 GDB调试器的使用 38
2.2.4 GNU make和makefile 42
2.3 Linux Shell编程 46
2.4 Linux进程控制编程 53
2.4.1 Linux进程概述 53
2.4.2 Linux进程编程 54
2.4.3 Linux进程通信 58
2.5 Linux下的多线程编程 74
2.5.1 线程概述 74
2.5.2 线程的基本操作 75
2.5.3 线程的访问控制 78
2.5.4 “生产者―消费者”实验 86
本章小结 88
习题与思考题 88
第3章 开发环境的建立 89
3.1 基于ARM9的博创2410s开发实验平台 89
3.2 ARM与宿主机的通信 90
3.2.1 串口通信 90
3.2.2 以太网接口 91
3.2.3 USB接口 92
3.2.4 JTAG接口 92
3.3 交叉编译环境的建立 92
3.3.1 宿主机环境搭建 93
3.3.2 交叉编译环境的建立 97
3.4 Boot Loader技术 99
3.4.1 初识Boot Loader工作原理 99
3.4.2 VIVI的代码分析与移植 103
3.4.3 U-Boot的分析与移植 106
3.5 ARM-Linux内核的编译与移植 113
3.5.1 Linux 内核版本与特点 113
3.5.2 Linux内核移植 115
3.6 根文件系统的建立与烧写 121
3.6.1 嵌入式Linux常用的文件系统 122
3.6.2 根文件系统的目录结构 125
3.6.3 定制系统文件 125
3.6.4 NFS文件系统的建立与使用 126
3.6.5 Samba服务的建立与使用 128
3.6.6 使用BusyBox构建根文件系统 133
3.7 建立嵌入式Linux应用程序 136
本章小结 139
习题与思考题 140
第4章 嵌入式Linux网络编程 141
4.1 TCP/IP概述 141
4.1.1 OSI参考模型与TCP/IP参考模型 141
4.1.2 TCP/IP协议族 142
4.1.3 TCP和UDP 143
4.2 网络编程基础 145
4.2.1 socket概述 145
4.2.2 socket的基本函数 150
4.3 socket应用程序设计 154
4.3.1 TCP编程实例 154
4.3.2 UDP编程实现 157
本章小结 159
习题与思考题 159
第5章 嵌入式设备驱动 160
5.1 Linux下设备驱动概述 160
5.1.1 设备的分类 160
5.1.2 设备文件 161
5.1.3 主设备号与次设备号 161
5.1.4 设备文件系统与系统文件系统 162
5.2 设备驱动程序的结构 163
5.3 字符设备驱动 166
5.4 LCD设备驱动 173
5.4.1 LCD工作原理 174
5.4.2 FrameBuffer机制简介 174
5.4.3 LCD驱动开发流程 175
5.5 块设备驱动 177
5.5.1 块设备驱动程序简介 177
5.5.2 块设备驱动程序工作原理 177
5.5.3 块设备驱动主要数据结构 178
5.5.4 块设备驱动编写流程 181
5.6 键盘驱动 182
5.6.1 键盘的分类 182
5.6.2 键盘工作原理 183
5.6.3 键盘驱动程序的实现 184
5.7 Linux网络驱动程序 187
5.7.1 网络设备概述 187
5.7.2 网络设备的加载方法 188
5.7.3 重要数据结构 190
5.7.4 网络设备的初始化 192
5.7.5 打开和关闭网络设备 192
5.7.6 发送过程的实现 192
5.7.7 接收过程的实现 193
5.7.8 中断控制 194
5.7.9 NE2000兼容网卡驱动程序的移植 195
5.8 触摸屏接口设计与Linux驱动编程 198
5.8.1 触摸屏接口概述 198
5.8.2 触摸屏驱动的体系接口 200
5.8.3 触摸屏的Linux驱动程序分析 201
5.8.4 触摸屏的测试与校准 207
本章小结 210
习题与思考题 210
第6章 Qt图形编程 211
6.1 嵌入式GUI简介 211
6.1.1 Qt/Embedded 211
6.1.2 MiniGUI 212
6.1.3 Microwindows 212
6.1.4 OpenGUI 213
6.1.5 常见GUI的参数比较 213
6.2 Qt/Embedded开发基础 214
6.2.1 Qt/Embedded介绍 214
6.2.2 Qt/Embedded的安装与环境变量设置 216
6.2.3 Qt/Embedded信号和插槽机制 217
6.2.4 QtDesigner的使用 221
6.2.5 Qt/Embedded窗口实例 222
6.3 基于Qt技术的Qtopia 225
6.3.1 基于Qt技术的Qtopia系统平台 226
6.3.2 Qtopia介绍及其开发环境的建立 226
6.3.3 Qt/Embedded和Qtopia下应用程序的实现 228
6.4 Qt编程综合实验 231
6.4.1 基于PC的“Hello World”程序 232
6.4.2 发布Qt/Embedded程序到目标板 239
本章小结 241
习题与思考题 241
第7章 嵌入式Linux综合设计项目实例 242
7.1 网络视频监控系统 242
7.2 车载信息娱乐系统 244
7.2.1 实例说明 244
7.2.2 设计思路分析 245
7.2.3 硬件电路设计 246
7.2.4 软件设计 248
7.3 基于嵌入式平台的电梯监控系统 251
7.3.1 系统概述 251
7.3.2 系统设计 253
7.3.3 系统实现 256
7.4 无线点菜系统 266
7.4.1 设计思路分析 266
7.4.2 系统硬件设计 267
7.4.3 系统软件设计 267
7.4.4 总结 278
7.5 基于嵌入式与Web Service的智能家居系统 278
7.5.1 系统概述 278
7.5.2 系统设计 280
7.5.3 系统实现 296
附录 309
附录A S3C2410X引脚及信号定义 309
附录B 国外高校嵌入式系统课程的体系结构 323
参考文献 327
第1章 嵌入式系统概述 1
1.1 嵌入式系统的定义 1
1.1.1 嵌入式系统的组成和特点 2
1.1.2 嵌入式系统的发展历程及趋势 2
1.2 嵌入式系统的体系结构和分类 4
1.2.1 嵌入式系统的体系结构 4
1.2.2 嵌入式系统的分类 5
1.3 嵌入式微处理器 6
1.3.1 嵌入式微处理器的分类 6
1.3.2 ARM嵌入式处理器的内核和架构 6
1.3.3 ARM微处理器结构 14
1.3.4 ARM嵌入式处理器的特点及应用领域 15
1.3.5 嵌入式处理器的选型原则 15
1.4 嵌入式操作系统 16
1.4.1 操作系统的概念和分类 16
1.4.2 嵌入式Linux操作系统 16
1.4.3 Windows CE操作系统 17
1.4.4 μC/OS-II操作系统 19
1.4.5 Symbian操作系统 20
1.4.6 VxWorks操作系统 22
1.5 嵌入式系统的设计与开发 23
1.5.1 嵌入式系统的设计与开发流程 23
1.5.2 嵌入式系统的模拟仿真与调试 23
本章小结 25
习题与思考题 25
第2章 嵌入式Linux开发基础 26
2.1 Linux的基本操作 26
2.1.1 用户系统相关命令 26
2.1.2 文件目录相关命令 29
2.1.3 压缩打包相关命令 30
2.1.4 网络相关命令 31
2.1.5 重定向与管道 31
2.1.6 Linux帮助系统 32
2.2 Linux下C语言程序设计基础 32
2.2.1 VI的使用 33
2.2.2 GCC编译器 36
2.2.3 GDB调试器的使用 38
2.2.4 GNU make和makefile 42
2.3 Linux Shell编程 46
2.4 Linux进程控制编程 53
2.4.1 Linux进程概述 53
2.4.2 Linux进程编程 54
2.4.3 Linux进程通信 58
2.5 Linux下的多线程编程 74
2.5.1 线程概述 74
2.5.2 线程的基本操作 75
2.5.3 线程的访问控制 78
2.5.4 “生产者―消费者”实验 86
本章小结 88
习题与思考题 88
第3章 开发环境的建立 89
3.1 基于ARM9的博创2410s开发实验平台 89
3.2 ARM与宿主机的通信 90
3.2.1 串口通信 90
3.2.2 以太网接口 91
3.2.3 USB接口 92
3.2.4 JTAG接口 92
3.3 交叉编译环境的建立 92
3.3.1 宿主机环境搭建 93
3.3.2 交叉编译环境的建立 97
3.4 Boot Loader技术 99
3.4.1 初识Boot Loader工作原理 99
3.4.2 VIVI的代码分析与移植 103
3.4.3 U-Boot的分析与移植 106
3.5 ARM-Linux内核的编译与移植 113
3.5.1 Linux 内核版本与特点 113
3.5.2 Linux内核移植 115
3.6 根文件系统的建立与烧写 121
3.6.1 嵌入式Linux常用的文件系统 122
3.6.2 根文件系统的目录结构 125
3.6.3 定制系统文件 125
3.6.4 NFS文件系统的建立与使用 126
3.6.5 Samba服务的建立与使用 128
3.6.6 使用BusyBox构建根文件系统 133
3.7 建立嵌入式Linux应用程序 136
本章小结 139
习题与思考题 140
第4章 嵌入式Linux网络编程 141
4.1 TCP/IP概述 141
4.1.1 OSI参考模型与TCP/IP参考模型 141
4.1.2 TCP/IP协议族 142
4.1.3 TCP和UDP 143
4.2 网络编程基础 145
4.2.1 socket概述 145
4.2.2 socket的基本函数 150
4.3 socket应用程序设计 154
4.3.1 TCP编程实例 154
4.3.2 UDP编程实现 157
本章小结 159
习题与思考题 159
第5章 嵌入式设备驱动 160
5.1 Linux下设备驱动概述 160
5.1.1 设备的分类 160
5.1.2 设备文件 161
5.1.3 主设备号与次设备号 161
5.1.4 设备文件系统与系统文件系统 162
5.2 设备驱动程序的结构 163
5.3 字符设备驱动 166
5.4 LCD设备驱动 173
5.4.1 LCD工作原理 174
5.4.2 FrameBuffer机制简介 174
5.4.3 LCD驱动开发流程 175
5.5 块设备驱动 177
5.5.1 块设备驱动程序简介 177
5.5.2 块设备驱动程序工作原理 177
5.5.3 块设备驱动主要数据结构 178
5.5.4 块设备驱动编写流程 181
5.6 键盘驱动 182
5.6.1 键盘的分类 182
5.6.2 键盘工作原理 183
5.6.3 键盘驱动程序的实现 184
5.7 Linux网络驱动程序 187
5.7.1 网络设备概述 187
5.7.2 网络设备的加载方法 188
5.7.3 重要数据结构 190
5.7.4 网络设备的初始化 192
5.7.5 打开和关闭网络设备 192
5.7.6 发送过程的实现 192
5.7.7 接收过程的实现 193
5.7.8 中断控制 194
5.7.9 NE2000兼容网卡驱动程序的移植 195
5.8 触摸屏接口设计与Linux驱动编程 198
5.8.1 触摸屏接口概述 198
5.8.2 触摸屏驱动的体系接口 200
5.8.3 触摸屏的Linux驱动程序分析 201
5.8.4 触摸屏的测试与校准 207
本章小结 210
习题与思考题 210
第6章 Qt图形编程 211
6.1 嵌入式GUI简介 211
6.1.1 Qt/Embedded 211
6.1.2 MiniGUI 212
6.1.3 Microwindows 212
6.1.4 OpenGUI 213
6.1.5 常见GUI的参数比较 213
6.2 Qt/Embedded开发基础 214
6.2.1 Qt/Embedded介绍 214
6.2.2 Qt/Embedded的安装与环境变量设置 216
6.2.3 Qt/Embedded信号和插槽机制 217
6.2.4 QtDesigner的使用 221
6.2.5 Qt/Embedded窗口实例 222
6.3 基于Qt技术的Qtopia 225
6.3.1 基于Qt技术的Qtopia系统平台 226
6.3.2 Qtopia介绍及其开发环境的建立 226
6.3.3 Qt/Embedded和Qtopia下应用程序的实现 228
6.4 Qt编程综合实验 231
6.4.1 基于PC的“Hello World”程序 232
6.4.2 发布Qt/Embedded程序到目标板 239
本章小结 241
习题与思考题 241
第7章 嵌入式Linux综合设计项目实例 242
7.1 网络视频监控系统 242
7.2 车载信息娱乐系统 244
7.2.1 实例说明 244
7.2.2 设计思路分析 245
7.2.3 硬件电路设计 246
7.2.4 软件设计 248
7.3 基于嵌入式平台的电梯监控系统 251
7.3.1 系统概述 251
7.3.2 系统设计 253
7.3.3 系统实现 256
7.4 无线点菜系统 266
7.4.1 设计思路分析 266
7.4.2 系统硬件设计 267
7.4.3 系统软件设计 267
7.4.4 总结 278
7.5 基于嵌入式与Web Service的智能家居系统 278
7.5.1 系统概述 278
7.5.2 系统设计 280
7.5.3 系统实现 296
附录 309
附录A S3C2410X引脚及信号定义 309
附录B 国外高校嵌入式系统课程的体系结构 323
参考文献 327
嵌入式Linux系统开发与应用
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
