版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、郑州大学毕业设计(翻译)题 目:Virtual ARM Platform for Embedded System指导教师: 李正民 职称: 副教授学生姓名: 乔 旭 学号: 20052430222 专 业: 计算机科学与技术 院(系): 信息工程学院 完成时间: 2009年5月20日2009年5月20日为嵌入式系统开发人员建立虚拟的ARM 平台摘要越来越多的嵌入式系统开发人员和片上系统设计师采用microprocessor-based(基于微处理器的 设计方法,以减少推向市场的时间。在过去的10年里,ARM 处理器一直都是嵌入式系统行业的主角之一。然而,在早期设计阶段,有许多对基于ARM 处理
2、器的嵌入式软件开发的限制。对于那些不熟悉嵌入式软件设备的人来说,在ARM 硬件平台上测试他们的软件是一项异常艰巨的工作。为克服这些问题,我们为基于ARM 的嵌入式系统开发人员设计了虚拟的ARM 平台,提供更容易测试和调试的环境。使用虚拟ARM 平台的好处是:(1减少开发成本,(2对于初学者降低了入门的难度,以及(3让您更轻松地测试和调试嵌入式软件。与许多其他的纯粹以软件为导向且独立于硬件平台的ARM 模拟器不同,我们的虚拟ARM 平台是专门针对SYS-Lab 5000 ARM硬件平台(由Libertron 公司负责设计制造 研发的,这意味着我们的平台可以尽可能地模仿在目标硬件上的嵌入式软件的各
3、种行为。本文旨在介绍我们的虚拟ARM 平台的设计思想以及它在减少设计时间和开销方面的一些应用。1. 导言嵌入式系统是一个拥有特殊用途的计算机系统,它仅仅采用通用计算机系统一小部分的专用功能,有时还需要进行实时处理。通常,嵌入式系统具备完整的硬件设备和机械装置,并且它已经深深渗透到现代生活的方方面面。不仅仅是个人数字助理(PDA、mp3、手机等电子消费产品,在电信系统,交通运输系统,医学仪器等领域里,仍然存在着许多的嵌入式系统,例如防抱死刹车系统(ABS、GPS 、电子听诊器等。1微处理器是嵌入式系统非常重要的硬件结构之一。随着个人计算机和因特网的普及,微处理器成为IT 行业发展中的主要角色。针
4、对不同的用途,每个微处理器都有自己的特殊结构。2其中,ARM 微处理器采用RISC 结构,被广泛应用于嵌入式系统的设计之中。这不仅仅是因为它的高性能和廉价,而且还因为它有低功耗的特点。ARM 系列处理器在各种电子消费类产品中占有很大优势,从便携式设备(PDAs,手机, 媒体播放器,掌上游戏机和计算器 到计算机外设(硬盘,桌面路由器 。我们即将在本文中介绍的虚拟ARM 平台,是一个为目标硬件设计的ARM 模拟器。与其他仅仅在软件模型上设计的虚拟ARM 机不同,我们的虚拟ARM 平台可以与目标嵌入式系统执行相类似的操作。这种相类似的操作具体是指我们的虚拟ARM 平台允许嵌入式系统开发人员在一个正真
5、的H/W平台上开发和测试他们的嵌入式应用。为执行一个特定的虚拟ARM 平台,我们已经选择了SYS-Lab5000 ARM 硬件平台作为我们的目标H/W平台。正是由于特定目标的虚拟平台可以测试目标平台的细节而无需实际的目标平台,设计时间和花销被大幅的降低了。尤其在教学领域,在无法提供充足数量的嵌入式设备时,这种针对特定目标的虚拟平台将尽可能减少学生对实际硬件的需求,同时为学生学习如何设计特定目标的嵌入式系统提供巨大帮助。我们的虚拟ARM 平台通过使用SimIt-ARM 虚拟器和QT 程序库的用户图形界面,完全可以建立在ARM 虚拟器之上。为了方便维护和调试,我们还扩展了特定目标的易用程度,设计了
6、给定平台信息,提供自动进行特定平台环境设置的模拟器。此外,我们还可以为简易操作系统模拟器运行中断句柄定时器。本文的余下部分将介绍以下内容:在第二部分,我们讨论在虚拟ARM 平台上开发嵌入式系统与实际硬件平台上的区别。在第三部分,我们将总结一些相互关系的研究成果。第四部分介绍我们的虚拟ARM 平台是如何组织和工作的,第五部分介绍我们的研究成果,第六部分是总结。2. 虚拟ARM 平台的需求2.1 S/W嵌入式系统的发展众所周知,在通用计算机平台例如PC 上开发软件与在嵌入式平台上开发软件有很大的不同。因此,通用平台软件开发人员在开发嵌入式平台软件时,可能会遇到很多困难。因为,嵌入式系统软件开发需要
7、将通用运行程序烧录到嵌入式平台中,并检查它的运行。这就意味着当通用软件有相同的开发和运行环境(不同PC 之间 时,软件开发环境(以PC 为例 和嵌入式软件运行环境(嵌入式目标平台 不相同。图1展示的是通常开发和测试嵌入式系统软件的步骤。 图1 嵌入式系统软件的开发与PC 软件在每一步发展中仅仅需要PC 不同,嵌入式软件的发展需要在实际的嵌入式系统硬件上进行。对于那些不熟悉嵌入式软件环境的人来说,在实际的硬件平台上测试他们的软件是一件很富有挑战性的工作。他们需要全面了解嵌入式系统,并善于使用硬件和在硬件上烧录程序。而且,如果他们不能负担足够的嵌入式系统(通常价格昂贵 ,他们能在实际硬件上测试他们
8、软件的机会将变得极为有限。为了解决这一问题,我们设计了能够方便测试和调试基于ARM 嵌入式系统开发人员的虚拟ARM 平台。2.2 虚拟ARM 平台的使用虚拟ARM 平台可以和实际ARM 硬件平台一样地观察嵌入式软件运行的结果。开发人员可以写程序代码,在客户机(PC上通过虚拟ARM 平台证实他们的程序。因为它除PC 外不需要其他的硬件,在开发程序时也不需要烧录的阶段。图2展示的是在虚拟ARM 平台上开发嵌入式系统程序的过程。 图2 在虚拟ARM 平台上开发嵌入式应用程序的过程3. 一些相互关系的工作成果近些年来,在嵌入式软件虚拟工具方面有许多研究成果,以下我们简要地对其中的部分成果进行总结。在嵌
9、入式系统开发中,作为最广为人知的ARM 模拟器,ARMulator 常被用于提供虚拟环境原型。通过虚拟的硬件IP 和端口,在ARMulator 上操作系统(例如C/OS-II6可以脱离H/W平台模拟运行。SimIt-ARM 是一个设置指令的模拟器,它可以在用户层和系统层运行ARM 程序。SimIt-ARM 支持两种流行的模拟形式:解释和动态编译。但正如图3所示,SimIt-ARM 不能够脱离在C 运行库支持下的I/O控制代码去建立固件级的程序。因此,对于不同的目标平台,初始化代码也是不相同的。开发人员不能在虚拟工具和目标H/W ARM 平台中使用相同的可执行程序。 图3 在两种平台下固件级代码
10、的运行所有的这些努力都为了向开发人员提供书写源代码,建立可执行程序,并在主机PC 上运行的功能。但不幸的是,这些工具只能在特定目标处理器上模拟可执行文件。因此它不能为整个目标硬件平台模拟运行,不能控制外围设备,同时在代码模拟上也有相当大的限制。4. 虚拟ARM 平台的执行我们建议虚拟ARM 平台对外围设备进行持续的控制,这是以往的ARM 模拟器所不能提供的。通过对外围设备增加控制代码,现有的ARM 模拟器(例如SimIT-ARM 或者SimpleScalar 可以控制外围设备,例如LED, 七段数码显示器,步进电机等等。图4展示的是虚拟ARM 平台通过对外围设备的“靶样”控制,开发嵌入式系统的
11、步骤。 图4 虚拟ARM 平台对外设提供控制虚拟ARM 平台由虚拟ARM 模拟器,图形用户界面,输入事件句柄,定时器,和I/O设备模型组成。如图5所示,虚拟ARM 平台启动后,首先初始化图形用户界面,在屏幕上显示GUI 主窗口,然后虚拟ARM 模拟器开始运行,处理可执行文件的操作并向虚拟ARM 平台发送结果。当虚拟ARM 平台从虚拟ARM 模拟器得到模拟结果后,便同从虚拟ARM 模拟器得到的可执行报告一道更新它的用户界面。当输入事件句柄发现任何输入事件,他分析事件,当事件是中断请求时,他将中断当前执行的程序。如果事件不是中断请求,句柄将输入事件进程发送到虚拟ARM 模拟器来模拟修改后的数据操作
12、。 图5 在虚拟 ARM平台运行程序4.1 虚拟ARM 模拟器虚拟ARM 模拟器不仅可以解码还可以与实际的ARM 处理器一样运行给定的ARM 操作,即处理从虚拟ARM 平台转移的事件。如图6所示,当虚拟ARM 模拟器解码ARM 命令时,要检查解码命令是否包含外围设备的控制地址。如果不包含,虚拟ARM 模拟器仅仅运行ARM 命令并向虚拟ARM 平台发送结果。然而,如果包含,虚拟ARM 模拟器可以执行额外的操作。因此,虚拟ARM 平台利用I/O内存映像图控制外围设备,特定平台的数据文件包含设备控制记录存取地址和相应的设备控制地址。一个特定数据文件的平台例子如表1所示。通过查找H/W特定数据平台,虚
13、拟ARM 模拟器确定应该控制哪个设备,确定如何控制相应的设备。最终,虚拟ARM 模拟器通过发送设备控制符和虚拟ARM 平台数据处理控制设备。 图6 在虚拟 ARM模拟器上运行程序 表1 对SYS-Lab 5000 ARM H/W平台的数据抽样通过使用特定平台的数据文件,开发人员允许在虚拟ARM 平台和实际H/W平台上使用相同的代码控制外围设备。4.2 图形用户界面图形用户界面将被用于处理输入事件,程序同步,打印屏幕上的模拟结果。如图7是我们的GUI 全局结构。 图7 图形用户界面和虚拟ARM 模拟器GUI 看起来与实际的目标H/W平台一致。GUI 通过打印真实设备的更改显示外围设备控制结果。同
14、样地,在GUI 中当开发人员敲击外围设备(例如键盘和转换器 使虚拟ARM 平台发现外部输入。在开发人员控制外围设备时,图8.2显示了一个执行GUI 的例子,图8.1显示了一个脱离GUI 的虚拟ARM 平台的例子。 图8.1 脱离GUI 的虚拟ARM 平台LED 显示 图8.2 GUI下的虚拟ARM 平台LED 显示4.3 定时器和I/O设备我们还在虚拟ARM 平台上使用定时器。当虚拟ARM 平台启动时,初始化定时器。通过使用定时器,开发人员可以测试看门狗定时器中断,上下文开关程序和系统内核模拟器例如C/OS-II6。图9显示了定时器被用于操作系统定时器。 图9 操作系统定时器是如何在虚拟ARM
15、 平台上工作的虚拟ARM 模拟器可以像使用SDRAM 单元一样使用虚拟SDRAM 。通过使用作为虚拟内存的虚拟SDRAM ,虚拟ARM 模拟器可以通过连接I/O控制代码模拟固件级代码,使得代码的运行与实际H/W ARM平台相一致。图10显示了在虚拟ARM 平台和实际H/W ARM平台上的固件级代码均可以运行。 图10 在虚拟ARM 平台和H/W平台上运行固件级代码当然,我们还可以使用LED ,点阵,七段数码管,LED 文本显示器,步进电机,直流电机和键盘区。LED(如图8.2 ,点阵(如图11.1 ,七段数码管(如图11.2 都可以通过CPU 时钟控制将控制数据转换为图形输出。LED 文本显示器(如图11.3 通过一步步地输入文本控制数据,可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年主管护师考试真题试题及答案
- 护士十四项制度试题及答案2025版
- 2025年全国工业机器人竞赛题库及答案
- 2025年司机年度工作总结例文
- 新员工入职三级安全教育题库试卷含答案
- 2026校招:重庆股权服务集团试题及答案
- 2026 年离婚协议书正规模板标准化
- 统编版(2024)七年级下册语文教学工作计划
- 调料公司生产部年终总结(3篇)
- 领导学(专升本)地质大学期末开卷考试题库及答案
- 光纤激光打标机说明书
- 劳动者个人职业健康监护档案
- 《两角和与差的正弦、余弦、正切公式》示范公开课教学PPT课件【高中数学人教版】
- 治理现代化下的高校合同管理
- 境外宗教渗透与云南边疆民族地区意识形态安全研究
- GB/T 28920-2012教学实验用危险固体、液体的使用与保管
- GB/T 26389-2011衡器产品型号编制方法
- GB/T 16588-2009带传动工业用多楔带与带轮PH、PJ、PK、PL和PM型:尺寸
- 人大企业经济学考研真题-802经济学综合历年真题重点
- 建筑抗震鉴定标准课件
- 人教版二年级数学下册《【全册】完整版》优质课件
评论
0/150
提交评论