為嵌入式系統(tǒng)開發(fā)人員建立虛擬的ARM平臺_第1頁
為嵌入式系統(tǒng)開發(fā)人員建立虛擬的ARM平臺_第2頁
為嵌入式系統(tǒng)開發(fā)人員建立虛擬的ARM平臺_第3頁
為嵌入式系統(tǒng)開發(fā)人員建立虛擬的ARM平臺_第4頁
為嵌入式系統(tǒng)開發(fā)人員建立虛擬的ARM平臺_第5頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、鄭州大學(xué)畢業(yè)設(shè)計(翻譯)題 目:Virtual ARM Platform for Embedded System Developers指導(dǎo)教師: 李正民 職稱: 副教授 學(xué)生姓名: 喬 旭 學(xué)號: 20052430222 專 業(yè): 計算機科學(xué)與技術(shù) 院(系): 信息工程學(xué)院 完成時間: 2009年5月20日 2009年5月20日為嵌入式系統(tǒng)開發(fā)人員建立虛擬的ARM平臺摘要越來越多的嵌入式系統(tǒng)開發(fā)人員和片上系統(tǒng)設(shè)計師采用microprocessor-based(基于微處理器的)設(shè)計方法,以減少推向市場的時間。在過去的10年里,ARM處理器一直都是嵌入式系統(tǒng)行業(yè)的主角之一。然而,在早期設(shè)計階段,有

2、許多對基于ARM處理器的嵌入式軟件開發(fā)的限制。對于那些不熟悉嵌入式軟件設(shè)備的人來說,在ARM硬件平臺上測試他們的軟件是一項異常艱巨的工作。為克服這些問題,我們?yōu)榛贏RM的嵌入式系統(tǒng)開發(fā)人員設(shè)計了虛擬的ARM平臺,提供更容易測試和調(diào)試的環(huán)境。使用虛擬ARM平臺的好處是:(1)減少開發(fā)成本,(2)對于初學(xué)者降低了入門的難度,以及(3)讓您更輕松地測試和調(diào)試嵌入式軟件。與許多其他的純粹以軟件為導(dǎo)向且獨立于硬件平臺的ARM模擬器不同,我們的虛擬ARM平臺是專門針對SYS-Lab 5000 ARM硬件平臺(由Libertron公司負(fù)責(zé)設(shè)計制造)研發(fā)的,這意味著我們的平臺可以盡可能地模仿在目標(biāo)硬件上的嵌

3、入式軟件的各種行為。本文旨在介紹我們的虛擬ARM平臺的設(shè)計思想以及它在減少設(shè)計時間和開銷方面的一些應(yīng)用。嵌入式系統(tǒng)是一個擁有特殊用途的計算機系統(tǒng),它僅僅采用通用計算機系統(tǒng)一小部分的專用功能,有時還需要進行實時處理。通常,嵌入式系統(tǒng)具備完整的硬件設(shè)備和機械裝置,并且它已經(jīng)深深滲透到現(xiàn)代生活的方方面面。不僅僅是個人數(shù)字助理(PDA)、mp3、手機等電子消費產(chǎn)品,在電信系統(tǒng),交通運輸系統(tǒng),醫(yī)學(xué)儀器等領(lǐng)域里,仍然存在著許多的嵌入式系統(tǒng),例如防抱死剎車系統(tǒng)(ABS)、GPS、電子聽診器等。1微處理器是嵌入式系統(tǒng)非常重要的硬件結(jié)構(gòu)之一。隨著個人計算機和因特網(wǎng)的普及,微處理器成為IT行業(yè)發(fā)展中的主要角色。針

4、對不同的用途,每個微處理器都有自己的特殊結(jié)構(gòu)。2其中,ARM微處理器采用RISC結(jié)構(gòu),被廣泛應(yīng)用于嵌入式系統(tǒng)的設(shè)計之中。這不僅僅是因為它的高性能和廉價,而且還因為它有低功耗的特點。ARM系列處理器在各種電子消費類產(chǎn)品中占有很大優(yōu)勢,從便攜式設(shè)備(PDAs,手機,媒體播放器,掌上游戲機和計算器)到計算機外設(shè)(硬盤,桌面路由器)。我們即將在本文中介紹的虛擬ARM平臺,是一個為目標(biāo)硬件設(shè)計的ARM模擬器。與其他僅僅在軟件模型上設(shè)計的虛擬ARM機不同,我們的虛擬ARM平臺可以與目標(biāo)嵌入式系統(tǒng)執(zhí)行相類似的操作。這種相類似的操作具體是指我們的虛擬ARM平臺允許嵌入式系統(tǒng)開發(fā)人員在一個正真的H/W平臺上開發(fā)

5、和測試他們的嵌入式應(yīng)用。為執(zhí)行一個特定的虛擬ARM平臺,我們已經(jīng)選擇了SYS-Lab5000 ARM硬件平臺作為我們的目標(biāo)H/W平臺。正是由于特定目標(biāo)的虛擬平臺可以測試目標(biāo)平臺的細(xì)節(jié)而無需實際的目標(biāo)平臺,設(shè)計時間和花銷被大幅的降低了。尤其在教學(xué)領(lǐng)域,在無法提供充足數(shù)量的嵌入式設(shè)備時,這種針對特定目標(biāo)的虛擬平臺將盡可能減少學(xué)生對實際硬件的需求,同時為學(xué)生學(xué)習(xí)如何設(shè)計特定目標(biāo)的嵌入式系統(tǒng)提供巨大幫助。我們的虛擬ARM平臺通過使用SimIt-ARM虛擬器和QT程序庫的用戶圖形界面,完全可以建立在ARM虛擬器之上。為了方便維護和調(diào)試,我們還擴展了特定目標(biāo)的易用程度,設(shè)計了給定平臺信息,提供自動進行特定

6、平臺環(huán)境設(shè)置的模擬器。此外,我們還可以為簡易操作系統(tǒng)模擬器運行中斷句柄定時器。本文的余下部分將介紹以下內(nèi)容:在第二部分,我們討論在虛擬ARM平臺上開發(fā)嵌入式系統(tǒng)與實際硬件平臺上的區(qū)別。在第三部分,我們將總結(jié)一些相互關(guān)系的研究成果。第四部分介紹我們的虛擬ARM平臺是如何組織和工作的,第五部分介紹我們的研究成果,第六部分是總結(jié)。2.1 S/W嵌入式系統(tǒng)的發(fā)展眾所周知,在通用計算機平臺例如PC上開發(fā)軟件與在嵌入式平臺上開發(fā)軟件有很大的不同。因此,通用平臺軟件開發(fā)人員在開發(fā)嵌入式平臺軟件時,可能會遇到很多困難。因為,嵌入式系統(tǒng)軟件開發(fā)需要將通用運行程序燒錄到嵌入式平臺中,并檢查它的運行。這就意味著當(dāng)通

7、用軟件有相同的開發(fā)和運行環(huán)境(不同PC之間)時,軟件開發(fā)環(huán)境(以PC為例)和嵌入式軟件運行環(huán)境(嵌入式目標(biāo)平臺)不相同。圖1展示的是通常開發(fā)和測試嵌入式系統(tǒng)軟件的步驟。 圖1 嵌入式系統(tǒng)軟件的開發(fā)與PC軟件在每一步發(fā)展中僅僅需要PC不同,嵌入式軟件的發(fā)展需要在實際的嵌入式系統(tǒng)硬件上進行。對于那些不熟悉嵌入式軟件環(huán)境的人來說,在實際的硬件平臺上測試他們的軟件是一件很富有挑戰(zhàn)性的工作。他們需要全面了解嵌入式系統(tǒng),并善于使用硬件和在硬件上燒錄程序。而且,如果他們不能負(fù)擔(dān)足夠的嵌入式系統(tǒng)(通常價格昂貴),他們能在實際硬件上測試他們軟件的機會將變得極為有限。為了解決這一問題,我們設(shè)計了能夠方便測試和調(diào)試

8、基于ARM嵌入式系統(tǒng)開發(fā)人員的虛擬ARM平臺。2.2 虛擬ARM平臺的使用虛擬ARM平臺可以和實際ARM硬件平臺一樣地觀察嵌入式軟件運行的結(jié)果。開發(fā)人員可以寫程序代碼,在客戶機(PC)上通過虛擬ARM平臺證實他們的程序。因為它除PC外不需要其他的硬件,在開發(fā)程序時也不需要燒錄的階段。圖2展示的是在虛擬ARM平臺上開發(fā)嵌入式系統(tǒng)程序的過程。圖2 在虛擬ARM平臺上開發(fā)嵌入式應(yīng)用程序的過程近些年來,在嵌入式軟件虛擬工具方面有許多研究成果,以下我們簡要地對其中的部分成果進行總結(jié)。在嵌入式系統(tǒng)開發(fā)中,作為最廣為人知的ARM模擬器,ARMulator常被用于提供虛擬環(huán)境原型。通過虛擬的硬件IP和端口,在

9、ARMulator上操作系統(tǒng)(例如C/OS-II)6可以脫離H/W平臺模擬運行。SimIt-ARM是一個設(shè)置指令的模擬器,它可以在用戶層和系統(tǒng)層運行ARM程序。SimIt-ARM支持兩種流行的模擬形式:解釋和動態(tài)編譯。但正如圖3所示,SimIt-ARM不能夠脫離在C運行庫支持下的I/O控制代碼去建立固件級的程序。因此,對于不同的目標(biāo)平臺,初始化代碼也是不相同的。開發(fā)人員不能在虛擬工具和目標(biāo)H/W ARM平臺中使用相同的可執(zhí)行程序。圖3 在兩種平臺下固件級代碼的運行所有的這些努力都為了向開發(fā)人員提供書寫源代碼,建立可執(zhí)行程序,并在主機PC上運行的功能。但不幸的是,這些工具只能在特定目標(biāo)處理器上模

10、擬可執(zhí)行文件。因此它不能為整個目標(biāo)硬件平臺模擬運行,不能控制外圍設(shè)備,同時在代碼模擬上也有相當(dāng)大的限制。我們建議虛擬ARM平臺對外圍設(shè)備進行持續(xù)的控制,這是以往的ARM模擬器所不能提供的。通過對外圍設(shè)備增加控制代碼,現(xiàn)有的ARM模擬器(例如SimIT-ARM或者SimpleScalar)可以控制外圍設(shè)備,例如LED,七段數(shù)碼顯示器,步進電機等等。圖4展示的是虛擬ARM平臺通過對外圍設(shè)備的“靶樣”控制,開發(fā)嵌入式系統(tǒng)的步驟。圖4 虛擬ARM平臺對外設(shè)提供控制虛擬ARM平臺由虛擬ARM模擬器,圖形用戶界面,輸入事件句柄,定時器,和I/O設(shè)備模型組成。如圖5所示,虛擬ARM平臺啟動后,首先初始化圖形

11、用戶界面,在屏幕上顯示GUI主窗口,然后虛擬ARM模擬器開始運行,處理可執(zhí)行文件的操作并向虛擬ARM平臺發(fā)送結(jié)果。當(dāng)虛擬ARM平臺從虛擬ARM模擬器得到模擬結(jié)果后,便同從虛擬ARM模擬器得到的可執(zhí)行報告一道更新它的用戶界面。當(dāng)輸入事件句柄發(fā)現(xiàn)任何輸入事件,他分析事件,當(dāng)事件是中斷請求時,他將中斷當(dāng)前執(zhí)行的程序。如果事件不是中斷請求,句柄將輸入事件進程發(fā)送到虛擬ARM模擬器來模擬修改后的數(shù)據(jù)操作。圖5 在虛擬 ARM平臺運行程序4.1 虛擬ARM模擬器虛擬ARM模擬器不僅可以解碼還可以與實際的ARM處理器一樣運行給定的ARM操作,即處理從虛擬ARM平臺轉(zhuǎn)移的事件。如圖6所示,當(dāng)虛擬ARM模擬器解

12、碼ARM命令時,要檢查解碼命令是否包含外圍設(shè)備的控制地址。如果不包含,虛擬ARM模擬器僅僅運行ARM命令并向虛擬ARM平臺發(fā)送結(jié)果。然而,如果包含,虛擬ARM模擬器可以執(zhí)行額外的操作。因此,虛擬ARM平臺利用I/O內(nèi)存映像圖控制外圍設(shè)備,特定平臺的數(shù)據(jù)文件包含設(shè)備控制記錄存取地址和相應(yīng)的設(shè)備控制地址。一個特定數(shù)據(jù)文件的平臺例子如表1所示。通過查找H/W特定數(shù)據(jù)平臺,虛擬ARM模擬器確定應(yīng)該控制哪個設(shè)備,確定如何控制相應(yīng)的設(shè)備。最終,虛擬ARM模擬器通過發(fā)送設(shè)備控制符和虛擬ARM平臺數(shù)據(jù)處理控制設(shè)備。圖6 在虛擬 ARM模擬器上運行程序表1 對SYS-Lab 5000 ARM H/W平臺的數(shù)據(jù)抽

13、樣通過使用特定平臺的數(shù)據(jù)文件,開發(fā)人員允許在虛擬ARM平臺和實際H/W平臺上使用相同的代碼控制外圍設(shè)備。4.2 圖形用戶界面圖形用戶界面將被用于處理輸入事件,程序同步,打印屏幕上的模擬結(jié)果。如圖7是我們的GUI全局結(jié)構(gòu)。圖7 圖形用戶界面和虛擬ARM模擬器GUI看起來與實際的目標(biāo)H/W平臺一致。GUI通過打印真實設(shè)備的更改顯示外圍設(shè)備控制結(jié)果。同樣地,在GUI中當(dāng)開發(fā)人員敲擊外圍設(shè)備(例如鍵盤和轉(zhuǎn)換器)使虛擬ARM平臺發(fā)現(xiàn)外部輸入。在開發(fā)人員控制外圍設(shè)備時,圖8.2顯示了一個執(zhí)行GUI的例子,圖8.1顯示了一個脫離GUI的虛擬ARM平臺的例子。圖8.1 脫離GUI的虛擬ARM平臺LED顯示圖8

14、.2 GUI下的虛擬ARM平臺LED顯示4.3 定時器和I/O設(shè)備我們還在虛擬ARM平臺上使用定時器。當(dāng)虛擬ARM平臺啟動時,初始化定時器。通過使用定時器,開發(fā)人員可以測試看門狗定時器中斷,上下文開關(guān)程序和系統(tǒng)內(nèi)核模擬器例如C/OS-II6。圖9顯示了定時器被用于操作系統(tǒng)定時器。圖9 操作系統(tǒng)定時器是如何在虛擬ARM平臺上工作的虛擬ARM模擬器可以像使用SDRAM單元一樣使用虛擬SDRAM。通過使用作為虛擬內(nèi)存的虛擬SDRAM,虛擬ARM模擬器可以通過連接I/O控制代碼模擬固件級代碼,使得代碼的運行與實際H/W ARM平臺相一致。圖10顯示了在虛擬ARM平臺和實際H/W ARM平臺上的固件級代

15、碼均可以運行。圖10 在虛擬ARM平臺和H/W平臺上運行固件級代碼當(dāng)然,我們還可以使用LED,點陣,七段數(shù)碼管,LED文本顯示器,步進電機,直流電機和鍵盤區(qū)。LED(如圖8.2),點陣(如圖11.1),七段數(shù)碼管(如圖11.2)都可以通過CPU時鐘控制將控制數(shù)據(jù)轉(zhuǎn)換為圖形輸出。LED文本顯示器(如圖11.3)通過一步步地輸入文本控制數(shù)據(jù),可以在LED上顯示給定的打印信息。步進電機和直流電機(如圖11.4)在CPU時鐘的控制之下,通過給定速度控制數(shù)據(jù),可以看到它們旋轉(zhuǎn)。鍵盤通過檢測鼠標(biāo)單擊每個關(guān)鍵按鈕,發(fā)送相應(yīng)的數(shù)據(jù)輸入到虛擬ARM平臺。圖11.1 執(zhí)行點陣圖11.2 執(zhí)行七段數(shù)碼管圖11.3

16、執(zhí)行LCD文本顯示器圖11.4 執(zhí)行步進電機我們已經(jīng)通過實驗測試了我們的虛擬ARM平臺。我們每一項的測試結(jié)果如圖12所示,這需要完全控制嵌入式開發(fā)板上的每一個設(shè)備。通過測試每項應(yīng)用,(如圖13),我們可以看出在實際H/W平臺和我們的虛擬平臺上,外部特征是非常相似的,如圖14.1和圖14.2所示有著相同的運行結(jié)果。1: Initialize Text-LCD2: Print “Virtual ARM” on Text-LCD3: Activate STEP MOTOR to spin4: Sequentially Turn ON&OFF LED Lamps by Rows5: Get K

17、eypad Input6: Shows input data from Keypad through 7-Segment7: Shows input data from Keypad through Dot-Matrix8: Repeat step 5 to step 79: OS controls task1(step 4) and task2(step 8)圖12 測試應(yīng)用圖13 針對虛擬ARM平臺和SYS-Lab5000的逐項測試圖14.1 在實際平臺上的運行結(jié)果圖14.2 在虛擬ARM平臺上的運行結(jié)果在本文中,我們提出虛擬的ARM開發(fā)平臺,提供了一個與真正的H/W平臺非常相似的極好的測

18、試環(huán)境。通過使用我們的虛擬ARM平臺,開發(fā)人員將能夠開發(fā)基于ARM 的嵌入式系統(tǒng)軟件,而不再需要購買目標(biāo)H/W平臺。由于開發(fā)人員可以在主機上立即測試自己的程序而不用燒錄可執(zhí)行文件到實際平臺。程序的整體開發(fā)過程將更快,更方便。此外,一個類似于目標(biāo)的H/W平臺的用戶友好的GUI界面,使得入門嵌入式系統(tǒng)變得容易。特別是,虛擬ARM平臺將作為大學(xué)理想的教育工具,使得學(xué)生在學(xué)習(xí)和研究嵌入式系統(tǒng)軟件時沒有任何時間,空間和金錢的限制。本論文受到韓國MKE(Ministry of Knowledge Economy)和ITRC(Information Technology Research Center)的大

19、力支持,程序依據(jù)標(biāo)準(zhǔn)為IITA(Institute for Information Technology Advancement)。(IITA-2008-C1090-0801-0045)1 Y. S. Li and S. Malik, "Performance analysis of Real-Time Embedded Software," Kluwer Academic Publishers, 1999.2 A. Krishnaswarmy and R. Gupta, "Profile Guided Selection of ARM and Thumb Ins

20、tructions," CM SIGPLAN Joint Conference on Languages Compilersand Tools for Embedded Systems & Software and Compilers for Embedded Systems (LCTES/SCOPES), Berlin, Germany, June 2002.5 Gon Kim, Sang-Young Cho, and Jungbae Lee, “Virtual Prototyping Environment on ARMulator”, Korea Computer Congress 2004 Vol. 2., 2004, pp. 592-594.6 Jean J. Labrosse, MicroC/OS-II Real Time Kernel 2/E, R&D Technical Books, 2002.7 P. Schaumont, D. Ching, I. Verbauwhede, "An interactive codesign environment for domain-specific coproc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論