基于Eclipse平台的插件扩展实现.pdf

收藏

预览图
编号:40116188    类型:共享资源    大小:2.21MB    格式:PDF    上传时间:2020-01-13 上传人:仙人****88 IP属地:河南
12
积分
关 键 词:
基于 Eclipse 平台 插件 扩展 实现
资源描述:
电子科技大学 硕士学位论文 基于Eclipse平台的插件扩展实现 姓名 王强 申请学位级别 硕士 专业 软件工程 指导教师 王忠仁 20060510 摘要 摘要 伴随着信息家电 网络产品 手持设备 无线设备等的迅速发展 嵌入式系 统的应用开发已经成为了计算机工业最热门的领域之一 由于嵌入式软件的特殊 性 使得它的开发比传统应用程序要复杂的多 对于集成开发环境的要求也相应 提高 集成开发环境 I D E 作为嵌入式开发工具中的关键部分 扮演着极为重 要的角色 好的I D E 将大大缩减嵌入式软件的开发时间 提高嵌入式软件的可靠 性和健壮性 目前 对嵌入式开发的I D E 研究多种多样 平台也各有特色 E c l i p s e 作为开源社区的开发项目 专注于为高度集成的软件开发提供 个可 扩展的开发平台和应用框架 随着E c l i p s e 平台插件技术的发展 使得其在嵌入 式领域内将有着更为广阔的前景 然而作为一个优秀的开源平台在嵌入式领域中 的应用 E c l i p s e 平台在对目标机系统配置管理这一方面还需提高 所以需要一种 针对嵌入式领域的配置管理工具作为第三方插件来扩展现有E c l i p s e 平台 本课题的目标就是设计并实现一种基于E c l i p s e 平台的目标机配置管理工具 本文首先论述嵌入式系统开发相关技术 然后深入分析了E c li p s e 平台及其插件 技术理论 在充分理解E c l i p s e 插件开发理论后 结合实际情况 设计并实现了 用于目标机配置管理的插件工具 该工具具有良好的软件架构和可移植性 目前 已经成功应用于平台系统开发上 事实证明 该工具完全满足目标机配置管理的 各种要求 大大缩短了应用软件的开发周期 对软件的质量起到了良好的保障作 用 关键词 E c l i p s e 插件 T a r g e t M a n a g e r 通用客户端 A b s 自r a c t A 6 S 敞f w i mt h eT a p i dd e v e l o p m e n to fi n f o m 撕o na p p l i a n c e n e t a r kp r o c t h a n m e d d e i c ea n d 讲r e l e s sd e 们c e 也ed e v e l o p m e n to fe m b e d d c d 印p l i c a d o nh a sb e c o m eo n e o ft h em o s tp o p u l a rd o m a i l li nc o m p m c ri n m l s 略D u et om es p e d a l i t yo fe 1 1 1 b l d e d s o 行 a r e i t sd e v e l o p I n 衄ti sm u c hm o r ed i m c u l tc o m p a r e dw i mm ed e V e l o p m e n to f t r a d m o n a l 印p l i c a t i o na l l dn l er e q u i r e m c n to f 1 ei n t e 蓼a 曲nd e v e l o p m e n te n v 的m n e n t i sh i 曲c r I n t e 蓼a t i o nD e v d o p m e n tE n v i r o 啪e n t I D E 龉孤c r i t i c a lc o m p o n e n ti n d c v e l o p m e I l tt o o l s p l a y sa I li m p o r t a n tr o l e i nt l l e m G o o dm E c a nd e c 塌蟾et l l es 0 脚a r c d e v e l o p m e n tp e r i o d i n l p r o v et h es o f t w a r er e l i a b i l i t yo b i o u s l y C m T c I l t l y t l l er e s e a r c ho f I D Ei n 锄b e d d e dd e V e l o p m c l l t l l 够m u l t i p l i c i 哆a I l de a c hp l a t f o 咖h a si t sm d t s E c l i p s ei sa I lo p c ns a u r c ec o 删嘶t yw h o s ep r o j e c t sa r ef o c u s e do np r o V i d i n ga n e x t e 璐i b l ed e v e l o p m e n tp l a 廿b 衄a n da p p l i c a t i o n 董r a m e w o f k sf o rb 试l d i n gi n t e 蓼a t e d t 0 0 1s o 脚a r e W i mt h ed e l o p m e n to fp l u 争i l lb 鲫耐o nE c l i p s e E c l i p s ew i l lh a v e m u c hw i d e r 如C u r ei ne I l 曲e d d e d 鲫蛐d o m a i n B u t B c l i p s e a sa ne X c e l l e n t o p e I l s o l l r c ep l a t f o n ni n 唧b e d d e da p p l i c a t i o n n e e d si r n p m V 锄e 1 1 ti nc o n f i g I l r a t i o n m a n a g e m e n to ft a r g e ts y s t 锄 S ow en do n ee I n b e d d e dc o 曲g u r a t i o nt o o la sm 硼 p a n yp l u g 证e x t e n d i n gE c l i p s ep l a t f 0 皿 T h eg o a lo ft l l i ss u b j e c ti st o d e s i 肛a n dr e a l i z ea 幽do ft 0 0 1u s 酣o n c o n f i 静1 r a t i o nm a n a g e m e mo ft a r g c ts y 8 t e mb 嬲 do nE d i p s ep l a t f o r m T l l i sp a p e rf i r s t i I l 廿o d u c e st l l et e c h I l 0 1 0 9 yo fe l l l b c d d e ds y s t e m a f I 洲a r d m a k e sad e 印肌a l y s i so n E c l i p s ep l a t f o r ma 1 1 dp l u g i n 也c o r e t i c s A f e r 如l l yu n d e r s t 姐d m gt l l em e o r e d c so f p l u g i I ld e v e l o 皿n e n t a c c o r d i n gt 0a c t l l a ls i t I l a t i o nd e s i g n e d 锄di I I 巾l l e n t e dap l u 争i n t o o lu s e do nc o n f i g t l r a t i o nm a n a g e l I l e mo ft a r g e ts y s t e m T h et 0 0 1h a s9 0 0 ds o 脚a r e a r c h i t e c 眦姐dc a l lb ep o f t e de 嬲i l y i tn o wh a sb e e nu s d 证t h ed e v e l o p m e n to f p l a t f o ms y s t e ms u c c e s s f i m y T h er e s u l ts h o w sm a ti tm e e t sa l lt h ed 咖a n d so f c o n 丘g 眦a t i o nm a n a g c m e n to f t a r g e tg y s t 鼬 d e c r e 勰e st h ep e r i o do f t h ed e v e l q 噬n e n to f s o 脚盯ea n dg I l a r a I l t e e st h eq u a l i t yo f t l l es o 脚a r eo b r i o l l s l y K e y o r d s E c H p s e P l u g i n 1 豫tM 锄a g e r U I l i 丘e dC 1 i e n t I I 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果 据我所知 除了文中特别加以标注和致谢的地 方外 论文中不包含其他人已经发表或撰写过的研究成果 也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意 签名 墨兰当日期 厶 年占月垃日 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留 使用学位论文 的规定 有权保留并向国家有关部门或机构送交论文的复印件和磁 盘 允许论文被查阅和借阅 本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索 可以采用影印 缩印或 扫描等复制手段保存 汇编学位论文 保密的学位论文在解密后应遵守此规定 签名 王强导师签名 至 三 日期 弘形年r 月J 驴日 第一章绪论 1 1 课题研究背景 第一章绪论 伴随着信息家电 手持设备 无线设备等的迅速发展 电子产品升级换代加 快 竞争激烈 掌握缩短产品开发周期 降低成本和提高质量的核心技术并形成 自主知识产权的平台产品是取得竞争胜利的关键 嵌入式系统作为这些电子产品 的核心部件正发挥着越来越大的作用 由于硬件价格的大幅度降低 嵌入式软件 的成本就成为制约嵌入式产品价格的决定性因素 随着对嵌入式软件产品要求开 发周期的缩短 软件产品质量的保证 使得嵌入式系统开发人员要求采用更为先 进的开发工具 完善的集成开发环境 I n t e g r a t e dD e v e l o p m e n tE n v i r o n m e n t I D E 正是为了满足广大开发者的要求而产生的 近年来 随着软件插件技术的不断演进和成熟 插件应用技术已经应用与众 多软件开发领域 并且这已经成为一种软件应用扩展的趋势 而在众多插件技术 应用中 唯有E c l i p s e 这种开源平台 将其发挥的淋漓尽致 E c l i p s e 是一个开源 软件开发项目 其主要任务是为开发高集成性工具提供一个健壮的 功能齐全的 平台 与操作系统厂商不同 它采用行业中普遍使用的开放系统架构来开发平台 所需的工具 这种架构可支持各个厂商的产品 提供统一的图形化描述及操作 并且符合 相应规范扩展的工具都可以在该架构中协调配合 用户不必再由于开发工具的相 互不兼容性而必须使用单一厂商提供的特定产品 E c l i p s e 提供了一个适用于各种应用软件的基础架构 这些应用软件在 E c l i p s e 中被称为 插件 它们在架构中互动工作 这使得协同开发成为可能 工具软件厂商可以根据不同需要确定不同的发展方向 不用担心自己的插件无法 与其它插件实现完美的集成 随着E c l i p s e 插件技术的发展 针对与嵌入式系统开发的插件也将随之出现 这不仅对嵌入式软件产品的开发有着很大的贡献 同时本身也是对E c l i p s e 平台 的一种扩展 使其将在嵌入式领域有着更为广阔的前景 电子科技大学硕士学位论文 1 2 课题研究意义和价值 不同的提供商对于集成开发环境 I D E 有不同的定义 不同用户对于I D E 也 有不同的期望 从某种意义上讲 这也是对I D E 的不同定义 原来习惯于桌面开 发环境的嵌入式开发者总会用M i c r o s o f t 来作为参照 于是会把编辑 编译 调 试 项目管理作为基本的要求 桌面软件开发者比较关注应用开发 对于编辑 编译和调试功能的依赖性比较强 随着应用规模的增加 他们也希望I D E 能够提 供源代码分析 高级语言调试 企业级项目管理与构造工具 另一方面 硬件工 程师希望寻找更复杂的工具 以便在更深层次上开发嵌入式软件或者进行A S I C 验 证 而且也愿意为此牺牲一些桌面环境所具有的方便性 与桌面开发环境相比 嵌入式开发者面对着更复杂的情况 他们要适应多种 硬件平台和操作系统 例如 完全可能在一个应用系统中同时应用W i n d o w s 和 s o l a r i s 进行开发和部署 此外 随着性能 规模和成本的限制条件不同 软件和 硬件平台也必须经常进行调整 因此 嵌入式开发者常常会以硬件为中心去考虑 开发平台 桌面和嵌入式应用的开发环境已经越来越多地出现交叉和重叠 随着更多的 开发工具走向市场 以硬件为中心的嵌入式开发工程师也许会做一些更接近应用 软件或者中间件的工作 而面向应用软件的工程师则可能反过来做一些与硬件更 接近的代码 考虑到上述不同的用户需求 I D E 提供商也在推出各种各样的产品 这就使得嵌入式I D E 的组成部分有比较多的差异 对于大多数I D E 来说 无论设计目标应用是嵌入式装置还是台式机 编译器和 调试器是其中的基本工具 编译器的主要功能是将c c 或J a v a 语言的应用源 代码转换成可执行的程序 其结果可以是机器语言或者汇编语言 但是作为嵌入式领域的集成开发环境不仅仅是针对台式机本身程序的编译调 试 它同时也应该关注目标机的控制 希望能够直接通过集成开发环境本身来对 目标机系统进行管理 E c l i p s e 本身作为一个通用集成开发工具 在项目管理系统 构建系统 编辑 器 编译器 调试器方面不论在其J D T 开发环境还是在其c D T 开发环境都是比较 成功的 但是对于嵌入式开发过程中对目标机的观测控制这方面的第三方插件工 具则是有待提高的 所以在嵌入式开发方式下 构造一个能够对主机和目标机通 信连接等方式进行配置 同时对目标机工作状态进行进行管理的插件工具成为项 2 第一章绪论 目研究的重点 而且 由于E c l i p s e 逐渐作为一个工业界的开发平台 在嵌入式 领域的开发被越来越多的采用 发挥着越来越重要的作用 所以 构造一个嵌入 式的管理控制工具 简称管理控制第三方插件 有着重要的意义和价值 1 3 课题研究来源和研究内容 本课题以北京科银技术有限公司系统项目 基于E c l i p s e 平台的L a m b d a I D E 3 0 分析研究 作为项目背景 旨在跟踪国内外插件技术的发展趋势同时 对原有 L a m b d a I D E 2 O 进行对比升级 课题主要的研究内容是基于E c l i p s e 平台目标机配 置管理插件工具的研究实现 该项目主要是开发E c l i p s e 基础平台插件工具软件 为其它嵌入式软件开发 提供支撑服务 其主要目的是 开发基于E c l i p s e 平台的插件工具 满足对目标机的配置管理 维持E c l i p s e 系统具有的开放性和可扩张性 保持工具插件应用的稳定性和可靠性 在导师的悉心指导下 在该项目期间作者完成了以下工作 深入分析E c l i p s e 平台及其插件应用技术理论基础上 联系E c l i p s e 平台自 身的特点 完成并实现一个基于E c l i p s e 平台的目标机配置管理工具 使其作为 E c l i p s e 插件对平台本身进行扩展 通过该工具插件 嵌入式软件开发人员可以通 过通用界面方便的对目标机运行状态进行观测 并可以方便的通过配置页面对目 标机进行相关的配置 完成对目标机的管理 该插件工具作为E c l i p s e 平台的扩 展实现为嵌入式应用软件的开发提供支持 本论文研究工作包括以下几个方面 1 关注和研究当前嵌入式领域的相关技术 重点集中于嵌入式集成开发环境 的分析 2 对E c l i p s e 开源平台的特点和插件技术进行研究和分析 3 设计并且实现了插件工具的功能部件 一个对目标机进行控制管理的 T a r g e t M a n g a g e r 后台管理器 4 参考模型视图控制设计模式 设计了一个可以方便扩展的通用界面视图框 架 5 通过将该插件工具应用于与通用客户端界面的结合 说明了插件工具的实 用性 电子科技大学硕士学位论文 1 4 论文章节安排 第一章 第二章 第三章 第四章 方法 第五章 法 第六章 测试 第七章 进方向 介绍本课题的背景和相关技术情况 对嵌入式系统及嵌入式开发技术进行了简单的阐述 分析介绍了E c l i p s e 平台及其插件原理 详细描述了插件模块T a r g e t M a 舱g e r 的总体框架 设计思想和实现 描述了插件通用客户端接口U n i f i e d C l i e n t 的设计思想和实现方 对完成的插件目标机管理模块和通用客户端接口进行平台插件集成 全文内容总结 讨论了本课题的成功与不足之处 指出下一步的改 4 第二章嵌入式系统相关开发技术及现状 第二章嵌入式系统相关开发技术及现状 2 1 嵌入式系统概述 2 1 1 嵌入式系统的定义 嵌入式系统定义比较多 常用的定义为 1 嵌入式系统是以应用为中心 以计算机技术为基础 软件硬件可裁剪 适用于对系统功能 可靠性 成本 体积 功耗严格要求的专用计算机系统 2 嵌入式系统是计算机的一种应用形式 通常指埋藏在宿主设备中的微处 理机系统 此类计算机一般不被设备使用者在意 亦称埋藏式计算机 典型机种 如微控制器 微处理器和D s P 等 内藏这种计算机的系统威力大 反应速度快 自动化程度高 用于实现对其他设备的控制 监视或管理等功能 用户不需知道 装置内计算机的存在 一般不能被用户编程 它有一些专用的I O 设备 对用户 的接口是应用专用的 2 1 2 嵌入式系统的特点 1 嵌入对象的广泛性 由于科学技术的飞速发展 特别是微电子技术令人惊异的变化 目前 几乎 一切系统或设备都可以采用嵌入式计算技术来完成过去很多想做的 而又无法实 现的工作 我们现在从日常生活中使用的洗衣机 要实现全套洗衣流程的自动控 制操作 到提高国防力量的导弹 要实现全程自动寻找目标并实施攻击控制 无 一能离开嵌入式系统 2 嵌入形式的多样性 嵌入式技术得到广泛应用 但各种系统或设备对嵌入式计算机的性能 规模要 求是绝对不同的 这种差异势必造成嵌入式系统有其相应的多样形式 从目前看 在日常生活设备中有大量的单片形式的嵌入式系统 在工业中和军事系统设备中 有无数的单板嵌入形式和整机形式的嵌入式系统 电予科技大学硕士学位论文 3 嵌入功能的专一性 由于嵌入式系统需完成的任务和需达到的性能指针十分明确 功能目标也十 分清楚 因此 其常常无需兼顾其它功能 对于多余的功能和过高的技术指标是 毫无意义的 有时甚至是有害的 所以说嵌入式系统的功能是十分专一的 4 嵌入界面的多样性 尽管每种嵌入式系统I 0 接口的性质 规格和数量都是固定的 但由于应用 中涉及到各行各业 所以要处理的接收信号和要发出的控制信号是五花八门的 例如 指导飞行器的陀螺信号 无线通信各种波长信号 雷达接收信号 电机 马达 发动机等信号 在这些信号中 包括有 数字信号 模拟信号 高电压 大 电流信号 低电压 小电流信号 连续式信号 间断式和突发性信号 凡此种种 要求嵌入式系统设有多种类型接口 它们决非如通用计算机制定的有限几个规范 所能全部包含的 也决非单靠嵌入式计算机厂商所能全部解决的 5 嵌入性能的实时性 嵌入式系统在接收到规定信号后 必须在有限的时间内完成确定的工作任务 这是区别于其它计算机的一个十分重要的特点 也是嵌入式系统设计所必须考虑 的主要问题 它不但涉及硬件体系结构 包括C P U 速度 内存访问速度 总线速 度及中断机制等硬件问题 还涉及软件的中断管理和任务调度策略 包括调度算 法 调度频率和调度时机等 6 嵌入结构匹配性 通用计算机是以计算机为核心 按计算机本身的需求而设计其结构 而嵌入 式系统是以被嵌入的系统或设备为核心 按系统或设备的约束条件而设计其结构 的 不与系统或设备相匹配的嵌入式系统是没有出路的 要求其体积 重量 还 包括允许的功耗等因素符合宿主系统的要求 7 嵌入操作的可靠性 嵌入式系统是被隐藏在系统或设备中的 不少系统或设备用户很难直接与嵌 入式计算机接触 有的甚至在工作时 人根本无法再进行控制 因此 嵌入式系 统可靠性是一个重要因素 2 1 3 嵌入式系统的应用领域 嵌入式应用领域众多 主要有 汽车 消费电子 工业自动化 信息自动化 医疗 军事 航空航天 办公自动化 零售自动化 建筑自动化 家庭自动化 电 髂二章嵌入式系统相关开发技术及现状 镶 数据遂魄等 见图2 一l 耱示 图2 一l 嵌入式系统睦 蹲领域 信惑魄器 信息电器是指所有能提供信息服务或通过网络系统交互信息的消费类电子产 品 嚣怼辩钱 诗冀秘垮无楚不在 塞蘑毫器将羯数字诧衣瓣终往发震 邀筏辍 冰箱 微波炉 电话等酃将嵌入计算机 并通过窳庭控制中心与I n t e r n e t 滤接 转变为智能网络家电 诲可以实现邀程医疗 远程教育等 目前 智慧小隧的发 展为机顶盒打开了市场 橇瑛盒将成为网络终蝼 它不仅可以健模拟电援接收数 字电视节蠲 而置可以上网 炒段 点播电影 突现交互式墩襁 依靠瓣络服务 器提供各种服务 信息家电 网络冰箱 机顶盒 家庭网关 数字机顶盒镣 据 估计未来十年间总量可达到卜1 5 能螽 总市场辩求将达到9 0 0 1 5 0 0 亿元 移动计簿设备 包括乎机 P D A 掌上计算机等备种移动设备 中国拥有墩大的手机用户 而 掌上计算机 或P D A 由于易于使用 携带方便 价格便宜 采米几年将得别快速 笈曩 P 懿葛手凝墨受蠛融台憝势 羯攀上诗冀瓿 或鞠赫上潮 久农哥鼓戆薅淹 地获取信感 新的带持设备将使冤线互联访问成为更加普遍的现象 到2 0 0 4 年 掌上理计 算极已逐澎戏受最受欢迎熬移动诗冀产品 期阊警臻每年靛销蘩增长返2 蹋 零畜 j 键盘的警持设备镑售额下降近7 3 从1 9 9 9 譬豹1 2 0 万台下降到2 0 0 4 圣尊的8 1 万台 2 0 0 0 年全世界移动计算设备市场和1 9 9 9 邻相比 增长3 6 到2 0 0 4 年 售出盼移动计算设各中 5 1 将可以激线连接 整食手机模块 沟移动计算设备提 7 电子科技大学硕士学位论文 供语音功能 也将是大势所趋 网络设备 包括路由器 交换机 w e bs e r v e r 网络接入盒等各种网络设备 基于L i n u x 等的网络设备价格低廉 将为企业提供更为廉价的网络方案 美国贝尔实验室预 测 在这阶段 将会产生比P c 时代多成百上千倍的瘦服务器和超级嵌入式瘦服务 器 这些瘦服务器将与我们这个世界任何物理信息 生物信息相联接 通过 I n t e r n e t 自动 实时 方便 简单地提供给需要这些信息的对象 设计和制造嵌入式瘦服务器 嵌入式网关和嵌入式因特网络由器已成为嵌入 式I n t e r n e t 时代的关键和核心技术 工控 仿真 医疗仪器等 工业 医疗卫生 国防等各部门对智慧控制需求的不断增长 同时也对嵌入 式微处理器的运算速度 可扩充能力 系统可靠性 功耗和集成度等方面提出了 更高的要求 为了适应各方面的需求 嵌入式微处理器体系结构也经历了一个从 C R I S C 到R I S c 和C o m p a c tR I S C 从4 位 8 位 1 6 位 3 2 位到6 4 位 寻址空间 从6 4 k B 到1 6 M B 甚至更大 处理速度从O 1M I P S 到2 0 0 0M I P s 常用封装从8 个 引脚到1 4 4 个引脚的过程 同时 处理器的功耗也有了明显降低 集成度进一步 提高 2 1 4 嵌入式系统的发展趋势 以信息家电和移动嵌入式设备为代表的互联网时代嵌入式产品 不仅为嵌入 式市场展现了美好前景 注入了新的生命 同时也对嵌入式系统技术 特别是软 件技术提出新的挑战 这主要包括 支持日趋增长的功能密度 灵活的网络连接 轻便的移动应用和多媒体的信息处理 此外 当然还需对付更加激烈的市场竞争 这主要表现在以下几个方面 1 嵌入式应用软件的开发需要强大的开发工具和操作系统的支持 应用功能密度的增长是网络时代嵌入式产品的普遍现象 随着因特网技术的 成熟 带宽的提高 I c P 和A s P 在网上提供的信息内容日趋丰富 应用项目多种多 样 像手机 电话座机及电冰箱 微波炉等嵌入式电子设各的功能不再单一 电 气结构也更为复杂 为了满足应用功能的升级 设计师们一方面采用更强大的嵌 入式处理器如3 2 位 6 4 位R I s c 芯片或信号处理器D S P 增强处理能力 同时还采 第二章嵌入式系统相关开发技术及现状 用实时多工程技术和交叉开发工具技术来控制功能复杂性 简化应用程序设计 保障软件质量和缩短开发周期 2 联网成为必然趋势 为适应嵌入式分布处理结构和应用上网需求 面向2 1 世纪的嵌入式系统要求 配备标准的一种或多种网络通信接口 针对外部联网要求 嵌入设各必需配有通 信接口 相应需要T c P I P 协议族软件支持 由于家用电器相互关联 如防盗报警 灯光能源控制 影视设备和信息终端交换信息 及实验现场仪器的协调工作等要 求 新一代嵌入式设备还需具备I E E E l 3 9 4 u s B c A N B l u e t o o t h 或I r D A 通信接 口 同时也需要提供相应的通信组网协议软件和物理层驱动软件 为了支持应用 软件的特定编程模式 如W e b 或无线W e b 编程模式 还需要相应的浏览器 如H T M L w M L 等 3 支持小型电子设备实现小尺寸 微功耗和低成本 为满足这种特性 要求嵌入式产品设计相应降低处理器的性能 限制内存容 量和复用接口芯片 这就相应提高了对嵌入式软件设计技术要求 如 选用最佳 的编程模型和不断改进算法 采用J a v a 编程模式 优化编译器性能 因此 既要 软件人员有丰富经验 更需要发展先进嵌入式软件技术 如J a v a W e b 和w A P 等 1 2 2 嵌入式系统开发技术 虽然嵌八式系统已经应用于各个领域 但由于各种嵌入式设备都具有功能专 一 针对性强的特点 其硬件资源既不会也无必要如P C 机一样丰富 往往是非常 有限的 这样自然就引出一个问题 几乎不可能在嵌入式设备上建立一套开发系 统 因此 需要采用一种称为交叉开发 c r o s sD e v e l o p i n g 的模式如图2 2 所 示1 1 J 即 开发系统是建立在硬件资源丰富的P c 机 或者工作站 上 通常称其 为宿主机 H o s t 应用程序的编辑 编译 链接等过程都是在H o s t 上完成的 而应用程序的最终运行平台却是和H o s t 有很大差别的嵌入式设备 通常称其为目 标机 T a r g e t 调试在二者之间联机交互进行 电子科技大学硕士学位论文 宿主系统 H o s t 通信系统 c o m 目标系统 T g e t 升麓 编辑 编译 连接 调试 运行 运行程序 宿主机操作系统 宿主机硬件目标机硬件 图2 2 交叉开发系统 这里二者的 差别 主要是指 硬件的差别通常c P u 的类型都不同 例如 宿主机的c P U 为I n t e l P e n t i u mI I I 芯片 而目标机的是S t r o n g A R M l l l 0 软件环境的差异在宿主机上都有通用操作系统 O s 的支持 如 w i n d o w s L i n u x 和u n i x 等 而目标机一般都是裸机 没有任何的软件资 源 现有的目标机操作系统 如V x w o r k s 是用于对嵌入式应用的支撑 而不是用于目标机的开发环境平台 基于交叉开发模式的开发系统被称为交叉开发系统 它主要包括 交叉编译 器 交叉链接器 交叉调试器以及其它的一些交叉实用工具等 其中交叉调试器 是开发人员使用时间最长的工具 一般会耗费总体开发时间的3 0 5 0 所以交 叉调试器功能的强大与否直接关系到产品的投放时间 2 2 1 开发方法简介 交叉开发的发展过程实质上就是嵌入式应用开发技术发展的过程 二者密不 可分 随着硬件和软件技术的不断发展 嵌入式应用开发的技术越来越高级 越 来越完善 相应的交叉开发技术也得到了不断的发展 交叉调试方式的更新是其 发展的重要标志 崩溃与烧制 在嵌入式系统发展的早期 一般采用崩溃与烧制 C r a S ha n dB u m 的方式进 行开发 其基本思想是 1 在宿主机P C 上编写代码 1 0 第二章嵌入式系统相关开发技术及现状 2 在宿主机上编译应用程序 生成可执行程序 3 固化 B u m 到目标机的非易失性存储 E P R O M F L A S H 等 中 4 启动运行 若正确则转到 7 5 不正确则改写代码 纠正错误 6 返回 2 重复操作 7 固化成功 显然 这种调试方式无法进行程序调试 效率低下 对开发人员而言非常辛 苦 但由于开发条件 特别是开发工具的限制 直到现在许多的嵌入式应用 特 别是新产品 的开发也只得经常采用这种传统的开发模式 这也反映了嵌入式应 用开发的难度 R O M 监控程序 为改变c r a s ha I l dB u r n 方法带来的缺陷 提出了一种R O M 监控程序 R O M M o n i t o r 的方法 即是存储监控调试 将一段程序固化在目标机上 负责监控目 标机上被调试程序的运行 该程序与宿主端的程序一起完成对应用程序的调试 这段程序被称为R O MM o n i t o r R O MM o n i t o r 预先被固化到目标机的R O M 空间 在目标机复位后首先执行 的就是R O MM 0 1 l i t o r 程序 它对目标机进行一些必要的初始化 然后初始化自己 的程序空间 最后就等待宿主端的命令 R O MM o l l i t o r 能完成调试器的下载 目 标机内存和寄存器的读写 设置断点以及单步执行调试等功能 一些高级的R O M M o n i t o r 还能完成代码分析 c o d eP m f i l i I l g 系统分析 s y s t e mP r o m 逾g R O M 空间的写操作以及设置各种非常复杂断点等功能 利用R O MM o I l i t o r 方式作为调试手段时 开发应用程序的步骤有些变化 1 编写代码 2 编译应用代码 3 将代码下载到目标机上的R A M 空间 4 用户使用调试器进行调试 5 如果程序正常转到第 8 步 6 发现程序有问题 在调试器的帮助下定位错误 7 修改错误 重复 2 7 步 8 将程序固化到目标机上 电子科技大学硕士学位论文 采用R O MM o n i t o T 方法明显提高了调试程序的效率 减小了调试的难度 缩 短了产品开发周期 有效地降低了开发成本 这种方法的优点包括 简单 方便 可支持许多高级的调试功能 可扩展性强 成本低廉以及基本上不需要专门的调 试硬件支持 但是 R o MM o n j t o r 也存在较多的缺点 主要体现在 1 R O M M 0 n i t o r 本身的开发难度大 通常只能用 C r a s ha n d B u m 方式 2 当R O MM 0 n i t o r 占用c P U 时 应用程序不响应外部事件中断 因此不 便调试有时间特性的程序 3 要求目标机必须有足够的R O M 4 若目标机c P u 不支持硬件断点 H a I d w 缸e B r e a k p o i n t 则R O M M o n i t o r 无法调试R O M 程序和设置数据断点 D a t aB r e a l p o j n t 即能完成对数据读写 进行监视的断点 5 R O MM o n i t o r 要占用目标机一定数量的资源 如 c P u 资源 R A M 资 源和通信设备 如 串臼 网卡等 资源 6 在调试状态下 R O MM o n i t o r 已经为应用程序建立了运行环境 因此 这会在一定程度上造成应用程序的最终运行环境和调试环境的差异 如 程序 初始化部分的代码 内存空间分配等都与最终运行环境不同 虽然有上述缺陷 但R O M M o n i t o r 依然是目前最广泛使用的调试方式之一 几乎所有的交叉调试器都采用 因此 为了克服R O MM o I l i t o r 的缺点 人们又研 究出了若干的改良方法 如将R O MM o n i t o r 制成独立的中间件 构件 减少对 目标机资源的占用 R O M 仿真器 由于嵌入式应用的开发经常会遭遇缺少目标机环境 缺乏目标机芯片等资源 但开发过程又不可能停止的问题 因此自然就提出了根据不同的应用需要 利用 仿真器件 仿真环境进行开发的方法 如R O M 仿真器 R O ME m u l a t o r 在线仿 真器 h l C i 删i tE m u l a t o r 简称I c E 片上调试 0 nC h i pD e b u g g j l l g 简称O c D 和仿真器 S i m u l a t o r 等 在一定程度上 R O M 仿真器可以认为是一种用于替代目标机上R O M 芯片的 设备 利用这种设备 目标机可以没有R O M 芯片 但目标机的c P u 可以读取R O M 仿真器上R O M 芯片的内容 因为R O M 仿真器上R O M 芯片的地址可以实时地映 第二章嵌入式系统相关开发技术及现状 像到目标机的R O M 地址空间 所以可以仿真 E m u l a t i o n 目标机上的R O M 本质上 R O M 仿真器这种方式不是一种完整的调试方式 通常 R O M 仿真 器只是为目标机提供仿真的R O M 芯片和在目标机与宿主机H o s t 之间建立一条高 速的通信通道 因此 它经常和前面两种调试方式结含起来形成一种完备的调试 方式 R O M 仿真器的典型应用就是和R O MM o n i t o r 的调试方式相结合 这种调试方式的最大优点就是目标机可以没有R O M 芯片 可以使用R O M 仿 真器提供的R O M 空间且不需要用别的工具来写R O M 其缺点是目标机必须能支 持外部R O M 存储空间 而且由于其通常要和R O MM o t o r 配合使用 因此它拥 有R O MM o n i t o r 的所有缺点 这种方法仅适用R O M 芯片无法获得的情况 在线仿真器 在线仿真器I c E 是一种用于替代目标机上c P U 的设备 I c E 的C P u 是一种 特殊的C P u 被称为 b o d o u t 可以执行目标机c P u 的所有指令 比一般的 c P u 有更多的引出线 能够将内部的信号输出到被控制的目标机 I c E 上的内存 也可以被映像到用户的程序空间 这样即使目标机不存在 也可以进行代码的调 试 在连接I c E 和目标机时 一般是将目标机的c P u 取下 而将I C E 的C P u 引 出线接到目标机的c P u 插槽 在进行调试时 宿主端运行的调试器通过I C E 来控 制目标机上运行的程序 采用这种调试方式 可以完成如下的特殊功能 1 同时支持软断点和硬件断点的设置 2 设置各种复杂的断点和触发器 3 实时跟踪目标程序的运行 4 选择性的跟踪程序的运行 5 支持 时间邮票 皿m eS t 锄D 6 允许用户设置 定时器 7 提供 s h a d o wI 渔M 能在不中断被调试程序运行的情况下查看内存 和变量 即非干扰调试查询 I c E 调试方式特别适用于调试实时应用系统 设备驱动程序以及对硬件进行 功能和性能的测试 利用I c E 可进行一些实时性能分析 非常精确的测定程序运 电子科技大学硕士学位论文 行时间 精确到每条指令执行的时间 I c E 的主要缺点就是太昂贵 价格大都上千美金 甚至几万美金 这显然阻 碍了团队的整体开发 因为不可能给每位开发人员都配备一套I c E 所以 现在 I c E 一般都是用于普通调试工具解决不了的问题 或者用做严格的实时性能分析 片上调试 片上调试0 c D 是c P u 芯片提供的 种调试功能 可以认为是一种廉价的I c E 功能 因此有一种说法 O c D 的价格只有l c E 的2 0 但提供了I c E8 0 的功能 最初的O c D 是一种仿R O MM o n i t o r 的结构 它将R O MM o n i t o r 的功能以微 码 M i c r o c o d e 的形式体现 其中比较典型的是M o t o r o l aC P U 3 2 系列处理器 后 来的O C D 彻底废弃了这种R O MM o 吐研的结构 而采用两级模式的思路 即 将c P u 的模式分为一般模式和调试模式 注 这里的一般模式是指除调试模式外 c P u 的所有模式 在调试模式下c P u 不再从内存读取指令 而是从调试端口读 取指令 通过调试端口可以控制C P u 进入和退出调试模式 这样在宿主端的调试 器就可以直接向目标机发送要执行的指令 通过这种形式调试器可以读写目标机 的内存和各种寄存器 控制目标程序的运行以及完成各种复杂的调试功能 O c D 方式的主要优点是 不占用目标机的资源 调试环境和最终的程序运行 环境基本一致 支持软硬断点 提供跟踪功能 可以精确计量程序的执行时间 支持时序分析等功能 其主要的缺点是 调试的实时性不如I c E 强 不支持非干扰调试查询 c P u 必须具有O c D 功能 现在还有部分c P u 不支持0 C D 功能 O c D 存在各种实现 且标准不统一 例如常见的J 1 A GO c D 就有很多种实现方式 1 f I 的实现方式 T I J T A G M I P s 的实现方式E J T A G 等 现在比较常用的O c D 的实现方式有 后台调试模式 B a c k 鲈o u dD e b u g g i n g M o d e 简称B D M 连接测试存取组 J o i n tT e s tA c c c s sG r o u p 简称J 1 1 A G 片 上仿真 O nC 1 1 i pE l n u l a t i o n 简称O n c E 实质上是B D M 和J 1 A G 的一种融合方 式 等 按O c D 实现方式 仿R O MM o 血o r 结构的O c D 芯片主要有M o t o r o l a 的 c P u l 6 c P u 3 2 和C o l d F 沁等系列 两级模式的B D MO C D 芯片有M o t o r o l a 的 M P C 5 x x 和M P c 8 x x 系列等 O n C EO c D 的芯片有M o t o r o l a 的D s P 芯片系列等 J 1 A G0 C D 的芯片主要包括P P C 6 X X P P C 觚X T I 的D S P 芯片 A R M 7 M I A R M 9 T D M I 一些M I P S 芯片 如 M 口S 3 2 4 K C N E C 的V 巧4 3 2 5 4 6 4 等 以及 1 4 第二章嵌入式系统相关开发技术及现状 I n t e l1 9 6 0 等 E P S o N 的S 1 C 3 3 系列M C u 也属于J T A GO C D 芯片 仿真器 仿真器 s i m u l a t o r 通常是指令级的 I n s t r u c t i o nk v e ls i n l u l a t o r 相当于在 宿主机上虚拟了一台目标机 该目标机可以与宿主机的c P u 不同类型 例如 宿 主机的c P U 是I n t e l 虚拟机是A R M P o w e r P c 或M i p s 等 比较高级的仿真器还 可以模拟目标机的外部设备 如键盘 串口 网络口和L c D 等I O 等设备 利用 仿真器的最大好处就是可以不用真正的目标机 可以在目标机环境并不存在的条 件下开发目标机上的应用系统 并且在调试时可以利用宿主机资源提供更详细的 错误诊断信息 仿真器也有许多不足之处 如 1 和实际的运行环境差别很大无法保证在这种方式下调试成功的程 序能在真实环境下一次就运行成功 2 设备模拟的局限性较大由于嵌入式应用所涉及的外部设备种类繁 多 因此不可能为各种设备都提供模拟 3 实时特性较差被调试程序的执行时间在仿真环境和真实环境的差 别较大 4 对宿主机的资源要求较高 因此仿真器调试方式的适用范围主要是 对时间特性没有严格要求 没有特 殊外设 只需要验证逻辑正确的应用程序 仿真器需要针对特殊的开发和应用环境 如3 C O M 公司的P O S E P a l mO S E m u l a t o r T o m a d o 集成开发环境中的v x s i I n u t e E P O c 仿真器以及E P s 0 N 工具组中的S i I n u l a t o r 等 总之 从交叉调试方式的发展历程来看 交叉调试的功能越来越强 使用越来 越方便 并且性价比越来越高 但在实际的嵌入式应用开发之中 各种调试方式 都有一定的适用范围 没有一种调试方式可以适应所有的嵌入式应用开发 在开 发的不同阶段经常使用不同的调试方式 即使 C r a s h 壮dB u m 的调试方式在有时 也是最有效的方式 因此在嵌入式应用开发的不同阶段使用最适合的调试方式 不但可以节约开发费用 同时还能大大的加快项目开发的进度 电子科技大学硕士学位论文 2 2 2 交叉开发工具 如图2 2 所示 一个完备的交叉开发系统通常由三个部分组成 作为开发平台 的宿主系统 面向嵌入式c P u 的目标机系统 具有功能密度高 省电 资源有限 和针对性强等特点 以及完成调试器到目标机系统的物理连接的通信系统 由于宿主系统中包含的交叉编译器 交叉链接器等工具的使用与普通应用系统 开发工具基本相同 所以我们简要介绍交叉调试工具中的R O MM o n i t o r 调试方式 其中目标机与宿主机的通信连接方式是我们值得关注的 在R O MM o n i t o r 调试方式下 调试系统同样由三部分构成 宿主机端的调试 器 目标机端的R O MM o n i t o r 以及二者间的通信连接 宿主机端的调试器一般都 支持源码级调试 高级的调试器还支持任务级的调试 宿主机和目标机的通信连 接都是直接连接的方式 不存在中间的硬件转换 通信连接可以是 串口连接 网络连接和u s B 连接等 整个调试系统的结构如图2 3 所示 宿主机通信连接 日标机 交叉调试器 一一 暹鞴嚷撼R 0 曩 被调试 O n i t o r 程序 操作系统 硬件 f 一物髓盏 硬件 图2 3R o MM o i i t o 矗郾式结构 在调试过程中通过调试器将被调试程序下载到目标机上 被调试程序中必须 有调试用的符号表信息 编译程序时必须有相应的选项 调试器可以让被调试程 序自动运行到某个特定的地址 然后将控制交给调试者 此后 调试器的使用与 一般非交叉调试器 如V c 的D e b u g g e r 的使用方法完全一致 可以完成以下功 能 设置断点 查看和修改变量 查看和修改寄存器 查看和修改内存 第二章嵌入式系统相关开发技术及现状 在调试过程中 使用者感觉不到交叉调试和非交叉调试有什么区别 这同时 也是调试器设计者所期望的 交叉开发的主要优点是 可以完成目标机上的所有功能 且应用程序一旦调 试完成 就可投入使用 但它也有明显的缺陷 必须提供开发所需目标硬件环境 对应用系统的每次修改 都必须重新下载 使得调试过程比较复杂 另外其开发 成本较高吼 2 2 3 仿真开发工具 上一小节介绍了嵌入式应用的交叉开发工具 它是将应用系统下载到目标机 或评估板 等硬件环境 然后启动运行 调试系统 依赖宿主机和目标机协作 完成应用开发过程的 这里存在一个很大的问题 如果目标机 评估板尚未准备就绪 则所有开发 工作无法进行 这显然无法适应当前嵌入式应用产品的需求 目前市场上迅速发展的信息家电 如P D A w e b P h o n e 和机顶盒等 除了需要 越来越强的功能外 还有一个显著的特点 产品更新特别快 往往一种新产 品的生命期就只有一两年 甚至几个月 因此 要求目标机或评估板完成后再开 发应用系统极不现实 鉴于上述原因 信息家电的生产厂家大多采用应用系统和目标硬件同步开发 的策略 希望硬件完成的同时 整个产品可用 于是 嵌入式应用系统的开发就 必然需要采用另外一种形式 仿真开发 在原理上 仿真开发也可看成是一种交叉开发方式 宿主机和目标机虽 然在同一个平台上 但其运行环境 包括仿真硬件 操作系统和设备驱动等 各 不相同 交叉在两个环境之间进行 按照所使用环境的差别 仿真开发分成软件仿真开发和硬件仿真开发两种 软件仿真开发是目前开始大量采用的方法 利用宿主机上的资源仿真目标机 资源 包括外设 在宿主机上完成整个应用的仿真执行 其基本思想是 在宿主 机上创建一个虚拟的目标机环境 再将应用系统下载到这个虚拟目标机上运行 调试 与交叉开发环境相比 仿真开发环境的优点恰恰是不需要提供实际的目标硬 件环境 编译调试方便 构建成本低 但其缺点正好是前者的优点 不大可能仿 真目标机上的所有功能 且调试完成后 还必须移植到实际目标硬件 做进一步 1 7 电子科技大学硕士学位论文 测试 相对于软件仿真而言 使用硬件仿真器可以获得更加强大的调试功能和更为 优秀的调试性能 硬件仿真器的基本原理是通过仿真硬件的执行过程 让开发者 在调试时可以随时了解到系统的当前执行情况 得到真实的实时调试信息 目前 嵌入式系统开发中最常用到的硬件仿真调试器是I n C i r c u i tE m u l a t o r 和 I n C i r c u i tD e b u g g e r 采用片上模拟 I n c i r c u i tE m u l a t o r I c E 方式进行交叉调试时需要使用在 线仿真器 它是仿照目标机上的c P u 而专门设计的硬件 可以完全仿真处理器芯 片的行为 并且提供了非常丰富的调试功能 在使用在线仿真器进行调试的过程 中 可以按顺序单步执行 也可以实时查看所有需要的资料 从而给调试过程带 来了很多的便利 嵌入式系统应用的一个显著特点是与现实世界中的硬件直接相 关 存在各种异变和事先未知的变化 从而给微处理器的指令执行带来各种不确 定因素 这种不确定性在目前情况下只有通过在线仿真器才有可能发现 因此尽 管在线仿真器的价格非常昂贵 但仍然得到了非常广泛的应用 采用仿真调试 又称片上调试 I n c i r c u i tD e b u g g e r I c D 方式
内容简介:
-
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:基于Eclipse平台的插件扩展实现.pdf
链接地址:https://www.renrendoc.com/p-40116188.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!