出版时间:2011-8 出版社:中国电力 作者:徐成//秦云川//刘彦
Tag标签:无
内容概要
徐成、秦云川、刘彦编著的《Windows
CE内核定制与驱动程序开发》以普通软件开发人员的视角,由浅入深地介绍了有关Windows
CE内核定制与驱动程序开发的相关知识。
《Windows CE内核定制与驱动程序开发》分四篇共18章。第一篇是第1
~3章,主要介绍了嵌人式系统的基本概念以及Windows CE操作系统的一些基本知识;第二篇是第4~9章,主要介绍了 Windows
CE操作系统定制的机制以及系统运行所依赖的关键组件的移植和开发,包括BootLoader和OAL;第三篇是第10~17章,主要介绍了Windows
CE操作系统下常见驱动程序的开发知识,包括流接口驱动程序以及其他专用接口驱动程序;第四篇是在前三篇的基础上进行举例说明,主要介绍了一个基于Windows
CE的鼠标设备的驱动程序开发过程。
《Windows
CE内核定制与驱动程序开发》可作为高等院校电子信息、计算机等专业本科生、研究生学习嵌人式 Windows
CE的参考书目或自学教材,也可供广大从事嵌入式系统开发的工程技术人员参考使用。
书籍目录
前言
第1篇 基础知识篇
第1章 Windows CE概述
1.1 嵌入式系统的概念
1.2 嵌入式系统的特点
1.3 嵌入式系统基本结构
1.4 嵌入式系统发展历程
1.5 嵌入式系统的应用
1.6 嵌入式操作系统
1.7 Windows CE发展历史
1.8 Windows CE的特点
本章小结
第2章 建立Windows CE映像
2.1 开发平台的搭建与配置
2.2 Windows CE内核定制流程
本章小结
第3章 初识Windows CE映像文件
3.1 内核与文件系统
3.2 BIN和NB0
3.3 NK文件
本章小结
第2篇 内核移植篇
第4章 内核定制
4.1 Windows CE 6.0的目录结构
4.2 内核的构建过程
4.3 系统的配置文件
4.4 Catalog Item文件
本章小结
第5章 总线与处理器
5.1 嵌入式处理器
5.2 嵌入式处理器构架
5.3 存储器与外设接口
5.4 静态存储器
5.5 动态存储器
5.6 虚拟地址与实地址
5.7 系统运行机制
本章小结
第6章 深入理解Windows CE 6.0
6.1 系统结构概览
6.2 系统内核
6.3 内存管理
6.4 文件系统与存储管理
6.5 设备管理器
6.6 图形窗口事件子系统
第7章 初识BSP开发
7.1 BSP概述
7.2 Eboot的基本结构
7.3 OAL层的基本结构
第8章 EBOOT开发实例
8.1 PXA255嵌入式处理器
8.2 Eboot引导过程
8.3 开发板的网络接口
8.4 Eboot的网络下载代码
8.5 开发板的Flash芯片
8.6 Eboot烧写Flash过程
第9章 OAL开发实例
9.1 建立存储映射
9.2 OAL的内核启动过程
9.3 Production-Quality OAL
9.4 OAL的硬件抽象功能
9.5 BSP的配置文件
第3篇 驱动开发篇
第10章 流驱动程序
10.1 概述
10.2 流驱动程序接口
10.3 设备管理器
10.4 流驱动实例
10.5 设备驱动程序的访问注册表
10.6 设备驱动程序的内存管理
10.7 设备驱动程序的中断处理
10.8 Production—Quality Drivers
10.9 驱动程序的电源管理
第11章 串口驱动程序
11.1 硬件原理
11.2 内核配置
11.3 代码分析
本章小结
第12章 网络驱动程序
12.1 EthDbg驱动程序
12.2 NDIS微端口驱动
12.3 NDIS驱动开发编程要素
12.4 主要功能及相关函数
本章小结
第13章 显示驱动程序
13.1 概述
13.2 显示驱动程序的注册键
13.3 内核调用中的显示驱动接口
13.4 PXA255 LCD控制器
13.5 使用GPE实现显示驱动程序
13.6 DDI函数参考
本章小结
第14章 触摸屏驱动程序
14.1 触摸屏的工作原理
14.2 触摸屏驱动程序的软件结构
14.3 触摸屏驱动的设计实例
本章小结
第15章 OSB驱动程序
15.1 USB的基本原理
15.2 USB Function驱动程序
15.3 USB主机驱动程序
15.4 USB驱动程序情景分析
15.5 USB设备驱动程序实例
第16章 SD总线驱动程序
16.1 SD总线概述
16.2 MMC/SD卡设备接口
16.3 微软SD总线协议栈
16.4 SD总线控制器驱动程序的结构
16.5 SD客户驱动程序
本章小结
第17章 驱动程序调试与测试
17.1 断点
17.2 控制调试信息的输出
17.3 CE测试套件
17.4 硬件辅助测试工具
第4篇 工程实践篇
第18章 HID设备开发实例
18.1 小Q的HID设备
18.2 搭建开发环境
18.3 复制代码
18.4 加入驱动程序到系统映像
18.5 等待打印机的出现
18.6 从打印机到鼠标
18.7 清除感叹号
18.8 加入应用程序
18.9 运行程序
本章小结
参考文献
章节摘录
版权页:插图:从这个描述可以看出:①MMU为每个进程都准备了一张表。操作系统在调度一个进程执行的之前,事先就设置了MMU的这个currProcess;②MMU没有为每一个存储器单元设置一个表项,而是为每一个内存范围设置一个表项,每一个内存范围称为一页。所以,它能控制粒度是以页为单位的。上面代码写的是8,处理器的设计者在设计:MMU的时候,会根据处理器的整体情况进行权衡;③MMU需要得到外部存储器的支持,因为它得有一张表用于存储每个进程的物理地址与虚拟地址的对应关系,这个表太大了以至于必须得依靠外部存储;④程序在执行存储器访问的时候,至少先得等MMU访问一次存储器得到进程的虚拟地址/物理地址对应项之后,才能进行实际的数据读写操作。而实际上,MMU的设计者们通常会设计一张快表,这个快表实际上就是一种快速缓存。把经常用到的转换关系表放在MMU里面,从而加快了系统的访问存储器时间。这个快速缓存就叫做快表,又名TLB。自从有了MMU,处理器上使用的地址就是虚拟地址了。虚拟地址与实际的物理地址是不同的,每个进程所使用的虚拟地址也是不同的。现在,进程需要空间存储数据的时候,不能再像以前那样随意指定了一个地址就可以了,需要向操作系统申请(一个申请就是一个系统调用,内存申请可以使用malloc类的系统调用),并写明想要的存储空间大小。操作系统总会尽量满足申请者的要求。即使物理内存不够,通常也会想办法,左挪一下,右挪一下,给程序腾出一块物理内存。而且它先到MMU那里去看看这个进程所对应的虚拟地址表,找一块它还没有用的虚拟地址,将物理地址填进去,打开这个进程的读写权限。然后在自己的表里也记上一笔。最后将申请批复给这个进程:“同意”(返回给进程该物理地址对应的虚拟地址)。虽然只能告诉操作系统自己申请大小,不能确定内存的实际物理地址。但是对于程序来说,反正都是存储数据,存哪里不一样呢?但对于想操作外设的程序来说,同样挂载存储总线上的外设与存储器有着稍微的不同,外设的每个存储单元对应的功能是不一样的。外设的驱动程序不仅要存储空间,而且还有一个固定的物理地址。操作系统一方面需要其他程序来指挥外设动作,另一方面又要保证整个计算机的正常工作。我们把操作外设的这些程序命名为外设驱动程序,有时也直接称为驱动程序。第一个办法是Windows CE的早期版本经常用到的,就是签名。
编辑推荐
《Windows CE内核定制与驱动程序开发》为Windows CE项目开发实践丛书之一。
图书封面
图书标签Tags
无
评论、评分、阅读与下载