清华大学ARM9培训教材

2013年10月13日 09:37
评论(0) / 浏览(1418) / 下载(0)

清华大学ARM培训教材

前 言.................................................................................................................................................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所作的修改.....................................................................11

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


评论(0)

发表评论
登录
我可以
  • 评论
关联标签
arm9 × 1
关联热门电子辑
相关资源