(计算机应用技术专业论文)berkeley+db技术的研究与实现.pdf_第1页
(计算机应用技术专业论文)berkeley+db技术的研究与实现.pdf_第2页
(计算机应用技术专业论文)berkeley+db技术的研究与实现.pdf_第3页
(计算机应用技术专业论文)berkeley+db技术的研究与实现.pdf_第4页
(计算机应用技术专业论文)berkeley+db技术的研究与实现.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(计算机应用技术专业论文)berkeley+db技术的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘 要 i berkeley db 技术的研究与实现技术的研究与实现 作者简介:张秋菊,女,生于 1983 年 9 月,于 2007 年进入成都理工大学就 读,师从于博士生导师王华军教授,所学专业为计算机应用技术。2010 年 06 月 获得工学硕士学位。 摘摘 要要 随着嵌入式系统的迅猛发展与应用,需要存储和处理的数据量也急剧增长, 于是,嵌入式数据库系统应运而生。与传统 pc 数据库相比,嵌入式数据库应具 有占用内存资源少、与应用紧密结合、可靠性和安全性高、网络支持等特点。正 是由于其固有特点,嵌入式数据库得到了很好的发展。 鉴于目前嵌入式系统软件开发中,对嵌入式数据库 berkeley db 进行读写操 作的代码设计冗余、可重用性低等问题,本文提出了构建 berkeley db 数据访问 模型的设计思想,并通过研究基于 berkeley db 数据访问模型的电子词典的开发 和实现,验证了该模型。 论文首先介绍了嵌入式数据库和 berkeley db 的概念、结构及使用技术;其 次,分析了 ours-pxa270ep 硬件平台,讨论了嵌入式操作 windows ce.net 的系统定制过程,并在此基础上介绍了开发工具 embedded visual c+和应用程 序调试方法;最后,移植 berkeley db 到 windows ce.net 操作系统上,在此基 础上, 提出了 berkeley db 数据访问模型的设计思想, 并详细分析了 berkeley db 数据访问模型。 在理论研究分析的基础上,本文开发设计了基于 berkeley db 数据访问模型 的电子词典。 该电子词典采用了嵌入式操作系统 windows ce.net 与嵌入式数据 库 berkeley db 相结合的软件架构, 采用 embedded visual c+作为开发语言, 采 用模拟器与 ours-pxa270ep 硬件平台相结合的方式进行开发与调试。设计分 析了电子词典的系统框架和应用程序界面,完成了数据处理的基本操作功能,如 查找、 添加、 编辑和删除等。 最后, 对该电子词典功能进行了测试, 验证了 berkeley db 数据访问模型。 在本文最后,作者对论文所做的研究内容进行了总结,同时,指出了研究和 程序设计的后续工作和尚待解决的关键问题。 关键词:嵌入式系统 操作系统定制 数据访问模型 电子词典 成都理工大学硕士学位论文 ii research and implementation of berkeley db technology introduction of author: zhang qiu-ju, female, was born in september, 1983.enrolled in chengdu university of technology in september,2007, and tutored by professor wang hua-jun. the major is computer application technology and was granted the master degree in june, 2010. abstract with the rapid development and application of embedded system, the needs for storage and management of data are also in high-speed growth, and then embedded database system emerged. compared to traditional pc database, embedded database should have some features such as less memory resources occupation, closer integration with application, higher reliability and security, network and so on. with the features in data processing, embedded database has been well developed. with the features of the present embedded system software development which based on embedded database berkeley db, such as code redundancy, low reusability, this paper has proposed the design of building berkeley db data access model, and verified the model through researching the development and realization of electronic dictionary which based on berkeley db data access model. first,this paper introduced embedded database and berkeley dbs concept, structure and using methods. then, this paper analyzed the hardware environment of ours-pxa270ep, discussed the process of customizing operating system, introduced the development tool embedded visual c+ and the methods of application debugging, besides,transplanted berkeley db onto windows ce.net. last, proposed the design of berkeley db data access model, and deeply clarified the process of building berkeley db data access model. on the basis of the theory research and analysis, this paper designed electronic dictionary which based on berkeley db data access model. this electronic dictionary took embedded operating system windows ce.net and embedded database berkeley db as its software architecture, embedded visual c+ as its development language, simulator and ours-pxa270ep hardware platform as its development and debugging tools. this paper designed and analyzed the system structure and application interface of electronic dictionary, and finished the basic abstract iii data processing operations such as search, add, delete, and update. lastly, this paper verified the model of berkeley db data access model through testing electronic dictionary. at the end of this paper, i has summarized the study contents of this paper, and pointed out the following work of design and the key issues to be resolved. keywords:embedded system customize operating system data access model electronic dictionary 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果, 也不包含为获得 成都理工大学 或其他教 育机构的学位或证书而使用过的材料。 与我一同工作的人员对本研究所做的任何 贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解 成都理工大学 有关保留、 使用学位论文的规定, 有权保留并向国家有关部门或机构送交论文的复印件和磁盘, 允许论文被查阅和 借阅。本人授权 成都理工大学 可以将学位论文的全部或部分内容编入有关数 据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 (保密的学位论文在解密后适用本授权书) 学位论文作者签名: 学位论文作者导师签名: 年 月 日 第 1 章 绪论 1 第 1 章 绪 论 1.1 研究背景与意义 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应 用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统1 。 作为继 it 网络之后的一个新兴的技术发展方向, 嵌入式系统正以其体积小、 性能强、功耗低及面向行业应用等突出优势被广泛应用于国防、消费电子、工业 控制等领域。随着嵌入式产品技术的发展和普及,要求有更多的智能化功能、更 亲切友好的用户接口及操作界面、更高的数据处理能力及网络支持2。传统的基 于文件系统的自行开发的数据管理系统,因为功能匮乏,开发周期长和维护困难 等缺点已经不能满足针对性较强的嵌入式系统开发的需求了。 目前嵌入式软件系 统开发的挑战之一,体现在对各种数据的管理能否建立一套可靠、高效、稳定的 管理模式,嵌入式数据库因此应运而生。 作为移动计算、信息电器和移动商务的核心技术,嵌入式数据库的许多特性 都与信息时代不断进步的需求相吻合。 系统可以支持移动用户在多种网络条件下 有效地访问所需数据,完成数据查询和相关事务处理;利用嵌入式数据库系统3 的同步技术,即使在断接的情况下用户也可以继续访问所需数据,这使得嵌入式 数据库系统具有高度的可用性;它还可以充分利用无线网络固有的广播能力,以 较低的代价同时支持多移动用户对后台主数据源的访问, 从而实现数据库的高度 可伸缩性,这是以往的任何数据库系统所难以比拟的。 当前,随着微处理器和嵌入式软件的迅猛发展,面向 internet/web4的应用 向嵌入式数据库领域提出了前所未有的挑战, 这些挑战对嵌入式数据库性能提出 了更高的要求,例如空间利用效率、数据库本身的存储机制、数据远程备份与同 步、 数据交换、 安全性等, 并推动了嵌入式数据库技术的研究与开发。 在零售业、 制造业、金融业、交通运输业、物流管理等领域,嵌入式数据库技术正展现出越 来越广阔的应用前景。随着移动计算、gps5定位和无线数据通信等相关技术的 迅猛发展, 嵌入式数据库必将成为未来信息社会的重要支柱, 相信在不久的将来, 人们将不再受时间和空间的限制,可以随时随地处理业务、传递与共享信息2。 1.2 国内外研究现状 纵观目前国内、国际嵌入式数据库的发展情况,基于嵌入式数据库应用的市 场需求已经进入加速发展的阶段。 嵌入式移动数据库领域的研究在继续深入发展 成都理工大学硕士学位论文 2 的同时,也已经进入了实用化和产品化阶段。 在国外,sybase 公司为移动和嵌入式计算提供了业界领先的完整解决方案 sybase sql anywhere studio 7.06;oracle 公司针对移动及嵌入式计算推出了 oracle lite 和 berkeley db 7-9;ibm 公司的移动式解决方案是两个独立的产品 db2 satellite 和 db2 everyplace10。在国内,嵌入式数据库也从研究阶段发展到 应用阶段, 例如人大金仓研发的 “小金灵” 系统; 东软集团推出的 openbase mini 以及北京大学的 ecobase 等嵌入式数据库11-12。 相对国外数据库的发展模式而 言,国内起步较晚、应用面较小、应用领域也不够广,同时嵌入式数据库也存在 诸如理论研究、 原型设计与产品商业化分离的不足。 不过随着计算终端的小型化, 应用领域的不断扩展,可以预见,不久的将来应用无限的嵌入式数据库将无所不 在。其应用将主要涉及到移动互联网、移动电子商务/政务、移动物流、移动金 融系统、 移动新闻等商业与经济领域13。 这些嵌入式数据库系统一般对资源要求 较低, 占用内存空间较小, 从几十 k 到几百 k 不等; 同时, 支持 c 语言14、 api15 函数和标准 sql 子集的开发接口,并提供了数据同步的功能。现在嵌入式数据 库已经形成了较为成熟的产业,成为嵌入式系统不可缺少的部分。 1.3 论文的主要研究内容 通过查阅大量书籍,广泛收集资料,在对国内外嵌入式数据库理论研究的基 础上,本论文以 pxa270 为硬件开发平台,构建嵌入式操作系统 windows ce.net16与嵌入式数据库 berkeley db 数据访问模型相结合的软件框架,用 embedded visual c+和模拟器作为开发调试工具。 设计并实现了一个嵌入式数据 库应用系统电子词典,本文的主要研究内容主要有以下几个方面: (1) 嵌入式应用程序开发技术 研究嵌入式数据库及 berkeley db 的概念、结构及操作。深入分析嵌入式系 统的软硬件开发环境,包括 pxa270 实验箱、windows ce.net 操作系统定制、 嵌入式软件开发工具 evc 以及 mvc 设计思想。 (2) 提出 berkeley db 数据访问模型的设计思想 讨论将 berkeley db 移植到 windows ce.net 中的可能性,并对移植进行测 试。通过研究 mvc 的思想,提出 berkeley db 数据访问模型的设计思想,并对 berkeley db 的基本数据处理操作进行封装,构建 berkeley db 数据访问模型。 (3) 基于 berkeley db 数据访问模型的电子词典的设计与实现 对电子词典进行需求分析、系统总体设计和界面设计,数据库操作部分采用 berkeley db 数据访问模型进行调用,并就部分功能的实现方法给出详细代码。 最后,对该电子词典进行测试,验证 berkeley db 数据访问模型。 第 1 章 绪论 3 1.4 论文的组织结构 本文在对嵌入式技术深入理论研究的基础上,提出了 berkeley db 数据访问 模型,并基于此模型在嵌入式开发环境下,完成了电子词典的设计与开发。各章 节具体安排如下: 第一章为绪论,该部分介绍了嵌入式数据库技术的研究背景与意义、国内外 研究现状及论文的主要研究内容。 第二章介绍嵌入式数据库的概念、特点与体系结构等,阐述 berkeley db 数 据库的概念、发展、特性、结构及使用方法,研究嵌入式操作系统 windows ce.net 下应用程序开发的软硬件平台、开发工具及 mvc 的设计思想。 第三章讨论将 berkeley db 移植到 windows ce.net 中的可能性,并对移植 进行测试。基于 mvc 的思想,提出 berkeley db 数据访问模型的设计思想,并 对 berkeley db 的基本数据处理操作进行封装, 构建 berkeley db 数据访问模型。 第四章基于 berkeley db 数据访问模型设计并实现电子词典的开发,通过测 试,验证了 berkeley db 数据访问模型的可行性。 最后对本文的主要研究工作进行总结,并指出进一步要展开的任务。 成都理工大学硕士学位论文 4 第 2 章 相关技术介绍 2.1 嵌入式数据库 2.1.1 嵌入式数据库的概念 数据库技术总是与计算环境的一定发展阶段相适应,新的计算环境促成新的 数据库技术的形成和发展。纵观计算环境的发展历史,计算环境先后经历了集中 式计算环境、分布式计算环境、网络计算环境以及受到广泛关注和研究的移动计 算环境 mce (mobile computing environment) 17和普适计算环境 pce (pervasive computing environment) 18等多种计算模式。在分布式计算的基础上,计算环境 进一步扩展为包含各种移动设备、 具有无线通信能力的服务网络从而构成了移动 计算环境。 伴随着计算环境的发展,数据库系统也经历了集中式数据库系统、分布式数 据库系统、b/a/s 多层结构数据库系统的发展过程,直至今天的嵌入式移动数据 库系统。当前,采用标准的关系数据库和数据同步技术,研究和发展移动计算环 境下的嵌入式移动数据库管理系统已成为了数据库领域的新焦点。 一般来说,嵌入式数据库可以从体系结构方面来定义:嵌入式数据库系统是 指支持移动计算或某种特定计算模式的数据库管理系统, 它通常与操作系统和具 体应用集成在一起,运行在智能型嵌入式设备或移动设备上。由于嵌入式数据库 总是与移动计算相互结合,所以嵌入式数据库通常也成为嵌入式移动数据库。嵌 入式移动数据库技术涉及数据库分布式计算以及移动通讯等多个学科领域, 已成 为分布式数据库一个新的研究方向19。 2.1.2 嵌入式数据库的特点 从前面对嵌入式数据库的概述中可以看出,与大型数据库系统相比较,嵌入 式数据库系统有其自身固有的特点。归纳起来,嵌入式数据库系统有如下主要特 点20: (1) 系统微型化 嵌入式系统资源有限,有些甚至没有磁盘,系统的数据不像硬盘数据库系统 的数据可以驻留在磁盘中,在嵌入式系统中,数据大部分存储在内存中,因而在 这种情况下嵌入式系统数据处理有着其自身的特点即: 提高数据存储空间的利用 率,增加嵌入式设备的数据存储能力;根据应用需要,选择系统必须的功能,因 为微型化是以放弃系统功能的完备性为代价的。 第 2 章 相关技术介绍 5 (2) 可靠性、可管理性和安全性 嵌入式系统通常在移动、相对封闭的环境下使用,需要能在无需人工管理的 情况下运行。此外,嵌入式数据库主要负责系统中数据管理或处理,对嵌入式数 据库系统的存取权限的控制也会比较严格。同时,许多嵌入式设备具有较高的移 动性、便携性和非固定的工作环境,也对数据的安全性带来潜在的危险。鉴于这 一特点,对于嵌入式系统中使用的数据库来说,其自身的可靠性、可管理性和安 全性显得特别重要。 (3) 互操作性和可移植性 一般嵌入式数据库系统都是能针对具体的开发平台和操作系统设计和实现 的,但为了保证与其它的嵌入式数据库或者大型企业数据库进行信息共享,数据 库开发人员在开发系统的过程中,应该提供一定的机制,实现与其他数据处理程 序的互操作、以及相应的数据同步功能。同时嵌入式系统的应用领域非常广泛, 所采用的操作系统和硬件环境也千差万别,为了适应这种差异性,嵌入式数据库 系统的移植性必须得到充分考虑。 (4) 网络支持 网络支持使得系统可以通过各种有线或无线连接协议让多个移动终端具有 进行数据共享、以及终端与后台主数据源进行数据交互的能力。特别是无线网络 的快速发展会带动嵌入式数据库实现远程和同步的数据管理。 2.1.3 嵌入式数据库的体系结构 嵌入式系统的软硬件平台和功能多种多样, 这也导致了嵌入式数据库系统的 应用环境非常丰富多样。因而,嵌入式数据库没有一个比较固定的模式,其结构 和采用的技术手段也因为不同的需求而多种多样。总的来说,嵌入式数据库系统 从结构上可以分为两大模块21 : (1) 外壳 这部分主要是一个查询处理器。 数据库系统在这一层为用户提供管理数据库 的途径,一般有这么几种方式:可供直接调用的内部 api 接口函数、sql 接口 函数、通用标准接口、面向对象的接口函数。嵌入式数据库一般都提供了直接访 问的 api 接口,这种方式访问速度快,适合嵌入式系统的要求。有些嵌入式数据 库还提供了其余两种接口, 具体提供什么种类的接口要由该嵌入式数据库面向的 应用环境所决定。 (2) 内核 这部分是整个系统的核心,包含了系统管理、事务管理、缓冲区管理的功能 模块。如图 2-1 所示是一个典型的嵌入式数据库系统的体系结构图。 成都理工大学硕士学位论文 6 面向对象接口 api接口sql接口 数据库系统功能 事务模块数据库基本功能 日志机制 database i/o 缓冲机制 ram表虚拟文件 flash文件系统 外壳 内核 图图 2-1 嵌入式数据库体系结构 2.1.4 主流嵌入式数据库介绍 纵观国际、国内嵌入式数据库的发展,基于嵌入式数据库的应用需求多种多 样,计算平台也各有特色,并没有统一的技术平台,因此,还没有任何一家厂商 能够做到一统天下。本文针对目前几种主流的嵌入式数据库作简要介绍如下: sybase sql anywhere studio: 作为关系型嵌入式数据库的代表, 是sybase 公司为移动和嵌入计算提供的完整解决方案。 该解决方案借助整个企业资源的管 理,为信息服务部门提供了一个扩展分布式计算环境的有效策略。它把企业的基 础设施、最新需求和潜在能力与包含移动和嵌入式计算的 new workplace, internet 等技术集成在一起,提供了数据管理与企业同步功能,帮助企业快速地 部署和实施分布式电子商务解决方案, 使企业可以保证它的数据在任何需要的时 间和地点都可被访问。 sqlite: sqlite 是d.riehardhipp 用一个小型的基于c 库开发的一种强有 力的嵌入式关系数据库管理体制。它是完全独立的,不具有外部依赖性,同时提 供了丰富的数据库接口,提供了对 sql92 标准的大多数支持:支持多表和索引、 事务、视图、触发和一系列的用户接口及驱动。它可以在所有主要的操作系统上 运行, 并且支持大多数计算机语言。 其主要特点是高效小巧、 可移植性好、 开源、 支持 sql 语言查询。 berkeley db: berkeley db 是由美国 sleepycat software 公司开发的一套 开放源码的嵌入式数据库,现已被 oracle 公司收购。作为嵌入式链接库,它能 第 2 章 相关技术介绍 7 为应用程序提供可伸缩的、高性能的、有事务保护功能的数据管理服务。在 berkeley db 中并没有数据库服务器的概念,应用程序不需要事先同数据库服务 建立起网络连接, 而是通过内嵌在程序中的 api 函数库来完成对数据的保存、 查 询、修改和删除等操作。其主要特点是高效、稳定、小巧、可移植性好、特性丰 富、开放源代码。 openbase mini:嵌入式数据库管理系统是东软集团研制、开发的 openbase 产品系列中的一员。它与该产品系列中的其它成员(openbase 多媒 体数据库管理系统、openbase web 应用服务器、openbase secure 安全数据 库系统)一起,涵盖了企业应用、internet / intranet、移动计算等多种应用领域, 具有多样的应用模式。其主要特点是:具有微小内核结构、支持多种连接协议、 具有完善的数据同步机制、支持多种主流的嵌入式操作系统和多种移动设备,提 供了灵活方便的应用开发编程接口,提供对标准 sql 的支持。 由上可以看出,由于嵌入式设备提供服务功能的多样化,不同的嵌入式系统 对嵌入式数据库的应用有不同的要求,主要体现在:对高端用户群体而言,嵌入 式数据库系统需要较高的并发控制能力、可剪裁可配置的事务处理能力、健壮性 以及快速的灾难恢复能力;对低端用户群体而言,嵌入式数据库系统可能并不需 要复杂的并发控制和事务处理功能, 而只需要具备较高的性能和快速的数据查询 存储能力。因此,对嵌入式数据库技术的研究最好将其放在特定的应用背景中, 本文后面将要研究 berkeley db 嵌入式数据库在 windows ce.net 中的适用性。 2.2 berkeley db 2.2.1 berkeley db 概述 berkeley db 最初是由美国 berkeley 大学开发的内嵌式数据库管理系统,它 能够运行在大部分的unix (2) 向数据库添加数据 常用的方法是调用 db-put 函数。 db-put 函 数 原 型 为 : int db-put(db*db, db_txn*txnid, dbt*key, dbt*data, u_int32_t flags); (3) 查询数据 调用 db-get 函数可以完成数据查询。 db-get 函数原型: int db-get(db*db, db_txn*txnid, dbt*key, dbt*data, u_int32_t flags); (4) 从数据库中删除数据 成都理工大学硕士学位论文 12 调用 db-del 函数可以完成数据删除。 db-del 函数原型:int db-del(db*db, db_txn*txnid, dbt*key, u_int32_t flags); (5) 关闭数据库 当对数据库的操作完成后,必须要关闭数据库,释放资源。通过调用 db-close 函数可以将内存缓冲中的数据库数据写入磁盘,释放所占用的资源并 且关闭底层的数据库文件22。 db-close 函数原型:int db-close(db*db, u_int32_t flags); 2) 出错处理 对于任何一个函数库来说,如何对错误进行统一的处理都是需要考虑的问 题。和通常的库函数错误处理一样,当操作成功时,berkeley db 库函数会返回 0;对于系统错误(比如磁盘空间不足、对文件的访问被拒绝、调用 api 的参数出 错等)导致的操作失败,berkeley db 会返回一个大于 0 的错误代码;对于非系统 错误引起的操作失败,berkeley db 会返回一个特定的错误标志。比如,数据库 中没有所请求的查询关键字,则会返回“db_notfound” 。在 berkeley db 中 提供了专门的函数来捕获错误代码并将之转变成具体的错误描述。当错误发生 时,首先由函数 db_strerror 返回指向错误消息的指针,该函数对于系统错误和 berkeley db 自身的错误都可以处理;然后,再由 db-err 或 db-errx 这两个函 数来格式化输出错误信息。 2.3 ours-pxa270ep 介绍 ours-pxa270ep 教学开发系统,基于 intel 公司最新的 xscale 架构 pxa27x arm 系列处理器, 最高主频可达 624mhz, 加入了 wireless mmx 技术, 极大提升了多媒体处理能力;同时,pxa270 还加入了 intel speed step 动态电源 管理技术,在保证 cpu 性能的情况下,最大限度地降低移动设备功耗,可以广 泛应用于 pda、智能手机、pmp 等产品中。该开发平台采用核心板外加扩展板 的模式,支持 linux 2.4.20/ 2.6 和 windows ce 5.0 操作系统。其外观如图 2-3 所示。 第 2 章 相关技术介绍 13 图图 2-3 ours-pxa270ep 教学开发系统 pxa270 的核心板硬件参数和底板硬件参数分别如表 2-1,表 2-2 所示。 表表 2-1 pxa270 的核心板硬件参数 表表 2-2 pxa270 的底板硬件参数 成都理工大学硕士学位论文 14 2.4 嵌入式操作系统 windows ce.net 这一章介绍的是开发本文数据库应用系统电子词典,所使用的嵌入式操 作系统 windows ce.net。 windows ce.net 是微软专门为信息设备、移动应用、消费电子产品、嵌入 式应用等非 pc 领域而新设计的战略性操作系统产品,其应用领域非常广泛,如 pda 市场、新一代手机操作系统以及工业控制等。windows ce.net 的设计目标 是:模块化及可伸缩性、实时性能好、通信能力强、支持多种 cpu。从操作系 统内核的角度看, windows ce.net 具有灵活的电源管理功能,包括睡眠/唤醒模 式、在 windows ce.net 中,还使用了队形存储技术,包括文件系统、注册表及 第 2 章 相关技术介绍 15 数据库。windows ce.net 是一个具有抢占式多任务功能,并具有强大的通信能 力的嵌入式操作系统。它广泛支持各种通信硬件,亦支持直接的局域网链接以及 拨号链接,并提供与 pc,内部网以及 internet 的连接,包括应用级数据传输的设 备至设备间的连接。 大多数嵌入式产品都是针对特殊的目标板进行的开发,从而完成特定的功 能。也就是说嵌入式操作系统是与应用环境密切相关的,windows ce.net 当然 也不例外。同时,为了提高系统的可移植性,windows ce.net 采用了硬件抽象 层(hardware abstraction layer, hal)和 bsp(board support package)的底层结 构设计思想。hal 提供了与设备无关的特性,屏蔽了不同平台硬件的差异,向 操作系统的上层提供了一套统一的接口。hal 隐藏了各种与硬件有关的细节, 保证了整个系统的可移植性;bsp 一般由硬件厂家提供并按照给定的规范完成, 保证了嵌入式操作系统可以在新推出的微处理器硬件平台上运行。 开发一个基于 windows ce.net 的应用系统, 需要有宿主机安装操作系统构 建工具即 platform builder,目标平台需要通过一种通讯方式与宿主机连接起来, 如串口、并口或以太网,推荐使用以太网。使用 platform builder 定制 windows ce.net 操作系统的流程,包括建立基本的操作系统镜像、编译操作系统镜像、 生成 nk.bin 并烧写到 flash 和定制 sdk。如图 2-4 所示: 配置平台 定制平台 开发设备驱动程序 创建或加入组件 修改源代码配置文件 调试平台 编译操作系统 定制目标设备 下载到目标平台 开发bsp和 bootloader 导出sdk 完成平台开发 继续修改 yes no no yes 图图 2-4 windows ce.net 操作系统定制流程 成都理工大学硕士学位论文 16 以下将对 windows ce.net 操作系统镜像的定制、调试、生成、添加自定义 特性、加载进行详细介绍。 2.4.1 构建 windows ce.net 开发环境 安装 windows ce.net 开发环境的步骤大致如下: 放入 windows ce.net 的光盘,单击“install”按钮,进行相应的安装。完 成后需要安装.net framework, 还有第三方的组件可供选择安装, 如图 2-5 所示: 图图 2-5 第三方组件的选择性安装 至此基本上完成了 pb 平台的安装,其开发界面如图 2-6 所示: 图图 2-6 platform builder 开发界面 第 2 章 相关技术介绍 17 如图 2-6 所示,右侧的特性目录区窗口是操作系统可选特性的一个集合,包 括 bsp、 core os、 设备驱动程序, 还包括开发人员自己通过 cec (catalog feature file 是可编辑的一个文件,通过编辑该文件,开发人员可以加入自己定制的特性 到特性目录中)导入的自定义特性,以及通过设备提供商的 cec 文件加入到系 统中的特性;左侧的工作区窗口是开发人员已经选定的特性列表,这些特性都将 用到一个新定制的操作系统中。此外,如果存在与正在定制的操作系统相关的应 用软件, 工作区窗口还会出现类似于 visual c+工程的 class view、 resource view 和 file view 等可选标签。 微软的 platform builder4.2 是一个定制的基于 windows ce.net 操作系统的 嵌入式平台的集成开发环境(ide) 。platform builder 同时自带了设计、创建、 生成、测试并调试一个基于 windows ce.net 平台所必需的开发工具。ide 提供 了一个单独集成工作区,在工作区内可以在平台和工程中进行开发。具体来说, platform builder 的主要开发特性包括: (1) 平台开发向导(platform wizard)和 bsp 开发向导(bsp wizard) 。开发 向导用来引导开发人员去创建一个简单的系统平台或 bsp(主板支持软件包) , 然后再根据需求进一步地修改。开发向导提高了平台和 bsp 创建的效率。 (2) 基础配置。它是为各种流行的设备类别预置的可操作系统基础平台,为 自定义操作系统的创建提供了一个起点。 开发人员可以很容易的定制并编译出一 个具备最基本功能的操作系统,然后再在其上进行后续的修改。 (3) 特性目录(catalog) 。操作系统的可选特性均在特性目录里列出,开发人 员可以选择相应的特性来定制操作系统。 (4) 自动化的依靠性检查。特性(feature)之间的依赖关系是系统自动维护 的。开发人员在选择一个特性时,系统会自动将这一特性所依赖的特性加上;反 之,当删除一个特性时,系统会自动检测是否已经选择了依赖于它的其他特性, 如果有,系统会给出提示,通知开发人员这一特性现在不能删除。 (5) 系统为驱动程序开发提供了基本的测试工具集 windows ce.net test kit (测试工具包) 。 (6) 内核调试器。它可以对自定义的操作系统映像进行调试,并且向用户提 供有关映像性能的信息。 (7) 导出向导。它可以向其它 platform builder 用户导出自定义的目录特性 (feature) 。 (8) 导出 sdk 向导。它使用户可以导出一个自定义的软件开发工具包 (sdk) ,即可以将用户定制的 sdk 导出到特定的开发环境中(如 evc) 。这样 开发人员就可以使用特定的 sdk 写出符合特定的操作系统平台所要求的应用程 序。 成都理工大学硕士学位论文 18 (9) 远程工具。它可以执行同基于 windows ce.net 的目标设备有关的各种 调试任务和信息收集任务。 (10) 仿真器(emulator) 。它通过硬件仿真加速和简化了系统开发,使用 户可以在开发工作站上对平台和应用程序进行测试,大大简化了系统开发流程, 缩短了开发时间。 (11) 应用程序调试器。它可以在自定义的操作系统映像上对应用程序进 行调试。 (12) 提供了对.net framework compact edition(即.net 平台精简框架) 的支持。 在许多情况下, platform builder 不但需要向目标平台添加基本的操作系统特 性,以使它能够完成基本的控制任务,而且还要向目标平台中加入外部设备的驱 动程序和一些附加设置。 2.4.2 windows ce.net 内核 1. 安装好 platform builder 平台后,还需要为平台安装 pxa270 配套的 intel bsp。 找到 wince5_ours270_bsp.msi 这个文件,点击并按照提示选择好安装路径进 行安装, 在 pb 平台的 file-manage catalog items 下可以看到安装成功的 bsp 信 息,如图 2-7 所示: 图图 2-7 成功安装的 intel bsp 至此,我们完成了 windows ce.net 平台的构建。 2. windows ce.net 内核定制 完整的 windows ce.net 操作系统镜像是基于固定的硬件平台来运行的,所 第 2 章 相关技术介绍 19 以一个 windows ce.net 操作系统镜像的基本内容如表 2-3 所示。 表表 2-3 windows ce.net 内核 序号 项目 说明 1 bootloader 加载windows ce.net操作系统镜像的程序 2 cpu 初始代码 基于特定cpu系列的初始代码, 由windows ce.net 提供 3 驱 动 程 序 键盘 基于特定硬件结构的驱动程序, 不同的硬件 设备可能有不同的设置,驱动程序分别由 windows ce.net 和硬件厂商提供,其它具 体的驱动程序需要设计人员自行编写 鼠标 声卡 显卡 ide com usb 第三方驱动 4 用户界面接口 5 完成特定功能的应用程序 定制操作系统镜像的过程大致有以下几个操作步骤: 首先,启动 platform builder,根据操作系统镜像的建立向导建立一个平台, 在可供选择的 bsps 中,选择 emulator:x86,因为我们要先在 pc 机的模拟 器平台上运行开发好的应用程序; 其次,在菜单 platform 下点击“setting” ,设置平台参数; 最后,点击“build platform”按钮,建立平台,该过程大概要 15 分钟左右。 编译结束后,点击“download”按钮或者从菜单 target 下点击“download” ,即 可 弹 出 定 制 好 的 系 统 。 该 系 统 的 二 进 制 映 像 文 件 “ nk.bin ” 可 以 在 c:wince500pbworkplacesours270reldirours270_armv4i_releas 找到。 2.4.3 定制 sdk 并建立 evc 下的开发环境 在开发成功一个平台的操作系统镜像后, 就可以使用 platform builder 来建立 该平台的 sdk (software development kit),开发者可以基于它来编写、调试针对 这个特定目标平台的嵌入式应用程序。我们是利用 platform builder 里的导出向 导(export wizard)将该平台的 sdk 导出的,导出的 sdk 以一种自解压可执行 文件形式存在。其步骤如下: 成都理工大学硕士学位论文 20 (1) 停止与目标设备(或仿真)的连接,停止调试工作。 (2) 在菜单 platform 下,点击 new sdk,新建一个 sdk 文件并命名,填好 产品和厂商名字后点击下一步,按图选择 embedded visual c+4.0 support。 (3) 打开 platform 菜单,单击 configure sdk,启动 sdk 配置向导程序,出 现欢迎画面,点击下一步,在弹出的窗口中,点击 emulation 下拉菜单,选择 emulator:x86 win32(wce emulator)release 和 emulator:x86 win32 (wce emulator)debug,并将内存都设置为 64。 (4) 传输类型选择 tcp/ip,点击 build sdk,这个过程大概需要 3 分钟。 (5) 生成的 sdk 文件在 c:wince500pbworkspacespxa270sdk 下,安装 此 sdk 即可实现在模拟器上运行开发好的应用程序。 至此,我们已经为 evc 建立了开发环境。 2.5 开发工具 embedded visual c+简介 鉴于嵌入式系统资源有限,c+编译器效率高、性能好,编译出来的应用程 序结构紧凑,因此,embedded visual c+(以下简称 evc)是 windows ce.net 下应用程序开发工具的最佳选择。 evc 是 windows ce.net 所包含的强有力的应用程序开发工具。 利用 evc, 程序员将在友好的环境下开发基于 windows ce.net 的应用程序, 并能访问详细 的平台软件开发工具包文档。用 evc 进行应用程序开发,程序可运行于特定的 平台,而不需要编写额外的代码,针对特定平台的代码转换工作将由系统自动完 成23。 2.5.1 evc 的组件 evc 提供了与 microsoft visual c+相似的开发环境。不同的是,evc 提供 了特定的工具与资源来开发 windows ce 应用程序。 evc 集成开发环境拥有以下 组件24: (1) 编译器:包含 c, c+编译器。 (2) 模拟器:evc 包含一个模拟器,它能够在 pc 下模拟 windows ce.ne 的 物理平台。但实际上它只是一个运行在 cpu ring 3 级别的用户程序。 (3) 平台管理器:管理不同的平台,它能够将编译的程序下载到指定的平台 上。 (4) 调试器:能够单步执行程序和设置断点。 (5) 工作区:包含类视图、资源视图、文件视图,分别管理当前项目所有的 类、资源、文件。 第 2 章 相关技术介绍 21 (6) 代码编辑区:也就是文本编辑器。在编辑区内编写、修改代码。 (7) 类向导和应用程序向导:创建类和应用程序的向导。 (8) 远程调试工具:多个用于远程调试的工具。 (9) 帮助文档和在线帮助:提供包含 evc 开发方面的技术文档。 2.5.2 程序开发方法 evc 进行程序开发的方法包括:mfc(微软基础类库)、win32 api(应用程 序接口)和 atl(活动模板库)。 其中,win32 api 是指 windows ce.net 内核提供给上层应用程序及驱动程 序的接口

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论