基于项目驱动的嵌入式Linux应用设计开发
基于项目驱动的嵌入式Linux应用设计开发封面图

基于项目驱动的嵌入式Linux应用设计开发

刘志强, 主编

出版社:清华大学出版社

年代:2016

定价:55.0

书籍简介:

针对嵌入式Linux应用设计开发实践性强的特点,本书以项目(数据采集显示系统)驱动的方式展开阐述。第一部分:嵌入式软硬件平台搭建。第二部分:嵌入式Linux应用开发

书籍目录:

Contents第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

习题111

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

2.1项目目标12

2.2Linux Shell与常用命令12

2.2.1Linux Shell简介12

2.2.2Linux常用命令与使用14

2.3Linux文本编辑器vi37

2.3.1vi编辑器简介37

2.3.2vi的操作模式38

2.3.3命令模式命令39

2.3.4底行模式命令40

2.4Shell脚本编程41

2.4.1Shell脚本的建立与执行41

2.4.2变量41

2.4.3命令的执行顺序44

2.4.4命令替换45

2.4.5算术运算45

2.4.6Shell特殊字符46◆基于项目驱动的嵌入式Linux应用设计开发目录2.4.7位置参数47

2.4.8条件测试48

2.4.9控制流结构50

2.5嵌入式Linux开发工具56

2.5.1编译工具gcc56

2.5.2工程管理Makefile62

2.5.3调试工具gdb66

2.5.4交叉编译工具链70

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

2.6.1安装Linux操作系统71

2.6.2超级终端minicom89

2.6.3网络文件系统NFS90

2.6.4简单文件传输协议TFTP92

2.6.5安装交叉编译工具94

习题296

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

3.1项目目标97

3.2Bootloader移植97

3.2.1Bootloader简介97

3.2.2Bootloader启动流程98

3.2.3Bootloader的工作模式98

3.2.4常用Bootloader介绍99

3.2.5UBoot工程简介100

3.2.6UBoot源码结构100

3.2.7UBoot的编译101

3.2.8UBoot的移植104

3.2.9UBoot的使用112

3.3嵌入式Linux内核移植113

3.3.1Linux内核结构113

3.3.2Linux内核配置116

3.3.3嵌入式Linux内核移植123

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

3.4.1Linux文件系统介绍136

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

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

3.4.4Busybox141

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

习题3149

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

4.1项目目标150

4.2Linux设备驱动程序概述150

4.2.1驱动程序介绍150

4.2.2内核态和用户态151

4.2.3设备文件151

4.3模块的构造与运行153

4.3.1Linux的模块化机制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.3cdev结构体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.1LED设备驱动开发177

4.6.2矩阵键盘驱动开发183

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

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

4.6.5直流电机驱动开发206

4.6.6继电器开关驱动开发212

习题4216

第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设备控制接口函数ioctl227

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

5.4.1串口概述228

5.4.2串口属性设置230

5.4.3串口的使用240

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

5.5.1GPS概述242

5.5.2GPS通信实现243

习题5249

第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

习题6255

第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.5Linux下的进程管理常用命令259

7.3Linux进程控制编程261

7.3.1获取进程ID261

7.3.2进程的创建261

7.3.3进程终止264

7.3.4进程等待265

7.3.5exec函数族268

7.4Linux守护进程270

7.4.1守护进程的编写271

7.4.2守护进程实例272

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

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

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

习题7277

第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

习题8324

第9章多线程编程325

9.1项目目标325

9.2Linux多线程概述325

9.3Linux多线程编程326

9.3.1Linux线程的基本函数327

9.3.2多线程实例分析328

9.3.3修改线程的属性330

9.4线程的并发访问333

9.4.1互斥锁333

9.4.2信号量线程控制335

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

习题9341

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

10.1项目目标343

10.2TCP/IP概述343

10.2.1OSI网络模型343

10.2.2TCP/IP概述346

10.3Linux网络编程概述356

10.3.1套接字基础356

10.3.2网络字节顺序转换358

10.3.3多字节数据处理360

10.3.4IP地址格式转换362

10.3.5端口364

10.4TCP socket编程365

10.4.1常用函数介绍365

10.4.2TCP网络编程流程373

10.5UDP socket编程375

10.5.1UDP socket编程主要函数376

10.5.2UDP socket编程流程378

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

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

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

习题10389

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

11.1项目目标390

11.2Qt编程基础390

11.2.1Qt对象模型390

11.2.2事件系统397

11.2.3一个完整的Qt程序405

11.3Qt/Embedded环境配置407

11.3.1获得源码408

11.3.2编译QtX11环境408

11.3.3安装Qt/Embedded环境409

11.4Qt Designer介绍411

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

11.5.1窗口部件415

11.5.2布局管理418

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

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

习题11426

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

参考文献441

内容摘要:

本书围绕一个典型的嵌入式系统项目——农业信息采集控制系统的设计过程展开介绍,首先进行系统整体的软硬件设计,然后分嵌入式Linux系统移植和嵌入式Linux的应用开发两大部分对系统进行详细设计。嵌入式Linux系统移植讲述了嵌入式Linux开发环境、开发工具的使用、嵌入式Linux系统移植及驱动程序开发等。嵌入式Linux的应用开发部分讲述了文件编程、进程控制、进程间通信、多线程技术、网络应用及基于Qt的图形界面的开发等内容。本书完整地介绍了嵌入式系统的设计开发过程,并且结合了丰富的项目案例程序与课后实践,使读者能够边学边用,更好更快地掌握嵌入式系统开发的主要知识点。本书既可作为高等院校计算机类、电子类、电气类、控制类等专业本科生、研究生学习嵌入式Linux系统开发的教材,也适合广大嵌入式Linux系统开发人员以及嵌入式Linux系统开发爱好者作为自学参考图书。

编辑推荐:

本书包括嵌入式平台搭建和嵌入式Linux应用开发两大部分,内容丰富,结构合理。
采用案例设计开发为主线编写,将知识点贯穿全书设计步骤中,重点讲解关键技术。
本书理论联系实际,把抽象内容具体化,复杂问题简单化,迅速提升应用开发水平。
结构体系层层递进,由易到难,由浅入深,可作为专业教材,也可作为参考书。
本书全部配套电子资源,可登录清华大学出版社网站下载使用。

书籍规格:

书籍详细信息
书名基于项目驱动的嵌入式Linux应用设计开发站内查询相似图书
9787302435624
如需购买下载《基于项目驱动的嵌入式Linux应用设计开发》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位清华大学出版社
版次1版印次1
定价(元)55.0语种简体中文
尺寸26 × 19装帧平装
页数印数 2000

书籍信息归属:

基于项目驱动的嵌入式Linux应用设计开发是清华大学出版社于2016.出版的中图分类号为 TP316.89 的主题关于 Linux操作系统-程序设计-高等学校-教材 的书籍。