嵌入式LINUX应用开发详解PDF电子书下载
- 电子书积分:14 积分如何计算积分?
- 作 者:冼进主编;许振山,刘峥嵘,张智超,骆飞,靳大江等编著
- 出 版 社:北京:电子工业出版社
- 出版年份:2007
- ISBN:9787121051883
- 页数:433 页
第1篇 基础篇 2
第1章 嵌入式Linux基础 2
1.1 嵌入式系统 2
1.1.1 嵌入式系统的应用 2
1.1.2 嵌入式系统的特点 4
1.2 实时与实时系统 5
1.2.1 实时与实时系统的基本概念 5
1.2.2 目前应用广泛的嵌入式实时操作系统 8
1.3 嵌入式Linux 10
1.3.1 从Linux到嵌入式Linux 10
1.3.2 嵌入式Linux的特点 11
1.3.3 嵌入式Linux发展现状 13
1.4 主流嵌入式芯片简介 15
1.4.1 Intel公司x86体系结构嵌入式芯片简介 16
1.4.2 Motorola公司嵌入式芯片简介 17
1.4.3 ARM公司嵌入式芯片简介 18
1.5 小结 18
1.6 思考题 19
第2章 开发嵌入式Linux应用软件 20
2.1 建立嵌入式开发平台 20
2.1.1 嵌入式开发平台简介 20
2.1.2 uClinux简介 21
2.1.3 uCsimm 23
2.1.4 建立uClinux开发平台 23
2.2 嵌入式Linux应用软件开发工具 28
2.2.1 使用gcc编译嵌入式C应用程序 28
2.2.2 编写Makefile 30
2.2.3 调试工具GDB 34
2.3 嵌入式Linux应用软件开发流程 37
2.3.1 对需求进行分析 37
2.3.2 任务和模块的划分 38
2.3.3 生成代码 40
2.3.4 调试代码 40
2.3.5 固化运行 41
2.4 一个简单的应用程序——Hello World 42
2.5 小结 48
2.6 思考题 48
第2篇 系统篇 50
第3章 任务管理 50
3.1 任务概述 50
3.1.1 进程和线程 51
3.1.2 任务的数据结构表示 52
3.1.3 实时任务 52
3.1.4 嵌入式Linux中的进程 52
3.2 任务状态的转变 52
3.2.1 基本任务状态 52
3.2.2 Linux的任务状态 53
3.3 任务调度 58
3.3.1 调度目标 58
3.3.2 调度方法分类 61
3.3.3 经典常用实时调度算法 63
3.3.4 多处理器调度算法 68
3.3.5 Linux进程调度 69
3.4 常用任务管理API 78
3.5 关于任务的实例 84
3.6 小结 87
3.7 思考题 87
第4章 任务的同步与通信 88
4.1 多任务系统 88
4.2 任务间的同步 89
4.2.1 几个重要概念 89
4.2.2 信号量 95
4.3 任务间的通信 97
4.4 嵌入式Linux中的任务间同步与通信 98
4.4.1 Linux中的信号 98
4.4.2 Linux中的管道 108
4.4.3 先进先出文件FIFO 110
4.4.4 System V IPC机制 112
4.5 小结 122
4.6 思考题 122
第5章 存储器管理 123
5.1 存储器管理概述 123
5.1.1 基本概念 124
5.1.2 内存管理的分类 127
5.1.3 早期连续内存分配 127
5.1.4 基于段、页的存储管理 129
5.1.5 虚拟存储器管理 134
5.2 Linux存储器管理 137
5.2.1 物理内存管理 138
5.2.2 虚拟内存管理 140
5.3 小结 154
5.4 思考题 154
第6章 中断处理与时钟管理 155
6.1 中断概述 155
6.1.1 中断源 156
6.1.2 中断类型号、中断向量表和中断描述符表 156
6.1.3 中断服务程序及其入口地址 157
6.1.4 中断优先级和中断嵌套 158
6.2 中断机制 158
6.2.1 中断过程 158
6.2.2 中断服务程序设计 160
6.3 使用中断驱动UART 161
6.3.1 UART基本概念 161
6.3.2 UART驱动程序的实现 163
6.4 嵌入式Linux时钟管理 167
6.4.1 时间日期管理 167
6.4.2 用户任务中的定时器 171
6.4.3 内核中的时钟管理 174
6.5 小结 176
6.6 思考题 176
第7章 嵌入式Linux网络编程 177
7.1 嵌入式Linux网络体系结构 177
7.1.1 TCP/IP网络简介 178
7.1.2 嵌入式Linux中TCP/IP网络结构 181
7.2 嵌入式Linux环境下的套接字(socket)编程 182
7.2.1 套接字接口 182
7.2.2 socket编程基础 185
7.2.3 socket通信常用API函数 186
7.2.4 数据流通信和数据报通信 191
7.2.5 socket编程高级特性 198
7.3 网络编程实例——使用socket编写代理服务器 201
7.3.1 功能说明 202
7.3.2 代码 202
7.3.3 代码分析 207
7.4 小结 212
7.5 思考题 212
第3篇 驱动开发篇 214
第8章 嵌入式Linux下串口通信 214
8.1 串行I/O的基本概念 214
8.1.1 同步通信与异步通信 214
8.1.2 串口传输速率与流控 216
8.1.3 差错控制 217
8.1.4 DTE和DCE通信过程 219
8.1.5 RS-232C串口规范简介 220
8.2 编写串口通信程序 223
8.2.1 嵌入式Linux驱动程序简介 223
8.2.2 串口访问函数 229
8.2.3 设置串口属性 231
8.3 嵌入式Linux串口通信实例 232
8.4 小结 240
8.5 思考题 240
第9章 用LED和LCD做系统输出 242
9.1 在嵌入式Linux系统中扩展LED输出 242
9.1.1 LED显示输出的原理和结构 243
9.1.2 LED显示方式 244
9.1.3 在嵌入式Linux系统中使用LED显示器 246
9.2 LCD显示器的使用 250
9.2.1 LCD简介 250
9.2.2 在嵌入式Linux中驱动LCD 254
9.3 在嵌入式Linux中使用LCD 257
9.3.1 EZ328对LCD的支持 258
9.3.2 uClinux对LCD显示器的支持 259
9.3.3 图形API使用实例 263
9.4 小结 267
9.5 思考题 268
第10章 USB设备驱动程序开发 269
10.1 USB体系结构 269
10.1.1 USB系统的描述 270
10.1.2 电气特性 271
10.1.3 电源分配与管理 272
10.2 USB通信协议 272
10.2.1 USB数据流模型 272
10.2.2 USB数据单元 273
10.2.3 USB设备请求 277
10.2.4 USB设备枚举 278
10.3 USB设备驱动程序设计 278
10.3.1 USB设备驱动程序分类 278
10.3.2 主机端设备驱动程序分析 280
10.3.3 设备端USB驱动程序分析 284
10.4 小结 295
10.5 思考题 295
第11章 在嵌入式Linux系统中扩展PCI设备 296
11.1 PCI总线规范 296
11.1.1 PCI总线规范简介 297
11.1.2 PCI配置空间 301
11.2 嵌入式Linux对PCI设备的支持 308
11.2.1 扫描PCI设备 308
11.2.2 为PCI设备分配资源 313
11.2.3 对PCI配置空间的访问 316
11.3 编写嵌入式Linux下PCI驱动程序 317
11.3.1 编写PCI驱动程序 317
11.3.2 嵌入式Linux下PCI驱动实例——NE2000网卡驱动程序 322
11.4 小结 326
11.5 思考题 327
第12章 嵌入式文件系统与存储技术 328
12.1 嵌入式文件系统概述 328
12.1.1 嵌入式文件系统的功能和特性 329
12.1.2 Linux操作系统支持的常见文件系统 329
12.2 Flash存储技术 331
12.2.1 Flash的类型 331
12.2.2 Flash的技术特点 332
12.2.3 NOR Flash与NAND Flash的区别 332
12.2.4 Flash存储管理系统 334
12.3 uClinux块设备驱动程序 335
12.3.1 块设备驱动种类 335
12.3.2 MTD驱动程序 335
12.3.3 基于MTD驱动程序的文件系统 337
12.4 NOR Flash与JFFS2文件系统 338
12.4.1 JFFS2原理 339
12.4.2 JFFS2文件系统在uClinux中的实现 345
12.5 Nand Flash与YAFFS文件系统 350
12.5.1 YAFFS原理 350
12.5.2 YAFFS文件系统在uClinux中的实现 354
12.6 小结 356
12.7 思考题 356
第13章 嵌入式系统集成与调试 357
13.1 建立高效开发环境 357
13.1.1 NFS开发环境 358
13.1.2 主机端环境配置 358
13.1.3 目标板设置 360
13.2 uClinux应用程序调试 362
13.2.1 嵌入式应用程序调试方法 363
13.2.2 GDB调试技术 367
13.2.3 建立GDB+gdbserver应用程序调试环境 370
13.3 uClinux内核调试 373
13.4 小结 375
13.5 思考题 376
第4篇 应用篇 378
第14章 图形界面应用程序开发 378
14.1 嵌入式GUI特点及种类 378
14.2 MiniGUI简介 379
14.2.1 MiniGUI是什么 379
14.2.2 MiniGUI特点及优势 380
14.3 MiniGUI程序框架及示例 380
14.3.1 主函数MiniGUIMain() 381
14.3.2 消息处理函数 382
14.3.3 第一个MiniGUI程序 382
14.4 MiniGUI中的窗口与消息 383
14.4.1 窗口的建立与销毁 383
14.4.2 消息与消息循环 384
14.4.3 几个重要的消息 386
14.5 键盘与鼠标 387
14.5.1 键盘消息与字符消息 387
14.5.2 鼠标消息 388
14.6 绘图工具与图形设备接口 389
14.6.1 设备描述表 389
14.6.2 画点与画线 391
14.6.3 封闭曲线及区域填充 392
14.6.4 字体与文字输出 393
14.7 MiniGUI中的常用控件 394
14.7.1 静态控件与按钮控件 396
14.7.2 列表框 399
14.7.3 编辑控件 401
14.7.4 工具栏控件 403
14.7.5 控件子类化 404
14.7.6 自定义控件 406
14.8 对话框 407
14.8.1 创建模式对话框 407
14.8.2 创建非模式对话框 409
14.8.3 带属性页的对话框 409
14.9 菜单的使用 414
14.9.1 创建菜单 414
14.9.2 处理菜单消息 417
14.9.3 更改菜单项状态 417
14.10 小结 418
14.11 思考题 418
第15章 嵌入式数据库 419
15.1 嵌入式系统中的数据库 419
15.1.1 嵌入式数据库特点 419
15.1.2 嵌入式数据库现状与发展 420
15.2 mSQL简介 420
15.3 在Linux上安装和配置mSQL 421
15.3.1 mSQL的安装 421
15.3.2 mSQL系统配置 421
15.4 mSQL工具程序 424
15.5 mSQL的C API函数 427
15.6 mSQL嵌入式数据库应用实例分析 430
15.7 小结 432
15.8 思考题 432
参考文献 433
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《英汉翻译理论的多维阐释及应用剖析》常瑞娟著 2019
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《虚拟流域环境理论技术研究与应用》冶运涛蒋云钟梁犁丽曹引等编著 2019
- 《当代翻译美学的理论诠释与应用解读》宁建庚著 2019
- 《第一性原理方法及应用》李青坤著 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《教师教育系列教材 心理学原理与应用 第2版 视频版》郑红,倪嘉波,刘亨荣编;陈冬梅责编 2020
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017