版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、目:鄭州大學畢業(yè)設計(翻譯)Virtual ARM Platform for Embedded SystemDevel opers指導教師:李正民職稱:副教授學生姓名:學號:20052430222專 業(yè):計算機科學與技術院(系):信息工程學院完成時間:2009年5月20日2009年5月20日為嵌入式系統(tǒng)開發(fā)人員建立虛擬的 ARM平臺 摘要 越來越多的嵌入式系統(tǒng)開發(fā)人員和片上系統(tǒng)設計師采用microprocessor-based( 基于微處理器的)設計方法,以減少推向市場的時間。在過去的10年里,ARM處理器一直都是嵌入式系統(tǒng)行業(yè)的主角之一。然而,在早期設計階段,有許多對基于ARM處理器的嵌入式
2、軟件 開發(fā)的限制。對于那些不熟悉嵌入式軟件設備的人來說,在ARM硬件平臺上測試他們的軟件是一項異常艱巨的工作。為克服這些問題,我們?yōu)榛贏RM勺嵌入式系統(tǒng)開發(fā)人員設計了虛 擬的ARM平臺,提供更容易測試和調(diào)試的環(huán)境。使用虛擬ARM平臺的好處是:(1)減少開發(fā)成本, (2) 對于初學者降低了入門的難度, 以及 (3) 讓您更輕松地測試和調(diào)試嵌入式軟件。 與 許多其他的純粹以軟件為導向且獨立于硬件平臺的ARM模擬器不同,我們的虛擬ARM平臺是專門針對 SYS-Lab 5000 ARM 硬件平臺 ( 由 Libertron 公司負責設計制造 ) 研發(fā)的,這意味著 我們的平臺可以盡可能地模仿在目標硬件
3、上的嵌入式軟件的各種行為。本文旨在介紹我們的虛擬ARM平臺的設計思想以及它在減少設計時間和開銷方面的一些應用。1. 導言嵌入式系統(tǒng)是一個擁有特殊用途的計算機系統(tǒng), 它僅僅采用通用計算機系統(tǒng)一小部分的 專用功能,有時還需要進行實時處理。通常,嵌入式系統(tǒng)具備完整的硬件設備和機械裝置, 并且它已經(jīng)深深滲透到現(xiàn)代生活的方方面面。不僅僅是個人數(shù)字助理(PDA)、mp3手機等電子消費產(chǎn)品,在電信系統(tǒng),交通運輸系統(tǒng),醫(yī)學儀器等領域里,仍然存在著許多的嵌入式系 統(tǒng),例如防抱死剎車系統(tǒng)(ABS)、GPS電子聽診器等。1微處理器是嵌入式系統(tǒng)非常重要的硬件結構之一。 隨著個人計算機和因特網(wǎng)的普及, 微 處理器成為
4、IT 行業(yè)發(fā)展中的主要角色。針對不同的用途,每個微處理器都有自己的特殊結 構。2其中,ARM微處理器采用 RISC結構,被廣泛應用于嵌入式系統(tǒng)的設計之中。這不僅 僅是因為它的高性能和廉價,而且還因為它有低功耗的特點。ARM系列處理器在各種電子消費類產(chǎn)品中占有很大優(yōu)勢,從便攜式設備(PDAs,手機,媒體播放器,掌上游戲機和計算器)到計算機外設 ( 硬盤,桌面路由器 ) 。ARM平臺可以與目標嵌入式系統(tǒng)執(zhí)行ARM平臺允許嵌入式系統(tǒng)開發(fā)人員在 為執(zhí)行一個特定的虛擬 ARM平臺,我我們即將在本文中介紹的虛擬ARM平臺,是一個為目標硬件設計的 ARM莫擬器。與其他僅僅在軟件模型上設計的虛擬ARM機不同,
5、我們的虛擬相類似的操作。 這種相類似的操作具體是指我們的虛擬 一個正真的H/W平臺上開發(fā)和測試他們的嵌入式應用。們已經(jīng)選擇了 SYS-Lab5000 ARM硬件平臺作為我們的目標 H/W平臺。正是由于特定目標的虛 擬平臺可以測試目標平臺的細節(jié)而無需實際的目標平臺,設計時間和花銷被大幅的降低了。 尤其在教學領域, 在無法提供充足數(shù)量的嵌入式設備時, 這種針對特定目標的虛擬平臺將盡 可能減少學生對實際硬件的需求, 同時為學生學習如何設計特定目標的嵌入式系統(tǒng)提供巨大 幫助。我們的虛擬 ARM平臺通過使用SimIt-ARM虛擬器和QT程序庫的用戶圖形界面,完全 可以建立在ARM虛擬器之上。為了方便維護
6、和調(diào)試, 我們還擴展了特定目標的易用程度,設計了給定平臺信息, 提供自動進行特定平臺環(huán)境設置的模擬器。 此外, 我們還可以為簡易操 作系統(tǒng)模擬器運行中斷句柄定時器。本文的余下部分將介紹以下內(nèi)容: 在第二部分,我們討論在虛擬 ARM平臺上開發(fā)嵌入式 系統(tǒng)與實際硬件平臺上的區(qū)別。 在第三部分, 我們將總結一些相互關系的研究成果。 第四部 分介紹我們的虛擬 ARM平臺是如何組織和工作的,第五部分介紹我們的研究成果,第六部分 是總結。2.虛擬ARM平臺的需求2.1 S/W嵌入式系統(tǒng)的發(fā)展眾所周知,在通用計算機平臺例如PC上開發(fā)軟件與在嵌入式平臺上開發(fā)軟件有很大的不同。因此,通用平臺軟件開發(fā)人員在開發(fā)嵌
7、入式平臺軟件時,可能會遇到很多困難。因為,嵌入式系統(tǒng)軟件開發(fā)需要將通用運行程序燒錄到嵌入式平臺中,并檢查它的運行。這就意味著當通用軟件有相同的開發(fā)和運行環(huán)境(不同PC之間)時,軟件開發(fā)環(huán)境(以PC為例)和嵌入式軟件運行環(huán)境(嵌入式目標平臺)不相同。圖1展示的是通常開發(fā)和測試嵌入式系統(tǒng)軟件的圖1嵌入式系統(tǒng)軟件的開發(fā)與PC軟件在每一步發(fā)展中僅僅需要 PC不同,嵌入式軟件的發(fā)展需要在實際的嵌入式系 統(tǒng)硬件上進行。對于那些不熟悉嵌入式軟件環(huán)境的人來說,在實際的硬件平臺上測試他們的軟件是一件很富有挑戰(zhàn)性的工作。他們需要全面了解嵌入式系統(tǒng),并善于使用硬件和在硬件上燒錄程序。而且,如果他們不能負擔足夠的嵌入
8、式系統(tǒng)(通常價格昂貴),他們能在實際硬 件上測試他們軟件的機會將變得極為有限。為了解決這一問題,我們設計了能夠方便測試和調(diào)試基于ARM嵌入式系統(tǒng)開發(fā)人員的虛擬 ARM平臺。開發(fā)人員可 PC外不需要 圖2展示的是在虛擬 ARM平臺上開發(fā)嵌入2.2虛擬ARMFF臺的使用虛擬ARM平臺可以和實際ARM硬件平臺一樣地觀察嵌入式軟件運行的結果。 以寫程序代碼,在客戶機(PC)上通過虛擬ARM平臺證實他們的程序。因為它除 其他的硬件,在開發(fā)程序時也不需要燒錄的階段。 式系統(tǒng)程序的過程。圖2在虛擬ARM平臺上開發(fā)嵌入式應用程序的過程以下我們簡要地對其中的部分3. 一些相互關系的工作成果近些年來,在嵌入式軟件
9、虛擬工具方面有許多研究成果, 成果進行總結。在嵌入式系統(tǒng)開發(fā)中,作為最廣為人知的ARM模擬器,ARMulator常被用于提供虛擬環(huán)境原型。通過虛擬的硬件IP和端口,在 ARMulator上操作系統(tǒng)(例如卩C/OS-II)6可以脫離H/W平臺模擬運行。SimIt-ARM是一個設置指令的模擬器,它可以在用戶層和系統(tǒng)層運行ARM程序。SimIt-ARM支持兩種流行的模擬形式:解釋和動態(tài)編譯。但正如圖3所示,SimIt-ARM不能夠脫離在C運行庫支持下的I/O控制代碼去建立固件級的程序。因此,對于不同的目標平臺,初始化代碼也是不相同的。開發(fā)人員不能在虛擬工具和目標H/WARM平臺中使用相同的可執(zhí)行程序
10、。I/O CtrlJ/0 CtrlCRTStaitupH/W1 platARM圖3在兩種平臺下固件級代碼的運行所有的這些努力都為了向開發(fā)人員提供書寫源代碼,建立可執(zhí)行程序,并在主機 PC上 運行的功能。但不幸的是,這些工具只能在特定目標處理器上模擬可執(zhí)行文件。 因此它不能 為整個目標硬件平臺模擬運行,不能控制外圍設備,同時在代碼模擬上也有相當大的限制。4.虛擬ARM平臺的執(zhí)行我們建議虛擬ARM平臺對外圍設備進行持續(xù)的控制,這是以往的ARM模擬器所不能提供 的。通過對外圍設備增加控制代碼,現(xiàn)有的ARM模擬器(例如SimIT-ARM或者Sim pl eScalar)可以控制外圍設備,例如LED,七
11、段數(shù)碼顯示器,步進電機等等。圖4展示的是虛擬 ARM平臺通過對外圍設備的“靶樣”控制,開發(fā)嵌入式系統(tǒng)的步驟。虛擬ARM平臺由虛擬ARM莫擬器,圖形用戶界面,輸入事件句柄,定時器,和I/O設備模型組成。如圖 5所示,虛擬 ARM平臺啟動后,首先初始化圖形用戶界面,在屏幕上顯示 GUI主窗口,然后虛擬 ARM模擬器開始運行,處理可執(zhí)行文件的操作并向虛擬ARM平臺發(fā)送結果。當虛擬ARM平臺從虛擬ARM模擬器得到模擬結果后,便同從虛擬ARM模擬器得到的可 執(zhí)行報告一道更新它的用戶界面。當輸入事件句柄發(fā)現(xiàn)任何輸入事件,他分析事件,當事件是中斷請求時,他將中斷當前執(zhí)行的程序。 如果事件不是中斷請求, 句柄
12、將輸入事件進程發(fā) 送到虛擬ARM模擬器來模擬修改后的數(shù)據(jù)操作。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平臺發(fā)送結果。然而,如果包含,虛擬ARM模擬器可以執(zhí)行額外的操作。因此,虛擬AR
14、M平臺利用I/O內(nèi)存映像圖控制外圍設備,特定平臺的數(shù)據(jù)文件包含設備控制記錄存 取地址和相應的設備控制地址。一個特定數(shù)據(jù)文件的平臺例子如表1所示。通過查找 H/W特定數(shù)據(jù)平臺,虛擬 ARM模擬器確定應該控制哪個設備,確定如何控制相應的設備。最終, 虛擬ARM模擬器通過發(fā)送設備控制符和虛擬 ARM平臺數(shù)據(jù)處理控制設備。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平臺的數(shù)據(jù)抽樣ARM SimulatorARM模擬器上運行程序通過使用特定平臺的數(shù)據(jù)文件,開發(fā)人員允許在虛擬 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中當開發(fā)人員敲擊外圍設備 (例如鍵盤和轉換器)使虛擬ARM平臺發(fā)現(xiàn)外部輸入。在開發(fā)人員控制外圍設備時,圖8.2顯示了一個執(zhí)行 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平臺啟動時,初始化定時器。通過使 用定時器,開發(fā)人員可以測試看門狗定時器中斷, 上下文開關程序和系統(tǒng)內(nèi)核模擬器例如 卩 C/OS-II6。圖9顯示了定時器被用于操作系統(tǒng)定時器。1, Setting ICR2. Change modeto irq request mo
19、deYesNoOS Tim 0:irq requestregftimer couter) +圖9操作系統(tǒng)定時器是如何在虛擬ARM平臺上工作的虛擬ARM模擬器可以像使用 SDRAM單元一樣使用虛擬 SDRAM通過使用作為虛擬內(nèi)存的 虛擬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,點陣,七段數(shù)碼管,LED文本顯示器,步進電機,直流電機和鍵盤區(qū)。LED(如圖8.2),點陣(如圖11.1),七段數(shù)碼管(如圖11.2)都可以通過CPU時 鐘控制將控制數(shù)據(jù)轉換為圖形輸出。LED文本顯示器(如圖11.3)通過一步步地輸入文本控制數(shù)據(jù),可以在LED上顯示給定的打印信息。步進電機和直流電機(如圖11.4)在CPU時鐘的控制之下,通過給定速度控制數(shù)據(jù),可以看到它們旋轉。鍵盤通過檢測鼠標單擊每個關鍵按鈕,發(fā)送相應的數(shù)據(jù)輸入到虛擬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執(zhí)行點陣ifIjoassfl匚*: 小:- L Krihj加rl*品fI dn口口 D 口口口 ::遼 I* m.;尊 a idi ,w .-一+I I I-Mtm J圖11.3執(zhí)行LCD文本顯示器5. 實驗結果我們已經(jīng)通過實驗測試了我們的虛擬ARM平臺。我們每一項的測試結果如圖12所示,這需要完全控制嵌入式開發(fā)板上的每一個設備。通過測試每項應用,(如圖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網(wǎng)?S* *-*.鼻 V IfcJ :丄:h lg 達,/* 十 iVtTiS Kf KSTa BSaf :I邑起遷捱廬薩序苒?f咔;virtualARM SSSSEE-窩F1“L暑理:;:,4?吃圖14.2在虛擬
26、ARM平臺上的運行結果6. 小結ARMH/W平臺。由于開發(fā)人員可以在主機上立即測 程序的整體開發(fā)過程將更快, 更方便。 此GUI 界面, 使得入門嵌入式系統(tǒng)變得容易。 特使得學生在學習和研究嵌入式系統(tǒng)軟件時在本文中,我們提出虛擬的 ARM開發(fā)平臺,提供了一個與真正的 H/W平臺非常相似的極 好的測試環(huán)境。通過使用我們的虛擬ARM平臺,開發(fā)人員將能夠開發(fā)基于的嵌入式系統(tǒng)軟件, 而不再需要購買目標 試自己的程序而不用燒錄可執(zhí)行文件到實際平臺。 外,一個類似于目標的 H/W平臺的用戶友好的 別是,虛擬ARM平臺將作為大學理想的教育工具, 沒有任何時間,空間和金錢的限制。本 論 文 受 到 韓 國 M
27、KE(Ministry of7. 鳴謝Knowledge Economy) 和 ITRC(Information Technology Research Center) 的 大 力 支 持 , 程 序 依 據(jù) 標 準 為 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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學生處工作計劃
- 幼兒園保教工作計劃大全
- 買賣合同范文七篇
- 幼兒教育工作計劃集合七篇
- 中國卡座連接器項目投資可行性研究報告
- 棉花姑娘教案四篇
- 網(wǎng)絡對戰(zhàn)小游戲課程設計
- 產(chǎn)科護士一天的工作計劃
- 全新大一軍訓心得筆記10篇
- 畢業(yè)生自我介紹(15篇)
- 配合、協(xié)調(diào)、服務方案
- 市政工程監(jiān)理大綱
- 2023-2024學年廣東省廣州市黃埔區(qū)六年級(上)期末數(shù)學試卷(A卷)
- 初中數(shù)學新課程標準(2024年版)
- 期末測試卷(一)2024-2025學年 人教版PEP英語五年級上冊(含答案含聽力原文無聽力音頻)
- 2023-2024學年廣東省深圳市南山區(qū)八年級(上)期末英語試卷
- 漢服娃衣創(chuàng)意設計與制作智慧樹知到期末考試答案章節(jié)答案2024年四川文化產(chǎn)業(yè)職業(yè)學院
- 廣東省中山市2023-2024學年四年級上學期期末數(shù)學試卷
- 8款-組織架構圖(可編輯)
- 氣動潛孔錘施工方案
- 云南省教育科學規(guī)劃課題開題報告 - 云南省教育科學研究院
評論
0/150
提交評論