嵌入式Linux系统开发与应用PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:金伟正编著
- 出 版 社:北京:电子工业出版社
- 出版年份:2011
- ISBN:9787121131530
- 页数:310 页
第1章 嵌入式系统概论 1
1.1 嵌入式系统概述 1
1.1.1 嵌入式系统的历史 1
1.1.2 什么是嵌入式系统 2
1.1.3 嵌入式系统的特点 2
1.1.4 嵌入式处理器 2
1.1.5 嵌入式系统的应用领域 5
1.1.6 嵌入式系统的发展趋势 6
1.2 嵌入式系统开发 7
1.2.1 需求分析和概要设计 7
1.2.2 嵌入式系统中的硬件 8
1.2.3 嵌入式系统中的软件 12
1.2.4 嵌入式系统软件开发的一般过程 16
1.2.5 嵌入式应用程序的开发 17
1.3 嵌入式操作系统 21
1.3.1 嵌入式操作系统概述 21
1.3.2 嵌入式操作系统的分类 22
1.3.3 嵌入式操作系统的特点 24
1.3.4 典型的嵌入式操作系统 25
1.3.5 嵌入式操作系统的选择 29
1.4 Linux操作系统 29
1.4.1 Linux操作系统概述 29
1.4.2 Linux的重要性 31
1.4.3 嵌入式Linux系统开发平台 33
1.4.4 Linux的发展前景 33
1.5 思考题 35
第2章 Linux基础知识 36
2.1 认识Linux操作系统 37
2.1.1 Linux简明历史 37
2.1.2 Linux系统的特点和组成 39
2.1.3 Linux的开发过程 41
2.2 基本操作命令 43
2.2.1 字符界面简介 43
2.2.2 常用命令简介 44
2.3 Linux文件与目录系统 48
2.3.1 Linux文件系统类型介绍 48
2.3.2 Linux目录系统 51
2.4 Shell简介 53
2.5 网络服务简介 55
2.5.1 Linux支持的网络协议 55
2.5.2 Linux的网络服务 57
2.6 思考题 58
第3章 Linux编程环境 59
3.1 Linux编程环境介绍 59
3.1.1 系统平台环境 59
3.1.2 开发工具环境 59
3.1.3 基于文本模式的开发平台 60
3.1.4 集成开发平台Eclipse+CDT 60
3.1.5 文档帮助环境 62
3.2 常用编辑器 63
3.2.1 VIM编辑器 63
3.2.2 Emacs编辑器 66
3.3 gcc编译器的使用 69
3.3.1 gcc的主要选项 70
3.3.2 GNU C扩展简介 74
3.4 GNU make管理项目 75
3.4.1 make简介 75
3.4.2 编写Makefile文件的规则 76
3.5 GDB调试 80
3.5.1 GDB命令介绍 80
3.5.2 GDB调试例程 83
3.5.3 基于GDB的图形界面调试工具 86
3.6 思考题 87
第4章 Linux外壳程序编程 88
4.1 创建和运行外壳程序 88
4.1.1 创建外壳程序 88
4.1.2 运行外壳程序 89
4.2 使用外壳变量 90
4.2.1 给变量赋值 90
4.2.2 读取变量的值 90
4.2.3 位置变量和其他系统变量 91
4.2.4 引号的作用 91
4.3 数值运算命令 92
4.4 条件表达式 94
4.4.1 if表达式 94
4.4.2 case表达式 95
4.5 循环语句 97
4.5.1 for语句 97
4.5.2 while语句 98
4.5.3 until语句 99
4.6 shift命令 99
4.7 select语句 100
4.8 repeat语句 101
4.9 函数 101
4.10 Shell应用举例 103
4.11 思考题 107
第5章 构建嵌入式Linux开发平台 108
5.1 GNU跨平台开发工具链 108
5.2 嵌入式Linux内核 115
5.3 嵌入式Linux根文件系统 116
5.4 BootLoader简介 117
5.5 思考题 118
第6章 ARM调试环境 119
6.1 ARM调试工具简介 119
6.1.1 JTAG仿真器 119
6.1.2 Multi-ICE Server 120
6.2 ADS软件调试工具 121
6.2.1 使用Metrowork Code Warrior for ARM Developer Suite 122
6.2.2 使用RealView Debugger 124
6.2.3 使用AXD Debugger 126
第7章 嵌入式BootLoader技术 132
7.1 BootLoader的基本概念 132
7.1.1 BootLoader所支持的CPU和嵌入式板 132
7.1.2 BootLoader的安装点和启动过程 133
7.1.3 BootLoader的模式 133
7.1.4 BootLoader与主机之间的通信方式 134
7.2 BootLoader典型结构框架 135
7.2.1 BootLoader总体流程 135
7.2.2 BootLoader的stage1 135
7.2.3 BootLoader的stage2 137
7.3 典型BootLoader分析和移植 145
7.3.1 U-Boot 145
7.3.2 Blob 152
7.4 其他BootLoader介绍 155
7.4.1 Redboot 155
7.4.2 ARMBoot 156
7.4.3 PPCBoot 156
7.4.4 ViVi 156
7.4.5 Yamon 156
7.5 思考题 156
第8章 Linux内核配置 157
8.1 内核概述 157
8.2 嵌入式Linux内核代码结构 158
8.3 内核开发的特点 160
8.3.1 没有libc库 160
8.3.2 GNU C 160
8.3.3 没有内存保护机制 162
8.3.4 不要轻易在内核中使用浮点数 162
8.3.5 容积小而固定的栈 162
8.3.6 同步和并发 162
8.3.7 可移植性的重要性 163
8.4 嵌入式Linux内核的配置 163
8.4.1 Makefile 163
8.4.2 配置文件 168
8.4.3 Linux内核配置选项 171
8.5 配置举例 177
8.6 思考题 179
第9章 ARM-Linux内核分析和移植 180
9.1 ARM微处理器 180
9.1.1 RISC体系结构 180
9.1.2 ARM微处理器的类型 181
9.1.3 ARM微处理器的寄存器结构 183
9.1.4 ARM微处理器的指令结构 185
9.2 ARM-Linux内存管理 186
9.2.1 内存管理单元MMU 186
9.2.2 ARM-Linux的存储管理机制 186
9.2.3 ARM-Linux存储机制的建立 186
9.2.4 ARM-Linux对进程虚拟空间的管理 191
9.3 ARM-Linux进程管理与调度 195
9.3.1 task_struct数据结构 195
9.3.2 Linux进程的创建、执行和消亡 204
9.3.3 ARM_Linux的进程调度 210
9.4 ARM-Linux中断与中断处理 217
9.4.1 Linux处理中断概述 217
9.4.2 ARM体系程序的执行流程 221
9.4.3 ARM的异常中断种类 221
9.4.4 ARM处理器对异常中断的响应及返回过程 222
9.5 ARM-Linux系统启动与初始化 224
9.5.1 内核数据结构的初始化 225
9.5.2 外设初始化 230
9.5.3 init进程和linittab文件 231
9.5.4 rc启动脚本 232
9.5.5 Shell的启动 232
9.6 Linux驱动程序简介 233
9.6.1 设备的分类 234
9.6.2 设备号 234
9.6.3 设备节点 235
9.6.4 用户空间和内核空间 235
9.7 Linux模块化机制 235
9.7.1 Linux的模块化 235
9.7.2 模块的载入 237
9.7.3 模块的卸载 238
9.8 ARM-Linux内核裁减 238
9.9 嵌入式Linux的移植 240
9.9.1 移植准备 240
9.9.2 移植步骤 240
9.9.3 配置内核选项 241
9.9.4 修改Kernel文件系统部分代码 242
9.10 思考题 244
第10章 嵌入式文件系统 245
10.1 Linux文件系统结构与特征 245
10.1.1 Linux文件系统概述 245
10.1.2 Linux文件系统布局 245
10.1.3 Linux支持的文件系统 252
10.2 嵌入式文件系统简介 253
10.2.1 NOR Flash与NAND Flash介绍 254
10.2.2 MTD介绍 254
10.2.3 cramfs文件系统简介 256
10.2.4 romfs文件系统简介 257
10.2.5 嵌入式文件系统JFFS简介 259
10.2.6 嵌入式文件系统YAFFS简介 260
10.3 构建根文件系统 261
10.4 根文件系统设置 263
10.5 BusyBox 265
10.5.1 BusyBox简介 265
10.5.2 使用BusyBox构建根文件系统 267
10.6 嵌入式文件系统的设计 269
10.6.1 文件系统格式的选型的基本策略 269
10.6.2 混合型文件系统的设计 269
10.7 思考题 270
第11章 嵌入式Web服务器设计 271
11.1 TCP/IP协议 271
11.1.1 TCP/IP协议栈 271
11.1.2 TCP/IP协议栈的数据流向 272
11.1.3 TCP协议与UDP协议 273
11.2 HTTP协议 274
11.2.1 HTTP协议的方法 274
11.2.2 HTTP协议消息头 276
11.2.3 HTTP协议使用举例 277
11.2.4 内核网络服务 278
11.3 Socket编程基础 278
11.3.1 Socket描述 278
11.3.2 Socket描述符 279
11.4 嵌入式Web服务器系统结构 280
11.4.1 协议标准 280
11.4.2 瘦Web服务器 280
11.4.3 嵌入式应用接口技术 281
11.4.4 实现形式 282
11.4.5 EMIT 282
11.4.6 RomPager 282
11.5 Web服务器构建 283
11.6 思考题 286
第12章 嵌入式Linux的GUI 287
12.1 嵌入式GUI简介 287
12.1.1 MiniGUI 288
12.1.2 Qt/Embedded 288
12.1.3 Nano-X 289
12.1.4 OpenGUI 289
12.2 MiniGUI程序设计基础 290
12.2.1 MiniGUI V1.3.3软件包 290
12.2.2 MiniGUI的特点 291
12.2.3 窗口处理过程 293
12.2.4 MiniGUI的线程机制 294
12.2.5 MiniGUI的体系结构 295
12.2.6 MiniGUI的底层引擎 296
12.2.7 MiniGUI的三种运行模式 297
12.2.8 MiniGUI移植 298
12.3 Qt/Embedded程序设计基础 299
12.3.1 Qt/Embedded的图形引擎实现基础 301
12.3.2 Qt/Embedded的事件驱动基础 303
12.3.3 Qt/Embedded底层支持分析 304
12.3.4 Qt/Embedded的移植 304
12.4 思考题 309
参考文献 310
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《英汉翻译理论的多维阐释及应用剖析》常瑞娟著 2019
- 《数据库技术与应用 Access 2010 微课版 第2版》刘卫国主编 2020
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《虚拟流域环境理论技术研究与应用》冶运涛蒋云钟梁犁丽曹引等编著 2019
- 《当代翻译美学的理论诠释与应用解读》宁建庚著 2019
- 《第一性原理方法及应用》李青坤著 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《教师教育系列教材 心理学原理与应用 第2版 视频版》郑红,倪嘉波,刘亨荣编;陈冬梅责编 2020
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017