书籍详情

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

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

作者:刘志强,王晓强,庄旭菲,李文静

出版社:清华大学出版社

出版时间:2016-06-01

ISBN:9787302435624

定价:¥59.50

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

读书导航