嵌入式系统开发原理与实践PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:陈文智等编著
- 出 版 社:北京:清华大学出版社
- 出版年份:2005
- ISBN:7302116008
- 页数:299 页
目录 1
第1章 嵌入式系统概述 1
1.1 引言 1
1.2 什么是嵌入式系统 1
1.2.1 嵌入式系统的历史与现状 2
1.2.2 嵌入式系统的体系结构 2
1.2.3 应用领域与发展方向 3
1.3 嵌入式系统设计 5
1.3.1 嵌入式系统设计的过程 5
1.3.2 硬件平台的选择 5
1.3.3 软件平台的选择 6
1.4 嵌入式微处理器ARM 8
1.4.2 ARM微处理器系列 9
1.4.1 ARM微处理器的应用领域及一般特点 9
1.5 嵌入式操作系统 11
1.5.1 嵌入式Linux 11
1.5.2 Windows CE 12
1.5.3 Symbian 13
1.5.4 其他嵌入式操作系统 13
1.6 嵌入式系统开发 14
1.6.1 开发流程 14
1.6.2 交叉编译与链接 15
1.6.3 远程调试 16
1.6.4 测试与优化 17
1.7 小结 17
1.8 习题与思考题 18
第2章 PXA255开发系统 19
2.1 XScale系统结构 19
2.1.1 XScale超级流水线 20
2.1.2 XScale乘/累加MAC 21
2.1.3 协处理器 21
2.1.4 内存管理 22
2.1.5 指令cache 22
2.1.6 数据cache 23
2.1.7 转移目标缓冲器BTB 23
2.1.8 性能监视 23
2.1.9 电源管理 23
2.1.10 调试 23
2.2 PXA255处理器结构与特性 24
2.2.1 时钟和电源管理模块 26
2.2.2 系统综合单元 28
2.2.3 DMA控制器 33
2.3 XSBase255开发系统 34
2.3.1 硬件资源 35
2.3.2 软件资源 44
2.4 小结 46
2.5 习题与思考题 47
第3章 开发环境的建立 48
3.1 XSBase255目标机环境 48
3.1.1 JTAG接口简介 49
3.1.2 XSBase255上的JTAG接口 49
3.1.3 Boot Loader 50
3.2 宿主机环境 50
3.2.1 宿主机环境的建立 50
3.2.2 BOOTP协议 51
3.2.3 TFTP协议 51
3.2.4 交叉编译 52
3.2.5 Make工具 52
3.3.1 烧写XSBase255的Boot Loader 56
3.3 实验 56
3.3.2 使用Minicom实现串口通信 57
3.3.3 建立开发环境 60
3.3.4 熟悉交叉编译环境和开发工具 65
3.4 小结 68
3.5 习题与思考题 68
第4章 嵌入式系统的Boot Loader技术 69
4.1 Boot Loader程序的基本概念 69
4.1.1 Boot Loader所支持的硬件环境 70
4.1.2 Boot Loader的安装地址 70
4.1.3 Boot Loader相关的设备和机制 70
4.1.4 Boot Loader的启动过程 70
4.1.5 Boot Loader的操作模式 70
4.2 Boot Loader的典型结构框架 71
4.1.6 Boot Loader与主机之间的通信设备及协议 71
4.2.1 Boot Loader阶段1介绍 72
4.2.2 Boot Loader阶段2介绍 74
4.2.3 关于串口终端 81
4.3 Boot Loader实验 81
4.3.1 熟悉Boot Loader的指令 81
4.3.2 U-Boot的分析和移植 87
4.4 小结 97
4.5 习题与思考题 98
第5章 ARM-Linux内核 99
5.1 ARM系统结构简介 99
5.2 ARM-Linux内存管理 101
5.2.1 内存管理与MMU 101
5.2.2 冯·诺依曼结构和哈佛结构 102
5.2.3 ARM存储管理机制 102
5.2.4 ARM-Linux存储机制的建立 105
5.2.5 ARM-Linux进程的虚存空间 108
5.3 ARM-Linux的中断响应和处理 110
5.4 ARM-Linux系统调用 114
5.4.1 应用程序中的系统调用 114
5.4.2 实验:创建和使用一个新的系统调用 116
5.5 系统的启动和初始化 118
5.5.1 使用Boot Loader将内核映像载入 118
5.5.2 内核数据结构初始化——内核引导第一部分 119
5.5.3 外设初始化——内核引导第二部分 120
5.5.4 init进程和inittab脚本 121
5.5.5 rc启动脚本 122
5.5.6 Shell的启动 123
5.6 ARM-Linux进程管理和调度 123
5.6.1 Linux进程和进程控制 123
5.6.2 Linux进程的创建、执行和终止 124
5.7.1 Linux模块概述 128
5.6.3 ARM-Linux进程的调度 128
5.7 Linux的模块机制 128
5.7.2 与模块相关的数据结构 129
5.7.3 与模块相关的系统调用 132
5.7.4 模块的使用 135
5.7.5 对insmodule实现的简要介绍 137
5.7.6 模块的编程 137
5.8 实验:Linux 2.6内核移植 137
5.8.1 准备工作 139
5.8.2 编译交叉编译工具 139
5.8.3 配置Linux 2.6.10内核 139
5.8.4 编译内核 139
5.9 小结 141
5.10 习题与思考题 141
6.1.1 嵌入式文件系统介绍 142
第6章 嵌入式文件系统 142
6.1 嵌入式Linux文件系统简介 142
6.1.2 Linux文件系统概述 144
6.1.3 嵌入式Linux常用文件系统 145
6.2 Linux文件系统框架和特性 148
6.3 实验:建立文件系统 149
6.3.1 建立JFFS2文件系统 149
6.3.2 建立Ramfs文件系统 155
6.4 实验:NFS文件系统实验 159
6.4.1 NFS简介 160
6.4.2 配置NFS服务端 161
6.4.3 配置NFS客户端 162
6.4.4 挂载NFS文件系统 162
6.4.6 加载NFS为根文件系统 163
6.4.5 NFS的注意事项 163
6.5 实验:Samba的介绍与应用 166
6.5.1 Samba的介绍 166
6.5.2 Samba实验 169
6.6 实验:使用BusyBox构建根文件系统 171
6.6.1 编译BusyBox 171
6.6.2 配置文件系统 173
6.6.3 制作JFFS2文件映像 175
6.7 小结 175
6.8 习题与思考题 175
第7章 嵌入式系统的调试 176
7.1 远程调试环境的搭建原理 176
7.1.1 插桩(stub) 176
7.1.2 GDB介绍 178
7.1.3 GDB远程调试功能介绍 178
7.2.1 GDB命令 179
7.2 使用GDB 179
7.2.2 断点与条件断点 184
7.3 Linux内核调试 184
7.3.1 内核调试技术 185
7.3.2 KGDB分析 186
7.3.3 内核进入调试状态的路径 189
7.4 实验 191
7.4.1 利用GDB进行本地调试 191
7.4.2 利用GDB进行远程调试 192
7.4.3 ARM-Linux内核调试 195
7.5 小结 197
7.6 习题与思考题 197
第8章 嵌入式设备驱动 198
8.1.1 设备的分类 199
8.1.2 设备文件 199
8.1 Linux下设备驱动程序简介 199
8.1.3 主设备号和次设备号 200
8.1.4 Linux设备驱动代码的分布 200
8.1.5 Linux设备驱动程序的特点 201
8.2 设备驱动程序结构 201
8.2.1 驱动程序的注册与注销 202
8.2.2 设备的打开与释放 202
8.2.3 设备的读写操作 203
8.2.4 设备的控制操作 203
8.2.5 设备的轮流查询和中断处理 203
8.3 实验:编写一个简单的驱动程序 205
8.3.1 主要数据结构和全局变量 205
8.3.2 主要接口函数 206
8.3.3 模块加载 208
8.3.4 驱动安装过程 208
8.4.1 用户空间和内核空间 210
8.4 驱动设计中涉及的一些具体问题 210
8.4.2 proc文件系统 211
8.5 实验:设计和实现一个KED&LED驱动 215
8.5.1 主要数据结构和接口函数 218
8.5.2 模块加载 219
8.5.3 测试代码 219
8.5.4 驱动安装过程 220
8.6 实验:动态加载和静态编译驱动到内核 222
8.6.1 主要步骤 222
8.6.2 驱动位置和目录结构 223
8.6.3 修改配置文件 223
8.6.4 编写Makefile 224
8.7 实验:使用中断方式的驱动程序设计 225
8.7.1 注册中断处理程序 225
8.7.2 编写中断处理程序 227
8.7.3 中断处理机制的实现 228
8.7.4 中断控制 228
8.7.5 中断实验小结 229
8.8 设备驱动小结 230
8.9 习题与思考题 230
第9章 嵌入式GUI 231
9.1 嵌入式GUI简介 231
9.1.1 Qt/Embedded 232
9.1.2 Micro Windows 232
9.1.3 OpenGUI 232
9.1.4 MiniGUI 232
9.2 X Windows架构 233
9.3 Tiny-X系统框架 234
9.4 Tiny-X应用程序开发 235
9.4.1 GTK+的基本概念 236
9.4.2 图形界面生成器Glade 239
9.5 实验:用Glade编写一个简单的GUI应用程序 241
9.6 实验:Tiny-X下的KeyPad/LED控制实验 243
9.7 实验:Qt/Embedded移植实验 248
9.7.1 Qt/Embedded安装及环境设置 248
9.7.2 移植Qt/Embedded应用程序 250
9.7.3 修改触摸屏驱动 250
9.8 小结 252
9.9 习题与思考题 253
第10章 综合创新实验 255
10.1 设计任务 255
10.2 设计分析 256
10.3 FPGA设计基础 257
10.3.1 可编程逻辑器件简介 257
10.3.2 VHDL语言介绍 259
10.3.3 QuartusⅡ使用简介 260
10.3.4 扩展板逻辑设计要点 265
10.4 模块分析 274
10.4.1 总体分析 274
10.4.2 各模块设计要点 274
10.5 驱动设计 277
10.5.1 驱动设计要点 277
10.5.2 驱动的加载 285
10.6 测试程序设计 287
10.6.1 设备文件 287
10.6.2 操作命令字 288
10.7 GUI程序设计 294
10.8 小结 299
10.9 习题与思考题 299
- 《语文教育教学实践探索》陈德收 2018
- 《第一性原理方法及应用》李青坤著 2019
- 《计算机组成原理解题参考 第7版》张基温 2017
- 《彼得·布鲁克导演实践研究》邓小玲著 2019
- 《反思性实践》胡红梅, 2019
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《高等院校保险学专业系列教材 保险学原理与实务》林佳依责任编辑;(中国)牟晓伟,李彤宇 2019
- 《环境影响评价公众参与理论与实践研究》樊春燕主编 2019
- 《学校特色教育探索与实践》管升起著 2019
- 《刑法归责原理的规范化展开》陈璇著 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019