




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目:郑州大学毕业设计(翻译)Virtual ARM Platform for Embedded SystemDevel opers指导教师:李正民职称:副教授学生姓名:学号: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微处理器是嵌入式系统非常重要的硬件结构之一。 随着个人计算机和因特网的普及, 微 处理器成为
4、IT 行业发展中的主要角色。针对不同的用途,每个微处理器都有自己的特殊结 构。2其中,ARM微处理器采用 RISC结构,被广泛应用于嵌入式系统的设计之中。这不仅 仅是因为它的高性能和廉价,而且还因为它有低功耗的特点。ARM系列处理器在各种电子消费类产品中占有很大优势,从便携式设备(PDAs,手机,媒体播放器,掌上游戏机和计算器)到计算机外设 ( 硬盘,桌面路由器 ) 。ARM平台可以与目标嵌入式系统执行ARM平台允许嵌入式系统开发人员在 为执行一个特定的虚拟 ARM平台,我我们即将在本文中介绍的虚拟ARM平台,是一个为目标硬件设计的 ARM莫拟器。与其他仅仅在软件模型上设计的虚拟ARM机不同,
5、我们的虚拟相类似的操作。 这种相类似的操作具体是指我们的虚拟 一个正真的H/W平台上开发和测试他们的嵌入式应用。们已经选择了 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平台。开发人员可 PC外不需要 图2展示的是在虚拟 ARM平台上开发嵌入2.2虚拟ARMFF台的使用虚拟ARM平台可以和实际ARM硬件平台一样地观察嵌入式软件运行的结果。 以写程序代码,在客户机(PC)上通过虚拟ARM平台证实他们的程序。因为它除 其他的硬件,在开发程序时也不需要烧录的阶段。 式系统程序的过程。图2在虚拟ARM平台上开发嵌入式应用程序的过程以下我们简要地对其中的部分3. 一些相互关系的工作成果近些年来,在嵌入式软件
9、虚拟工具方面有许多研究成果, 成果进行总结。在嵌入式系统开发中,作为最广为人知的ARM模拟器,ARMulator常被用于提供虚拟环境原型。通过虚拟的硬件IP和端口,在 ARMulator上操作系统(例如卩C/OS-II)6可以脱离H/W平台模拟运行。SimIt-ARM是一个设置指令的模拟器,它可以在用户层和系统层运行ARM程序。SimIt-ARM支持两种流行的模拟形式:解释和动态编译。但正如图3所示,SimIt-ARM不能够脱离在C运行库支持下的I/O控制代码去建立固件级的程序。因此,对于不同的目标平台,初始化代码也是不相同的。开发人员不能在虚拟工具和目标H/WARM平台中使用相同的可执行程序
10、。I/O CtrlJ/0 CtrlCRTStaitupH/W1 platARM图3在两种平台下固件级代码的运行所有的这些努力都为了向开发人员提供书写源代码,建立可执行程序,并在主机 PC上 运行的功能。但不幸的是,这些工具只能在特定目标处理器上模拟可执行文件。 因此它不能 为整个目标硬件平台模拟运行,不能控制外围设备,同时在代码模拟上也有相当大的限制。4.虚拟ARM平台的执行我们建议虚拟ARM平台对外围设备进行持续的控制,这是以往的ARM模拟器所不能提供 的。通过对外围设备增加控制代码,现有的ARM模拟器(例如SimIT-ARM或者Sim pl eScalar)可以控制外围设备,例如LED,七
11、段数码显示器,步进电机等等。图4展示的是虚拟 ARM平台通过对外围设备的“靶样”控制,开发嵌入式系统的步骤。虚拟ARM平台由虚拟ARM莫拟器,图形用户界面,输入事件句柄,定时器,和I/O设备模型组成。如图 5所示,虚拟 ARM平台启动后,首先初始化图形用户界面,在屏幕上显示 GUI主窗口,然后虚拟 ARM模拟器开始运行,处理可执行文件的操作并向虚拟ARM平台发送结果。当虚拟ARM平台从虚拟ARM模拟器得到模拟结果后,便同从虚拟ARM模拟器得到的可 执行报告一道更新它的用户界面。当输入事件句柄发现任何输入事件,他分析事件,当事件是中断请求时,他将中断当前执行的程序。 如果事件不是中断请求, 句柄
12、将输入事件进程发 送到虚拟ARM模拟器来模拟修改后的数据操作。Start Virtual ARMP latformJGrophic User InterfoceInitializationTronsfer the Result fromARM Simulator to GUI 口ndUpdmeGUIYYLVirtuol ARAA P latfonniii GUI Code Execution & Pinint on ScreenLOccured?s it Virtual ARMP n+foinmTermination Event?InpuW EvenlExeciite VirWal AftMS
13、lmullaforProcess Input EventInformation and Transferlo ARM SimulatorTerminote Viirtvol ARM Pllatfonm图5在虚拟ARM平台运行程序4.1虚拟ARM模拟器虚拟ARM模拟器不仅可以解码还可以与实际的ARM处理器一样运行给定的 ARM操作,即处理从虚拟ARM平台转移的事件。 如图6所示,当虚拟ARM模拟器解码ARM命令时,要检查 解码命令是否包含外围设备的控制地址。如果不包含,虚拟ARM模拟器仅仅运行ARM命令并向虚拟ARM平台发送结果。然而,如果包含,虚拟ARM模拟器可以执行额外的操作。因此,虚拟AR
14、M平台利用I/O内存映像图控制外围设备,特定平台的数据文件包含设备控制记录存 取地址和相应的设备控制地址。一个特定数据文件的平台例子如表1所示。通过查找 H/W特定数据平台,虚拟 ARM模拟器确定应该控制哪个设备,确定如何控制相应的设备。最终, 虚拟ARM模拟器通过发送设备控制符和虚拟 ARM平台数据处理控制设备。Access AddressDevice Control RegisterR/WSize(Bit)0x0a00 0004LCR(ILED Control Register)W24OxOaOO OOOHSGCR(Segment Control Register)W140x0a00 00
15、0cDMLCR(Dot-Matrix LED Control RegisterW40x0a00 0014TOCR)Text-LCD Instructron Control Register)WHOx0aOO OOlBTLDCR(Text-LCD Data Control Register)WK0x0a00 001cKMCRKey-Matrix Control Register)R40x0a00 0028SAACR(Step Motor Control Reghtei)图6在虚拟STEP CNTSTEP MOTOR SPEEDOx3dO8f100 Hz0xle847200Hz0x4ffff400
16、H20xa2cl600Hz0x7al1IkHz表1对SYS-Lab 5000 ARM H/W平台的数据抽样ARM SimulatorARM模拟器上运行程序通过使用特定平台的数据文件,开发人员允许在虚拟 ARM平台和实际H/W平台上使用相同的代码控制外围设备。4.2图形用户界面图形用户界面将被用于处理输入事件, 们的GUI全局结构。程序同步,打印屏幕上的模拟结果。 如图7是我Graphic UARIVUSimiilalorDevkeDriver LCD LED 7SegnterraceInput Event 1Handling /visual I Display /ProgramSync,Han
17、dling图7图形用户界面和虚拟 ARM模拟器GUI看起来与实际的目标 H/W平台一致。GUI通过打印真实设备的更改显示外围设备控制结果。同样地,在GUI中当开发人员敲击外围设备 (例如键盘和转换器)使虚拟ARM平台发现外部输入。在开发人员控制外围设备时,图8.2显示了一个执行 GUI的例子,图8.1显示了一个脱离GUI的虚拟ARM平台的例子。 ntlcKd|ihosL/proj/V-ARMfSource/iEilmAR期-2.1 - | 0 | M 讣g5 JIlM Eg邑罔 S罟国幅)(rootlocalhost 5innit-ARM-2.11# ./emu led0000 0001OOO
18、O0IO1O0000 01000000 1000Irootloalhcist Si mil-ARM-2.1)#图8.1脱离GUI的虚拟ARM平台LED显示aaasflfl F雄i Mibam尹煌SB返总II Illi图8.2 GUI下的虚拟 ARM平台LED显示4.3定时器和I/O设备我们还在虚拟ARM平台上使用定时器。当虚拟ARM平台启动时,初始化定时器。通过使 用定时器,开发人员可以测试看门狗定时器中断, 上下文开关程序和系统内核模拟器例如 卩 C/OS-II6。图9显示了定时器被用于操作系统定时器。1, Setting ICR2. Change modeto irq request mo
19、deYesNoOS Tim 0:irq requestregftimer couter) +图9操作系统定时器是如何在虚拟ARM平台上工作的虚拟ARM模拟器可以像使用 SDRAM单元一样使用虚拟 SDRAM通过使用作为虚拟内存的 虚拟SDRAM虚拟ARM模拟器可以通过连接I/O控制代码模拟固件级代码,使得代码的运行 与实际H/W ARM平台相一致。图10显示了在虚拟 ARM平台和实际H/W ARM平台上的固件级 代码均可以运行。I/O Ctrlstartupirtual ARM platrormARMH/W plat Form图10在虚拟ARM平台和H/W平台上运行固件级代码当然,我们还可以使
20、用LED,点阵,七段数码管,LED文本显示器,步进电机,直流电机和键盘区。LED(如图8.2),点阵(如图11.1),七段数码管(如图11.2)都可以通过CPU时 钟控制将控制数据转换为图形输出。LED文本显示器(如图11.3)通过一步步地输入文本控制数据,可以在LED上显示给定的打印信息。步进电机和直流电机(如图11.4)在CPU时钟的控制之下,通过给定速度控制数据,可以看到它们旋转。键盘通过检测鼠标单击每个关键按钮,发送相应的数据输入到虚拟ARM平台。* -索 A 广 mHM辛: t r -4 f t ilI4J=_= - 1 TITn J .11:訂 jZ i*!,N f li Hii-
21、 _ _ - - - - - _* fl i O 1 .寻 i图11.1执行点阵ifIjoassfl匚*: 小:- L Krihj加rl*品fI dn口口 D 口口口 ::辽 I* m.;尊 a idi ,w .-一+I I I-Mtm J图11.3执行LCD文本显示器5. 实验结果我们已经通过实验测试了我们的虚拟ARM平台。我们每一项的测试结果如图12所示,这需要完全控制嵌入式开发板上的每一个设备。通过测试每项应用,(如图13),我们可以看出在实际H/W平台和我们的虚拟平台上,外部特征是非常相似的,如图14.1和图14.2所示有着相同的运行结果。1: I nitialize Text-LCD
22、2: Print “ Virtual ARM ” -LCDext 3: Activate STE P MOTOR to spin4: Seque ntially Turn ON&OFF LED Lamps by Rows& Get Keypad Input6: Shows input data from Keypad through 7-Segme nt7: Shows input data from Keypad through Dot-Matrix8: Rep eat ste p 5 to ste p 79: OS con trols task1(ste p 4) and task2(st
23、e p 8)图12测试应用rootO local host cnmlatarl# . zV i rtua lPHP L atfor n /uorl insf/SysLab/start-e L f32-pre 上 1Z0176435Z, 71765 cannorfi Led instnarrGGlGrRlcslZ-/rc Ests,工仃MivAp/jmagee可虫曰 EJSEE) a?l(V) Eg 日门 J sea) EgS(H)rootClocalhost Lnagcsltt .JFlnsh pxd7x3Z.ddi /working/SysLob/start-c1f32-pre .2003
24、Intel Corparat(onJFLASH Uersion S.Ol.OGVtLibBrtron SVS-Ldb5(JCW) COPYRIGHT CO ZOOO -PLftTFTmn SELECT I nN;FKAZTx SVS-LabSOOO 1.00.001Fpocessor=Deuelopnent SystemData VersionrXASTx reuisicn 7?Found flash tpe: ZBF256L13BUn Lock Ing block at address O&Erflsiing bLock at address Starting progranning Usi
25、ng BUFFER jproyrdmuting Frogpanning done Starting Verify Verification successful! roQt(a local host Lnageslttnude ”I图13针对虚拟ARM平台和SYS-Lab5000的逐项测试* *44qMfjrjGai?益上:二_3 .瀏陞嵋* |:二曲活-:箱iiii fl ;巒涸a网?S* *-*.鼻 V IfcJ :丄:h lg 達,/* 十 iVtTiS Kf KSTa BSaf :I邑起遷捱庐萨序苒?f咔;virtualARM SSSSEE-窝F1“L暑理:;:,4?吃图14.2在虚拟
26、ARM平台上的运行结果6. 小结ARMH/W平台。由于开发人员可以在主机上立即测 程序的整体开发过程将更快, 更方便。 此GUI 界面, 使得入门嵌入式系统变得容易。 特使得学生在学习和研究嵌入式系统软件时在本文中,我们提出虚拟的 ARM开发平台,提供了一个与真正的 H/W平台非常相似的极 好的测试环境。通过使用我们的虚拟ARM平台,开发人员将能够开发基于的嵌入式系统软件, 而不再需要购买目标 试自己的程序而不用烧录可执行文件到实际平台。 外,一个类似于目标的 H/W平台的用户友好的 别是,虚拟ARM平台将作为大学理想的教育工具, 没有任何时间,空间和金钱的限制。本 论 文 受 到 韩 国 M
27、KE(Ministry of7. 鸣谢Knowledge Economy) 和 ITRC(Information Technology Research Center) 的 大 力 支 持 , 程 序 依 据 标 准 为 IITA(Institute for Information Technology Advancement) 。 (IITA-2008-C1090-0801-0045)8. 参考文献1 Y. S. Li and S. Malik, Performance analysis of Real-Time Embedded Software, Kluwer Academic Publ
28、ishers, 1999.2 A. Krishnaswarmy and R. Gupta, Profile Guided Selection of ARM and Thumb Instructions, CM SIGPLAN Joint Conference on Languages Compilersand Tools for Embedded Systems & Software and Compilers for Embedded Systems (LCTES/SCOPES), Berlin, Germany, June 2002.3 http:/simit-4 5 Gon Kim, Sang-Young Cho, and Jungbae Lee, “ Virtual Prototyping Envir
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行入职考试试题及答案
- 医院普法考试试题及答案
- 六一儿童节病区活动方案
- 六一公司策划方案
- 六一化妆环节活动方案
- 六一宾馆活动方案
- 医学考试面试试题及答案
- 六一活动平价活动方案
- 六一活动教室活动方案
- 六一活动绘画活动方案
- 2025江苏扬州宝应县“乡村振兴青年人才”招聘67人笔试备考试题及答案详解一套
- 2025年泸州市中考语文试卷真题
- 2024-2025学年八年级下册道德与法治期末测试模拟卷(统编版)(含答案)
- 2025年社区工作者考试题目及答案
- 定额〔2025〕1号文-关于发布2018版电力建设工程概预算定额2024年度价格水平调整的通知
- 2024年山东铁投集团招聘笔试参考题库含答案解析
- 医疗纠纷防范和处理PPT课件
- 国际经济法案例分析(汇总)
- 超市商品分类明细表(新)
- 轴承座夹具设计说明书
- 变电站综合自动化系统的设计毕业论文外文翻译
评论
0/150
提交评论