当前位置:首页 > 工业技术
基于项目驱动的嵌入式Linux应用设计开发
基于项目驱动的嵌入式Linux应用设计开发

基于项目驱动的嵌入式Linux应用设计开发PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:刘志强主编;王晓强,庄旭菲,李文静副主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:9787302435624
  • 页数:441 页
图书介绍:针对嵌入式Linux应用设计开发实践性强的特点,本书以项目(数据采集显示系统)驱动的方式展开阐述。第一部分:嵌入式软硬件平台搭建。第二部分:嵌入式Linux应用开发
《基于项目驱动的嵌入式Linux应用设计开发》目录

第1章 嵌入式系统概述及项目分析 1

1.1 嵌入式Linux系统概述 1

1.1.1 嵌入式Linux简介 1

1.1.2 嵌入式系统中使用Linux的优势 1

1.2 农业信息采集控制系统总体分析设计 2

1.2.1 农业信息采集控制系统介绍 2

1.2.2 农业信息采集控制系统硬件设计 3

1.2.3 农业信息采集控制系统软件设计 9

习题1 11

第2章 嵌入式Linux开发环境 12

2.1 项目目标 12

2.2 Linux Shell与常用命令 12

2.2.1 Linux Shell简介 12

2.2.2 Linux常用命令与使用 14

2.3 Linux文本编辑器vi 37

2.3.1 vi编辑器简介 37

2.3.2 vi的操作模式 38

2.3.3 命令模式命令 39

2.3.4 底行模式命令 40

2.4 Shell脚本编程 41

2.4.1 Shell脚本的建立与执行 41

2.4.2 变量 41

2.4.3 命令的执行顺序 44

2.4.4 命令替换 45

2.4.5 算术运算 45

2.4.6 Shell特殊字符 46

2.4.7 位置参数 47

2.4.8 条件测试 48

2.4.9 控制流结构 50

2.5 嵌入式Linux开发工具 56

2.5.1 编译工具gcc 56

2.5.2 工程管理Makefile 62

2.5.3 调试工具gdb 66

2.5.4 交叉编译工具链 70

2.6 嵌入式Linux开发环境搭建 71

2.6.1 安装Linux操作系统 71

2.6.2 超级终端minicom 89

2.6.3 网络文件系统NFS 90

2.6.4 简单文件传输协议TFTP 92

2.6.5 安装交叉编译工具 94

习题2 96

第3章 嵌入式Linux系统移植 97

3.1 项目目标 97

3.2 Bootloader移植 97

3.2.1 Bootloader简介 97

3.2.2 Bootloader启动流程 98

3.2.3 Bootloader的工作模式 98

3.2.4 常用Bootloader介绍 99

3.2.5 U-Boot工程简介 100

3.2.6 U-Boot源码结构 100

3.2.7 U-Boot的编译 101

3.2.8 U-Boot的移植 104

3.2.9 U-Boot的使用 112

3.3 嵌入式Linux内核移植 113

3.3.1 Linux内核结构 113

3.3.2 Linux内核配置 116

3.3.3 嵌入式Linux内核移植 123

3.4 嵌入式Linux文件系统移植 136

3.4.1 Linux文件系统介绍 136

3.4.2 常见的嵌入式文件系统 138

3.4.3 嵌入式系统存储设备及其管理机制 140

3.4.4 Busybox 141

3.4.5 嵌入式Linux文件系统移植 142

习题3 149

第4章 嵌入式Linux驱动开发 150

4.1 项目目标 150

4.2 Linux设备驱动程序概述 150

4.2.1 驱动程序介绍 150

4.2.2 内核态和用户态 151

4.2.3 设备文件 151

4.3 模块的构造与运行 153

4.3.1 Linux的模块化机制 153

4.3.2 模块操作相关命令 153

4.3.3 内核模块的程序结构 155

4.3.4 内核模块编译和运行 155

4.4 内核调试技术 157

4.4.1 打印调试 157

4.4.2 查询调试 158

4.4.3 使用strace命令进行调试 158

4.5 字符设备驱动 160

4.5.1 确定设备号 160

4.5.2 字符设备的注册与注销 161

4.5.3 cdev结构体 163

4.5.4 创建字符设备节点 164

4.5.5 设备驱动程序接口 165

4.5.6 交互数据 169

4.5.7 一个简单的字符设备驱动实例 169

4.5.8 设备I/O端口和I/O内存的访问 175

4.6 项目驱动开发实例 177

4.6.1 LED设备驱动开发 177

4.6.2 矩阵键盘驱动开发 183

4.6.3 温湿度传感器驱动开发 192

4.6.4 大气压力传感器应用程序 202

4.6.5 直流电机驱动开发 206

4.6.6 继电器开关驱动开发 212

习题4 216

第5章 嵌入式Linux文件编程 217

5.1 项目目标 217

5.2 文件编程概述 217

5.2.1 文件描述符 217

5.2.2 系统调用 217

5.2.3 应用程序编程接口 218

5.3 基于文件描述符的文件I/O操作 218

5.3.1 文件的创建、打开和关闭 218

5.3.2 文件的读写操作 222

5.3.3 文件定位 225

5.3.4 设备控制接口函数ioctl 227

5.4 嵌入式Linux串口应用编程 228

5.4.1 串口概述 228

5.4.2 串口属性设置 230

5.4.3 串口的使用 240

5.5 农业信息采集控制系统GPS通信 242

5.5.1 GPS概述 242

5.5.2 GPS通信实现 243

习题5 249

第6章 嵌入式Linux时间编程 250

6.1 项目目标 250

6.2 时间类型 250

6.3 常用时间函数 251

6.3.1 返回时间函数 251

6.3.2 时间转换函数 251

6.3.3 时间格式化函数 252

6.3.4 获取精确时间函数 253

6.4 农业信息采集控制系统中时间的应用 255

习题6 255

第7章 进程控制程序设计 256

7.1 项目目标 256

7.2 进程控制概述 256

7.2.1 进程及相关概念 256

7.2.2 进程控制块和标识符 257

7.2.3 进程调度 258

7.2.4 进程同步互斥 258

7.2.5 Linux下的进程管理常用命令 259

7.3 Linux进程控制编程 261

7.3.1 获取进程ID 261

7.3.2 进程的创建 261

7.3.3 进程终止 264

7.3.4 进程等待 265

7.3.5 exec函数族 268

7.4 Linux守护进程 270

7.4.1 守护进程的编写 271

7.4.2 守护进程实例 272

7.5 农业信息采集控制系统主程序设计 273

7.5.1 农业信息采集控制系统主程序流程 273

7.5.2 农业信息采集控制系统主程序 274

习题7 277

第8章 进程间通信 278

8.1 项目目标 278

8.2 进程间通信概述 278

8.3 管道通信 279

8.3.1 无名管道 279

8.3.2 命名管道 282

8.4 信号通信 286

8.4.1 信号的定义 286

8.4.2 信号来源 287

8.4.3 信号的种类 287

8.4.4 信号的处理 288

8.4.5 信号的安装 288

8.4.6 信号发送 293

8.4.7 信号通信总结 299

8.5 信号量通信 300

8.5.1 信号量概述 300

8.5.2 信号量的使用 300

8.5.3 信号量控制函数 301

8.5.4 信号量应用举例 304

8.6 共享内存 309

8.6.1 共享内存概述 309

8.6.2 共享内存的操作 309

8.6.3 共享内存应用 311

8.7 消息队列 315

8.7.1 消息队列概述 315

8.7.2 消息队列操作 315

8.8 农业信息采集控制系统中进程间通信的应用 321

8.8.1 信号通信在农业信息采集系统中的应用 321

8.8.2 管道在农业信息采集系统中的应用 322

习题8 324

第9章 多线程编程 325

9.1 项目目标 325

9.2 Linux多线程概述 325

9.3 Linux多线程编程 326

9.3.1 Linux线程的基本函数 327

9.3.2 多线程实例分析 328

9.3.3 修改线程的属性 330

9.4 线程的并发访问 333

9.4.1 互斥锁 333

9.4.2 信号量线程控制 335

9.5 农业信息采集控制系统多线程应用 339

习题9 341

第10章 嵌入式Linux网络编程 343

10.1 项目目标 343

10.2 TCP/IP概述 343

10.2.1 OSI网络模型 343

10.2.2 TCP/IP概述 346

10.3 Linux网络编程概述 356

10.3.1 套接字基础 356

10.3.2 网络字节顺序转换 358

10.3.3 多字节数据处理 360

10.3.4 IP地址格式转换 362

10.3.5 端口 364

10.4 TCP socket编程 365

10.4.1 常用函数介绍 365

10.4.2 TCP网络编程流程 373

10.5 UDP socket编程 375

10.5.1 UDP socket编程主要函数 376

10.5.2 UDP socket编程流程 378

10.6 农业信息采集控制系统数据上传的实现 379

10.6.1 基于TCP协议的农业信息采集控制系统数据上传 379

10.6.2 基于UDP协议的农业信息采集控制系统数据上传 386

习题10 389

第11章 嵌入式GUI程序开发 390

11.1 项目目标 390

11.2 Qt编程基础 390

11.2.1 Qt对象模型 390

11.2.2 事件系统 397

11.2.3 一个完整的Qt程序 405

11.3 Qt/Embedded环境配置 407

11.3.1 获得源码 408

11.3.2 编译Qt-X11环境 408

11.3.3 安装Qt/Embedded环境 409

11.4 Qt Designer介绍 411

11.5 农业信息采集控制系统设计 415

11.5.1 窗口部件 415

11.5.2 布局管理 418

11.5.3 农业信息采集控制系统终端GUI设计 420

11.5.4 农业信息采集控制系统GUI显示与控制的实现 421

习题11 426

附录A 农业信息采集控制系统源程序 428

参考文献 441

相关图书
作者其它书籍
返回顶部