版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、为嵌入式系统开发人员建立虚拟的ARMFF台郑州大学毕业设计(翻译)目:VirtualARMPlatformforEmbeddedSystemDevelopers指导教师:李正民职称:副教授学生姓名:乔旭学号:2生姓430222专业:院(系):完成时间:计算机科学与技术信息工程学院2009年5月20日2009年5月20日为嵌入式系统开发人员建立虚拟的ARM平台摘要越来越多的嵌入式系统开发人员和片上系统设计师采用microprocessor-based(基于微处理器的)设计方法,以减少推向市场的时间。在过去的10年里,ARM处理器一直都是嵌入式系统行业的主角之一。然而,在早期设计阶段,有许多对基于
2、ARM处理器的嵌入式软件开发的限制。对于那些不熟悉嵌入式软件设备的人来说,在ARM硬件平台上测试他们的软件是一项异常艰巨的工作。为克服这些问题,我们为基于ARM的嵌入式系统开发人员设计了虚拟的ARM平台,提供更容易测试和调试的环境。使用虚拟ARM平台的好处是:(D减少开发成本,(2)对于初学者降低了入门的难度,以及(3)让您更轻松地测试和调试嵌入式软件。与许多其他的纯粹以软件为导向且独立于硬件平台的ARM模拟器不同,我们的虚拟ARM平台是专门针对SYS-Lab5000ARM硬件平台(由Libertron公司负责设计制造)研发的,这意味着我们的平台可以尽可能地模仿在目标硬件上的嵌入式软件的各种行
3、为。本文旨在介绍我们的虚拟ARM平台的设计思想以及它在减少设计时间和开销方面的一些应用。1 .导言嵌入式系统是一个拥有特殊用途的计算机系统,它仅仅采用通用计算机系统一小部分的专用功能,有时还需要进行实时处理。通常,嵌入式系统具备完整的硬件设备和机械装置,并且它已经深深渗透到现代生活的方方面面。不仅仅是个人数字助理(PDA)、mp3手机等电子消费产品,在电信系统,交通运输系统,医学仪器等领域里,仍然存在着许多的嵌入式系统,例如防抱死刹车系统(ABS)、GPS电子听诊器等。1微处理器是嵌入式系统非常重要的硬件结构之一。随着个人计算机和因特网的普及,微处理器成为IT行业发展中的主要角色。针对不同的用
4、途,每个微处理器都有自己的特殊结构。2其中,ARM微处理器采用RISC结构,被广泛应用于嵌入式系统的设计之中。这不仅仅是因为它的高性能和廉价,而且还因为它有低功耗的特点。AR源列处理器在各种电子消费类产品中占有很大优势,从便携式设备(PDAs,手机,媒体播放器,掌上游戏机和计算器)到计算机外设(硬盘,桌面路由器)。我们即将在本文中介绍的虚拟ARMFP台,是一个为目标硬件设计的ARM莫拟器。与其他仅仅在软件模型上设计的虚拟AR晰不同,我们的虚拟ARM平台可以与目标嵌入式系统执行相类似的操作。这种相类似的操作具体是指我们的虚拟ARMP台允许嵌入式系统开发人员在一个正真的H/W平台上开发和测试他们的
5、嵌入式应用。为执行一个特定的虚拟ARM平台,我们已经选择了SYS-Lab5000ARMM件平台作为我们的目标H/W平台。正是由于特定目标的虚拟平台可以测试目标平台的细节而无需实际的目标平台,设计时间和花销被大幅的降低了。尤其在教学领域,在无法提供充足数量的嵌入式设备时,这种针对特定目标的虚拟平台将尽可能减少学生对实际硬件的需求,同时为学生学习如何设计特定目标的嵌入式系统提供巨大帮助。我们的虚拟ARMP台通过使用SimIt-ARM虚拟器和QT程序库的用户图形界面,完全可以建立在ARMt拟器之上。为了方便维护和调试,我们还扩展了特定目标的易用程度,设计了给定平台信息,提供自动进行特定平台环境设置的
6、模拟器。止匕外,我们还可以为简易操作系统模拟器运行中断句柄定时器。本文的余下部分将介绍以下内容:在第二部分,我们讨论在虚拟ARMF台上开发嵌入式系统与实际硬件平台上的区别。在第三部分,我们将总结一些相互关系的研究成果。第四部分介绍我们的虚拟ARMP台是如何组织和工作的,第五部分介绍我们的研究成果,第六部分是总结。2 .虚拟ARMP台的需求2.1 S/W嵌入式系统的发展众所周知,在通用计算机平台例如PC上开发软件与在嵌入式平台上开发软件有很大的不同。因此,通用平台软件开发人员在开发嵌入式平台软件时,可能会遇到很多困难。因为,嵌入式系统软件开发需要将通用运行程序烧录到嵌入式平台中,并检查它的运行。
7、这就意味着当通用软件有相同的开发和运行环境(不同PC之间)时,软件开发环境(以PC为例)和嵌入式软件运行环境(嵌入式目标平台)不相同。图1展示的是通常开发和测试嵌入式系统软件的步骤。图1嵌入式系统软件的开发与PC软件在每一步发展中仅仅需要PC不同,嵌入式软件的发展需要在实际的嵌入式系统硬件上进行。对于那些不熟悉嵌入式软件环境的人来说,在实际的硬件平台上测试他们的软件是一件很富有挑战性的工作。他们需要全面了解嵌入式系统,并善于使用硬件和在硬件上烧录程序。而且,如果他们不能负担足够的嵌入式系统(通常价格昂贵),他们能在实际硬件上测试他们软件的机会将变得极为有限。为了解决这一问题,我们设计了能够方便
8、测试和调试基于AR械入式系统开发人员的虚拟ARMP台。2.2 虚拟ARMF台的使用虚拟ARMP台可以和实际ARMM件平台一样地观察嵌入式软件运行的结果。开发人员可以写程序代码,在客户机(PC)上通过虚拟ARMF台证实他们的程序。因为它除PC外不需要其他的硬件,在开发程序时也不需要烧录的阶段。图2展示的是在虚拟ARM平台上开发嵌入式系统程序的过程。图2在虚拟ARMF台上开发嵌入式应用程序的过程3 .一些相互关系的工作成果近些年来,在嵌入式软件虚拟工具方面有许多研究成果,以下我们简要地对其中的部分成果进行总结。在嵌入式系统开发中,作为最广为人知的ARM莫拟器,ARMulator常被用于提供虚拟环境
9、原型。通过虚拟的硬件IP和端口,在ARMulator上操作系统(例如nC/OS-II)6可以脱离H/W平台模拟运行。SimIt-ARM是一个设置指令的模拟器,它可以在用户层和系统层运行ARM程序。SimIt-ARM支持两种流行的模拟形式:解释和动态编译。但正如图3所示,SimIt-ARM不能够脱离在C运行库支持下的I/O控制代码去建立固件级的程序。因此,对于不同的目标平台,初始化代码也是不相同的。开发人员不能在虚拟工具和目标H/WARMP台中使用相同的可执行程序。图3在两种平台下固件级代码的运行所有的这些努力都为了向开发人员提供书写源代码,建立可执行程序,并在主机PC上运行的功能。但不幸的是,
10、这些工具只能在特定目标处理器上模拟可执行文件。因此它不能为整个目标硬件平台模拟运行,不能控制外围设备,同时在代码模拟上也有相当大的限制。4 .虚拟ARMF台的执行我们建议虚拟ARM平台对外围设备进行持续的控制,这是以往的ARM模拟器所不能提供的。通过对外围设备增加控制代码,现有的ARM模拟器(例如SimIT-ARM或者SimpleScalar)可以控制外围设备,例如LED,七段数码显示器,步进电机等等。图4展示的是虚拟ARMP台通过对外围设备的“靶样”控制,开发嵌入式系统的步骤。图4虚拟ARMP台对外设提供控制虚拟ARMP台由虚拟ARM莫拟器,图形用户界面,输入事件句柄,定时器,和I/O设备模
11、型组成。如图5所示,虚拟ARMF台启动后,首先初始化图形用户界面,在屏幕上显示GUI主窗口,然后虚拟ARM莫拟器开始运行,处理可执行文件的操作并向虚拟ARMF台发送结果。当虚拟AR坪台从虚拟ARM1拟器得到模拟结果后,便同从虚拟ARM模拟器得到的可执行报告一道更新它的用户界面。当输入事件句柄发现任何输入事件,他分析事件,当事件是中断请求时,他将中断当前执行的程序。如果事件不是中断请求,句柄将输入事件进程发送到虚拟ARM模拟器来台运行程序4.1虚拟ARM(拟器虚拟ARM模拟器不仅可以解码还可以与实际的ARMt理器一样运行给定的ARMt作,即处理从虚拟AR郦台转移的事件。如图6所示,当虚拟ARM莫
12、拟器解码ARM令时,要检查解码命令是否包含外围设备的控制地址。如果不包含,虚拟ARM莫拟器仅仅运行ARM令并向虚拟ARM平台发送结果。然而,如果包含,虚拟ARM莫拟器可以执行额外的操作。因此,虚拟ARMP台利用I/O内存映像图控制外围设备,特定平台的数据文件包含设备控制记录存取地址和相应的设备控制地址。一个特定数据文件的平台例子如表1所示。通过查找H/W特定数据平台,虚拟ARM模拟器确定应该控制哪个设备,确定如何控制相应的设备。最终,虚拟ARM莫拟器通过发送设备控制符和虚拟ARMP台数据处理控制设备。Decode ARM InstructionL Control Addre$t of Psri
13、pherol lyice IncludeExecute ARM InskucticnSave Corresponding DeviceControl Address & DataPlctform 5口ccifi匚 Dcitci FileCompare with LED Control DataCompare with 7-Segmert Control Datao oCompare with STEP MOTOR Control DataM30 ry Mappmd =/oTerminate ARM Simulator图6在虚拟ARM模拟器上运行程序AeeessAddressDevice
14、ControlRegisterR/WSi工包Bit)0x0a00_0004LCR(LEDControlRegister)W24OxOaOO_OOOHSGCR(SegmentControlRegister)W140x0a00_000cDMLCR(Dot-MatrixLEDControlRegister)W40x0a00_0014TLICRText-LCDInstructionControlRegister)W80x0a00_0018ILDCR(Text-LCDDataControlRegister)W80x0a00_00RKMCR(KeyMatrixControlRegister)R40x0a0
15、0_002HSMCRfStepMotorControlRegister)STEPCNTSTEPMOTORSPEED0x3d08f100Hz0x1e847200Hz0x4ffff400Hz0xa2cl600Hz0x7al111kHz表1对SYS-Lab5000ARMH/W平台的数据抽样通过使用特定平台的数据文件,开发人员允许在虚拟AR郦台和实际H/W平台上使用相同的代码控制外围设备。4.1 图形用户界面图形用户界面将被用于处理输入事件,程序同步,打印屏幕上的模拟结果。如图7是我们的GUI全局结构。虚拟ARM莫拟器GUI看起来与实际的目标H/W平台一致。GUI通过打印真实设备的更改显示外围设备控制
16、结果。同样地,在GUI中当开发人员敲击外围设备(例如键盘和转换器)使虚拟ARM平台发现外部输入。在开发人员控制外围设备时,图8.2显示了一个执行GUI的例子,图8.1显示了一个脱离GUI的虚拟ARMP台的例子。.Ioot'localhost'/propV-ARMScxjrcc/&imitARM-2.1_3X可直0世酬日豆引目可目。卷二善自世)root©localhostSimjt-ARTd-21J#./emulajH0000000100000010I0000010000001000(rootl(xalhostSimit-ARM-2.1)#.图8.2GUI下的虚
17、拟ARMf台LED显示4.2 定时器和I/O设备我们还在虚拟ARMF台上使用定时器。当虚拟ARMf台启动时,初始化定时器。通过使用定时器,开发人员可以测试看门狗定时器中断,上下文开关程序和系统内核模拟器例如以C/OS-II6。图9显示了定时器被用于操作系统定时器。YesNoL Setting ICR2. Change mode to irq request mode03 Tinner 0:irq requestreg(timer couter) +图9操作系统定时器是如何在虚拟ARMf台上工作的虚拟ARMI拟器可以像使用SDRAMS元一样使用虚拟SDRAM通过使用作为虚拟内存的虚拟SDRAM虚
18、拟ARM1拟器可以通过连接I/O控制代码模拟固件级代码,使得代码的运行与实际H/WARM平台相一致。图10显示了在虚拟ARM平台和实际H/WAR郦台上的固件级代码均可以运行。图10在虚拟ARMFF台和H/W平台上运行固件级代码当然,我们还可以使用LED点阵,七段数码管,LED文本显示器,步进电机,直流电机和键盘区。LED口图8.2),点阵(如图11.1),七段数码管(如图11.2)都可以通过CPU时钟控制将控制数据转换为图形输出。LE位本显示器(如图11.3)通过一步步地输入文本控制数据,可以在LED上显示给定的打印信息。步进电机和直流电机(如图11.4)在CPU时钟的控制之下,通过给定速度控
19、制数据,可以看到它们旋转。键盘通过检测鼠标单击每个关键按钮,发送相应的数据输入到虚拟ARMP台。图11.1执行点阵图11.3执行LCD文本显示器图11.4执行步进电机5 .实验结果我们已经通过实验测试了我们的虚拟ARM平台。我们每一项的测试结果如图12所示,这需要完全控制嵌入式开发板上的每一个设备。通过测试每项应用,(如图13),我们可以看出在实际H/W平台和我们的虚拟平台上,外部特征是非常相似的,如图14.1和图14.2所示有着相同的运行结果。1: InitializeText-LCD2: Print“VirtualARM”onLCDt3: ActivateSTEPMOTORtospin4:
20、 SequentiallyTurnON&OFFLEDLampsbyRows5: GetKeypadInput6: ShowsinputdatafromKeypadthrough7-Segment7: ShowsinputdatafromKeypadthroughDot-Matrix8: Repeatstep5tostep79: OScontrolstask1(step4)andtask2(step8)图12测试应rootslocalhastenmlator#./UirtualdFtlPlatform/warliing/Si|sLab/start1f32-pre-口口1cle 马Ihti
21、 st二 j/ccf da ta/s of t w ar a/ Ims ge s1201764952,711705cannonfiledInstConnEctiionDRLoadingDKHouseClick,please回号CE)BiSCE)e?l(V)Eioiatl)朝(日jfodWIoca1hostimagesft,/JFashpxa27x32.dat/working/SysLab/startie1f32-preJFLASHUersioii5.018007tlibertronSYS-Lab5000)COPVRIGHTCOzeoe-2GG3IntelCorporationPLATFTIBH
22、SELECTI0M:FXAZTx S¥S-Lab5000 1,00b0G1Prcx:essor=DeuelopnentSysten=DataUcrsiorii-FXfl2?xreuision?Foundflashtype:Z8FZ56L18BUnlockingblockataddressQErasingblockataddress0Startingprogram!ingUsingBUFFERprogramingnode.nFrogfranniingdoneStartlingUerifyUeriFicationsuccessfu!rootslocalhostInagesIff|p图13
23、针对虚拟ARMP台和SYS-Lab5000的逐项测试图14.1在实际平台上的运行结果图14.2在虚拟ARMP台上的运行结果6 .小结在本文中,我们提出虚拟的ARMFF发平台,提供了一个与真正的H/W平台非常相似的极好的测试环境。通过使用我们的虚拟ARMP台,开发人员将能够开发基于ARM的嵌入式系统软件,而不再需要购买目标H/W平台。由于开发人员可以在主机上立即测试自己的程序而不用烧录可执行文件到实际平台。程序的整体开发过程将更快,更方便。此外,一个类似于目标的H/W平台的用户友好的GUI界面,使得入门嵌入式系统变得容易。特别是,虚拟ARMF台将作为大学理想的教育工具,使得学生在学习和研究嵌入式
24、系统软件时没有任何时间,空间和金钱的限制。7 .鸣谢本论文受到韩国MKE(MinistryofKnowledgeEconomy)和ITRC(InformationTechnologyResearchCenter)的大力支持)程序依据标准为IITA(InstituteforInformationTechnologyAdvancement)。(IITA-2008-C1090-0801-0045)8.参考文献1 Y.S.LiandS.Malik,"PerformanceanalysisofReal-TimeEmbeddedSoftware,"KluwerAcademicPubli
25、shers,1999.2 A.KrishnaswarmyandR.Gupta,"ProfileGuidedSelectionofARMandThumbInstructions,"CMSIGPLANJointConferenceonLanguagesCompilersandToolsforEmbeddedSystems&SoftwareandCompilersforEmbeddedSystems(LCTES/SCOPES),Berlin,Germany,June2002.3 http:/simit-4 5 GonKim,Sang-YoungCho,andJungbaeLee,“VirtualPrototypingEnvironment
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 如何管理弹性工作制度
- 如祺出行司机工作制度
- 妇幼保健各类工作制度
- 妇科医疗风险工作制度
- 妇联志愿者工作制度
- 妊娠结局随访工作制度
- 婚介员工工作制度范本
- 学校以案释法工作制度
- 学校信息研判工作制度
- 学校办公人员工作制度
- 第5课 从小爱劳动 课件(内嵌视频) 2025-2026学年道德与法治三年级下册统编版
- 一年级数学10以内加减法计算专项练习题(每日一练共12份)
- 2026特种作业场内专用机动车辆作业考试题及答案
- (二模)苏北七市2026届高三第二次调研测试生物试卷(含答案)
- TCABEE080-2024零碳建筑测评标准(试行)
- 科大讯飞深度研究报告
- 2026内蒙古地质矿产集团有限公司所属矿山企业招聘230人笔试备考试题及答案解析
- 建筑项目危险作业安全操作规程
- 信息系统运维培训
- 2026年1月浙江省高考(首考)化学试题(含标准答案及解析)
- 生成式AI在小学美术教学中的创新教学策略研究教学研究课题报告
评论
0/150
提交评论