1、 本科毕业论文 (科研训练、毕业设计 ) 题 目: WinCE 操作系统下 HP1020 USB 本地打印驱动程序的设计和实现 姓 名: 学 院:软件学院 系: 软件工程 专 业:软件工程 年 级: 学 号: 指导教师(校内): 职称: 指导教师(校外): 职称: 年 月 厦门大学学士学位论文 I 摘 要 Windows CE 作业系统是 Windows 家族中最新的成员,专门设计给掌上型电脑所使用的电脑环境。这样的作业系统可使完整 的可携式技术与现有的 Windows 桌面技术整合工作。 微软公司的 Windows CE 操作系统就是一种嵌入式操作系统,它的主要应用领域有 PDA市场、 Po
2、cket PC、 Smart Phone、工业控制、医疗等。就 WinCE 来讲,你无法买到 WinCE 这个操作系统,你买到的是 Platform Builder for CE 的集成开发环境,我们也简称为 PB,利用它你可以剪裁和定制出一个符合你自己需要的 WinCE 的操作系统,这就是嵌入式操作系统最大的特点。 随着 USB 设备的普及 , 驱动开发任务也是越来越繁重了,由于设备所 采用的操作系统不同,相应的硬件接口也是不一样的,开发相关的 USB 驱动程序更是难上加难。 本文主要 通过讲述 HP1020 打印驱动端开发过程来 给出了关于 WinCE 下 USB 驱动程序开发的整个构架及
3、在实际开发中 的 探索过程 ,让用户对驱动程序开发将有一个全面对了解。由于驱动开发属于底层开发,在开发过程中要求相当严谨,稍微一个数据的错误就可能导致整个驱动程序的失败。 由于无法获知 该打印机的 所要实现的 指令集,我们 只有通过对 数据流进行分析,再通过参考微 软 一些 开源代码 一步 一 步探索,来分析整个驱动程序中需要的数据格式及所需要 实现 的 打 印机 指令集 。 关键字: WinCE 驱动开发 ; HP1020 打印驱动 ; 流式驱动开发 厦门大学学士学位论文 II Abstract WinCE system is a new member of the windows fami
4、ly. It is a kind of environment which is specially designed for the Palm. This Operation System can integrate portability technology and windows technology to work together. The WinCE Operation System of Microsoft is a kind of Embedded Operation System. Its most domains are in PDA market, Pocket PC,
5、 Smart Phone, industry, medical treatment and so on. You cant buy WinCE Operation System, and what you can buy is just the integrated environment as the Platform Builder for CE, and we can name it as PB. You can use it to clip and customize an appropriate WinCE Operation System, so this is the best
6、characteristic of Embedded Operation System. With the USB equipment more popular, the task of developing driver is heavier. Because the Operation Systems that is used by the USB equipments are different each other, and the relevant hardware interfaces are also different, so the driver development of
7、 USB driver is more difficult. This article mostly introduces the whole process about developing the driver of HP1020 printer in WinCE, and gives the whole structure and the actual problems in exploring. By this, users and developers will have an all-sided knowing. Because the developing driver belo
8、ngs to bottom-development, the request is quite precise in developing process. For example, a little failure about data will induce failure. Whats more, we dont know the instruction set about the HP1020 printer, therefore we just have to research the whole driver by analyzing the data stream and som
9、e free code. Keyword: WinCE driver; HP1020 printers driver; formula driver 厦门大学学士学位论文 III 目 录 第一章 论文的研究背景 . 1 1.1 WinCE 系统介绍 . 1 1.2 Windows CE 中 USB 设备驱动开发介绍 . 2 1.3 GDI . 6 1.3.1 从驱动程序的观点看 GDI . 6 1.2.2 GDI 和驱动程序的通信 . 7 1.4 流式驱动接口 . 7 第二章 HP1020 打印驱动总体设计 . 9 2.1 驱动编写背景 . 9 2.2 目标要求 . 9 2.3 定义 . 9
10、2.4 总体设计 . 14 2.4.1 需 求 . 14 2.4.2 运行环境 . 14 2.4.3 结构关系 . 14 2.4.4 接口设计 . 18 2.4.5 模块功能需求 . 20 2.4.6 模块整合 . 20 2.6 测试计划 . 21 第三章 HP1020 打印驱动详细设计 . 22 3.1 程序系统的结构模块 . 22 3.2 程序 1( 获取 BMP 图像 )设计说明 . 22 3.2.1 程序描述 . 22 3.2.2 功能 . 22 3.2.3 输入项 . 22 3.2.4 输出项 . 22 3.2.5 算法 . 22 3.2.6 主干图 . 23 3.2.7 接口 .
11、23 厦门大学学士学位论文 IV 3.2.8 注释设计 . 24 3.2.9 测试计划 . 25 3.3 程序 2( BMP 图像格式转换为 PBM 图像格式 )设计说明 . 25 3.3.1 程序描述 . 25 3.3.2 功能 . 25 3.3.3 输入项 . 25 3.3.4 输出项 . 25 3.3.5 算法 . 25 3.3.6 主干流程图 . 29 3.3.7 接口 . 30 3.3.8 注释设计 . 30 3.3.9 测试计划 . 30 3.4 程序 3( PBM 图像格式转换为 ZJ-stream)设计 说明 . 30 3.4.1 程序描述 . 30 3.4.2 功能 . 30
12、 3.4.3 输入项 . 30 3.4.4 输出项 . 30 3.4.5 算法 . 31 3.4.6 主干流程图 . 31 3.4.7 接口 . 33 3.4.8 注释设计 . 33 3.4.9 测试计划 . 33 3.5 程序 4(流式驱动接口函数)设计说明 . 33 3.5.1 程序描述 . 33 3.5.2 功能 . 33 3.5.3 输入项 . 34 3.5.4 输出项 . 34 3.5.5 算法 . 34 3.5.6 主干图 . 35 3.5.7 接口 . 36 厦门大学学士学位论文 V 3.5.8 注释设计 . 37 3.5.9 测试计划 . 37 第四章 HP1020 打印驱动运
13、行结果 . 38 4.1 运行结果图片 . 38 4.1.1 HP1020 打印驱动程序安装前 . 38 4.1.2 HP1020 打印驱动程序安装后 . 38 4.1.3 在页面调用打印功能 . 39 4.2 运行中间数据及结果数据 . 39 4.2.1 获取的点阵图像( BMP 格式) . 39 4.2.2 经上图中的 BMP 图像转换成功后的 PBM 图像 . 40 4.2.3 HP1020 驱动程序最终向打印机输送的数据流 . 42 第五章 总结 . 45 致 谢 . 47 参考文献 . 48 附 录 . 50 厦门大学学士学位论文 VI Contents Chapter 1 The
14、Background about Thesis . 1 1.1 The Introduce of WinCE System . 1 1.2 The Introduce of Driver Development about USB Equipment in WinCE . 2 1.3 GDI . 6 1.3.1 Analyze GDI in Driver Development . 6 1.2.2 The Communication between GDI and Driver . 7 1.4 Formula Drive. 7 Chapter 2 The Synoptic Design abo
15、ut HP1020 Driver. 9 2.1 The Background about Driver . 9 2.2 The Request for Target. 9 2.3 Definition . 9 2.4 Synoptic Design . 14 2.4.1 Request . 14 2.4.2 The Entironment for Running . 14 2.4.3 Structure . 14 2.4.4 Design of Interface . 18 2.4.5 Module Request . 20 2.4.6 Conforming Module . 20 2.6 The Plan for Testing . 21 Chapter 3 The Detailed Design about HP1020 Driver . 22 3.1 The Design about Module Code . 22 3.2 Procedure 1( Getting BMP) . 22 3.2.1 Description about Procedure. 22 3.2.2 Founction . 22 3.2.3 Input . 22 3.2.4 Output . 22 3.2.5 Arithmetic . 22 3.2.6 Flow Chart .