|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
清华大学自动化系嵌入式系统教材<< 嵌入式系统的构建>>
前 言................................................................................................................................................1
第一章 嵌入式系统的硬件构成.....................................................................................................3
1.1. 嵌入式系统硬件...............................................................................................................3
1.1.1. 嵌入式处理器........................................................................................................3
1.1.1.1. 嵌入式微处理器(Embedded Microprocessor Unit, EMPU) ......................3
1.1.1.2. 嵌入式微控制器(Microcontroller Unit, MCU)..........................................4
1.1.1.3. 嵌入式DSP 处理器(Embedded Digital Signal Processor, EDSP).............4
1.1.1.4. 嵌入式片上系统(System On Chip)............................................................5
1.1.1.5. 嵌入式处理器的选择.................................................................................5
1.1.2. 存储器....................................................................................................................6
1.1.2.1. ROM.............................................................................................................7
1.1.2.2. RAM.............................................................................................................7
1.1.3. 输入输出设备........................................................................................................8
1.1.3.1. 液晶显示.....................................................................................................8
1.1.3.2. 触摸屏.........................................................................................................9
1.1.3.3. 语音输入输出技术...................................................................................10
1.1.3.4. 键盘...........................................................................................................11
1.1.4. 电源转换与管理..................................................................................................13
1.1.4.1. 电源IC 分类.............................................................................................13
1.1.4.2. 电源IC 的特点.........................................................................................14
1.1.4.3. 电源IC 选用指南.....................................................................................14
1.2. 嵌入式系统硬件开发相关技术.....................................................................................15
1.2.1. 接口技术..............................................................................................................15
1.2.1.1. 并行接口...................................................................................................16
1.2.1.2. 串口...........................................................................................................16
1.2.1.3. USB............................................................................................................17
1.2.1.4. PCMCIA 和CF..........................................................................................18
1.2.1.5. 红外线接口...............................................................................................19
1.2.2. 总线......................................................................................................................20
1.2.2.1. ISA .............................................................................................................20
1.2.2.2. PCI .............................................................................................................20
1.2.2.3. I2C 总线.....................................................................................................21
1.2.2.4. SPI 总线.....................................................................................................21
1.2.2.5. PC104 总线................................................................................................22
1.2.2.6. CAN 总线..................................................................................................23
1.2.3. 嵌入式系统开发常用的硬件调试和编程技术..................................................24
1.2.3.1. 微代码支持的串口调试...........................................................................24
1.2.3.2. 编程技术...................................................................................................24
1.2.3.3. JATG 与IEEE1149 协议简介...................................................................25
1.2.4. 3.3V 和5V 装置的互连.......................................................................................26
1.3. 嵌入式系统开发示例——EZ 开发板...........................................................................27
1.3.1. 系统性能..............................................................................................................27
1.3.2. 系统硬件设计......................................................................................................28
1.3.2.1. CPU 与存储器模块...................................................................................28
1.3.2.2. LCD 显示模块...........................................................................................28
1.3.2.3. 串口模块...................................................................................................29
1.3.2.4. 电源模块...................................................................................................29
1.3.2.5. 进入BOOTSTRAP 电路模块..................................................................30
1.3.3. TQFP 和LQFP 器件的焊接方法......................................................................30
1.3.4. 硬件调试..............................................................................................................31
第二章 操作系统...........................................................................................................................32
2.1. 基础知识.........................................................................................................................32
2.1.1. 操作系统功能......................................................................................................32
2.1.2. 操作系统发展史..................................................................................................32
2.1.3. Linux 与嵌入式Linux..........................................................................................33
2.2. 操作系统内核.................................................................................................................34
2.2.1. 内存管理..............................................................................................................34
2.2.1.1. 内存管理功能...........................................................................................34
2.2.1.2. 内存分割...................................................................................................34
2.2.1.3. 虚拟内存...................................................................................................35
2.2.1.4. Linux 的内存管理机制.............................................................................37
2.2.2. 进程与中断管理..................................................................................................40
2.2.2.1. 进程描述与控制.......................................................................................41
2.2.2.2. 并发控制:互斥与同步...........................................................................45
2.2.2.3. 并发控制:死锁处理...............................................................................52
2.2.2.4. 中断及中断处理.......................................................................................56
2.2.2.5. Linux 的进程与中断管理机制.................................................................58
2.2.3. 调度机制..............................................................................................................63
2.2.3.1. 调度类型...................................................................................................63
2.2.3.2. 单处理器调度...........................................................................................65
2.2.3.3. 多处理器调度...........................................................................................67
2.2.3.4. 实时调度...................................................................................................69
2.2.3.5. Linux 的调度机制.....................................................................................72
2.2.4. I/O 设备................................................................................................................74
2.2.4.1. I/O 设备描述参数......................................................................................74
2.2.4.2. I/O 技术的演变..........................................................................................74
2.2.4.3. I/O 设备逻辑描述......................................................................................75
2.2.4.4. I/O 缓冲技术.............................................................................................77
2.2.4.5. 磁盘调度...................................................................................................79
2.2.5. 文件管理..............................................................................................................82
2.2.5.1. 文件与文件系统.......................................................................................82
2.2.5.2. 文件组织与访问.......................................................................................83
2.2.5.3. 文件共享...................................................................................................86
2.2.5.4. 记录分块...................................................................................................86
2.2.5.5. 外围存储设备管理...................................................................................87
2.2.5.6. Linux 的文件系统管理.............................................................................88
2.3. 用户界面.........................................................................................................................89
2.3.1. 图形用户界面......................................................................................................90
2.3.1.1. 基本知识...................................................................................................90
2.3.1.2. 关键技术...................................................................................................90
2.3.2. 智能化用户界面..................................................................................................92
2.3.2.1. Agent 技术.................................................................................................92
2.3.2.2. Agent 技术与用户界面的结合.................................................................95
2.3.3. Linux 下的用户界面............................................................................................96
2.3.3.1. X Window 简介.........................................................................................96
2.3.3.2. X 服务器....................................................................................................97
2.3.3.3. 窗口管理器...............................................................................................99
第三章 嵌入式Linux ..................................................................................................................100
3.1. 嵌入式Linux 内核.......................................................................................................100
3.1.1 嵌入式Linux 综述..............................................................................................100
3.1.2 uCLinux ...............................................................................................................100
3.1.2.1 uClinux 的内存管理.................................................................................101
3.1.2.2 uCLinux 内核结构....................................................................................101
3.1.2.3 内存保护..................................................................................................102
3.1.2.4 编程接口的改变......................................................................................102
3.1.2.5 uCLinux 的应用程序库............................................................................103
3.1.2.6 uCLinux 内核运行方式............................................................................104
3.1.2.7. uClinux 支持的文件系统........................................................................104
3.2. 嵌入式设备的文件系统...............................................................................................104
3.2.1. 闪存(Flash Memory)介绍............................................................................104
3.2.2. 第二版扩展文件系统Ext2fs(Extended 2 Filesystem) ................................104
3.2.3. 临时文件系统tmpfs(Temporary Filesystem) ..............................................105
3.2.4. 日志闪存文件系统版本 2-JFFS2(Journalling Flash Filesystem) ..106
3.2.4.1 概述...........................................................................................................106
3.2.4.2. JFFS 的设计原理:.................................................................................106
3.3 嵌入式用户界面............................................................................................................108
3.3.1. GUI 开发工具综述.............................................................................................108
3.3.1.1. Xfree86 4.X(带帧缓冲区支持的 X11R6.4)......................................108
3.3.1.2. Microwindows..........................................................................................109
3.3.1.3. FLTK........................................................................................................109
3.3.1.4. Qt/Embedded............................................................................................110
3.3.2 MicroWindows 剖析............................................................................................ 111
3.3.2.1. 分层设计................................................................................................. 111
3.3.2.2. 设备驱动层............................................................................................. 111
3.3.2.3. 设备无关的图形引擎层......................................................................... 111
3.3.2.4. API(基于Win32)................................................................................112
3.3.2.5. 消息传递机制.........................................................................................112
3.3.2.6. 窗口操作.................................................................................................112
3.3.2.7. 客户区域和绝对坐标.............................................................................113
3.3.2.8. 设备上下文.............................................................................................113
3.3.3. Microwindows 的移植和中文化........................................................................113
3.3.3.1. 针对uCLinux 所作的修改.....................................................................114
3.3.3.2. 中文化处理.............................................................................................114
3.3.4. 应用实例-电子文本阅读器............................................................................115
3.3.4.1 功能要求以及方案选择:.......................................................................115
3.3.4.2 具体实现...................................................................................................115
第四章 交叉编译.........................................................................................................................117
4.1. 编译原理.......................................................................................................................117
4.1.1. 基础知识............................................................................................................117
4.1.1.1. 编译的一般过程.....................................................................................117
4.1.1.2. 与编译器相关的程序.............................................................................118
4.1.1.3. 编译器的移植.........................................................................................119
4.1.2. 词法分析............................................................................................................119
4.1.2.1. 词法的形式化描述.................................................................................119
4.1.2.2. 词法分析程序的设计.............................................................................122
4.1.3. 语法分析............................................................................................................123
4.1.3.1. 自顶向下的语法分析.............................................................................124
4.1.3.2. 自底向上的语法分析.............................................................................126
4.1.4. 中间代码............................................................................................................128
4.1.5. 代码优化............................................................................................................130
4.2. 交叉编译技术...............................................................................................................133
4.2.1. 交叉编译............................................................................................................133
4.2.2. GCC 交叉编译器................................................................................................134
4.2.2.1. GCC 编译流程.........................................................................................134
4.2.2.2. Linux 环境下的GCC 交叉编译器.........................................................137
第五章 嵌入式Linux 的软件开发环境.....................................................................................142
5.1. 交叉编译环境...............................................................................................................142
5.1.1. 编译开发环境的建立........................................................................................142
5.1.1.1 安装交叉编译环境...................................................................................142
5.1.1.2. 添加设备驱动和内核模块.....................................................................142
5.1.2. 可执行文件........................................................................................................143
5.1.2.1. Coff 文件格式..........................................................................................143
5.1.2.2. elf 文件格式.............................................................................................143
5.1.2.3. flat 文件格式...........................................................................................143
5.2. 调试技术.......................................................................................................................144
5.2.1. 常见调试方法....................................................................................................144
5.2.2. 内存调试............................................................................................................145
5.2.2. 系统调用跟踪....................................................................................................148
5.2.3. 程序调试............................................................................................................149
5.3. 系统引导和内核启动...................................................................................................154
5.3.1. Bootloader 程序的设计与实现..........................................................................154
5.3.1.1. 硬件平台的通信.....................................................................................154
5.3.1.2. 硬件平台初始化程序.............................................................................154
5.3.1.3. 硬件平台监控程序.................................................................................155
5.3.2. uCLinux 移植......................................................................................................155
5.3.2.1. 第一阶段.................................................................................................155
5.3.2.2. 第二阶段.................................................................................................160
第六章 设备驱动程序.................................................................................................................161
6.1. 概述...............................................................................................................................161
6.1.1. 设备类型............................................................................................................162
6.1.2. 设备号................................................................................................................162
6.1.3. 模块化编程........................................................................................................163
6.2. 设备文件接口...............................................................................................................164
6.2.1. 用户访问接口....................................................................................................164
6.2.2. 文件操作............................................................................................................165
6.2.2.1. file_operations 结构................................................................................165
6.2.2.2. file 结构...................................................................................................167
6.2.3. I/O 操作..............................................................................................................167
6.3. 中断处理.......................................................................................................................169
6.3.1. 注册中断处理程序............................................................................................170
6.3.2. 实现中断处理程序............................................................................................172
6.4. 应用实例.......................................................................................................................173
6.4.1. 字符型设备........................................................................................................173
6.4.1.1. 按键.........................................................................................................173
6.4.1.2. 触摸屏.....................................................................................................175
6.4.2. 网络设备............................................................................................................184
6.4.2.1. 网络驱动的框架.....................................................................................184
6.4.2.2. 网卡驱动程序的加载方法.....................................................................187
6.4.2.3. CS8900A 芯片特点.................................................................................188
6.4.2.4. CS8900A 芯片驱动程序的实现.............................................................190
6.4.2.5. 网络设备驱动程序的编译.....................................................................196
6.4.2.6. 网络驱动程序的测试.............................................................................197
附 录............................................................................................................................................199
A. 参考文献.........................................................................................................................199
B. 参考网站.........................................................................................................................200
提供其他相关好书连接
提供免费下载<<嵌入式Linux设计与应用>>_邹思轶 (清华大学出版社)
http://www.eetop.cn/bbs/viewthread.php?tid=158655
英文版经典下载 Embedded Controller Hardware Design
http://www.eetop.cn/bbs/viewthread.php?tid=158651
[ 本帖最后由 fanghongk1 于 2009-4-1 12:28 编辑 ] |
|