版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、鄭州大學(xué)畢業(yè)設(shè)計(jì)(翻譯)題 目:Virtual ARM Platform for Embedded System Developers指導(dǎo)教師: 李正民 職稱: 副教授 學(xué)生姓名: 喬 旭 學(xué)號: 20052430222 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 院(系): 信息工程學(xué)院 完成時(shí)間: 2009年5月20日 2009年5月20日為嵌入式系統(tǒng)開發(fā)人員建立虛擬的ARM平臺(tái)摘要越來越多的嵌入式系統(tǒng)開發(fā)人員和片上系統(tǒng)設(shè)計(jì)師采用microprocessor-based(基于微處理器的)設(shè)計(jì)方法,以減少推向市場的時(shí)間。在過去的10年里,ARM處理器一直都是嵌入式系統(tǒng)行業(yè)的主角之一。然而,在早期設(shè)計(jì)階段,有
2、許多對基于ARM處理器的嵌入式軟件開發(fā)的限制。對于那些不熟悉嵌入式軟件設(shè)備的人來說,在ARM硬件平臺(tái)上測試他們的軟件是一項(xiàng)異常艱巨的工作。為克服這些問題,我們?yōu)榛贏RM的嵌入式系統(tǒng)開發(fā)人員設(shè)計(jì)了虛擬的ARM平臺(tái),提供更容易測試和調(diào)試的環(huán)境。使用虛擬ARM平臺(tái)的好處是:(1)減少開發(fā)成本,(2)對于初學(xué)者降低了入門的難度,以及(3)讓您更輕松地測試和調(diào)試嵌入式軟件。與許多其他的純粹以軟件為導(dǎo)向且獨(dú)立于硬件平臺(tái)的ARM模擬器不同,我們的虛擬ARM平臺(tái)是專門針對SYS-Lab 5000 ARM硬件平臺(tái)(由Libertron公司負(fù)責(zé)設(shè)計(jì)制造)研發(fā)的,這意味著我們的平臺(tái)可以盡可能地模仿在目標(biāo)硬件上的嵌
3、入式軟件的各種行為。本文旨在介紹我們的虛擬ARM平臺(tái)的設(shè)計(jì)思想以及它在減少設(shè)計(jì)時(shí)間和開銷方面的一些應(yīng)用。嵌入式系統(tǒng)是一個(gè)擁有特殊用途的計(jì)算機(jī)系統(tǒng),它僅僅采用通用計(jì)算機(jī)系統(tǒng)一小部分的專用功能,有時(shí)還需要進(jìn)行實(shí)時(shí)處理。通常,嵌入式系統(tǒng)具備完整的硬件設(shè)備和機(jī)械裝置,并且它已經(jīng)深深滲透到現(xiàn)代生活的方方面面。不僅僅是個(gè)人數(shù)字助理(PDA)、mp3、手機(jī)等電子消費(fèi)產(chǎn)品,在電信系統(tǒng),交通運(yùn)輸系統(tǒng),醫(yī)學(xué)儀器等領(lǐng)域里,仍然存在著許多的嵌入式系統(tǒng),例如防抱死剎車系統(tǒng)(ABS)、GPS、電子聽診器等。1微處理器是嵌入式系統(tǒng)非常重要的硬件結(jié)構(gòu)之一。隨著個(gè)人計(jì)算機(jī)和因特網(wǎng)的普及,微處理器成為IT行業(yè)發(fā)展中的主要角色。針
4、對不同的用途,每個(gè)微處理器都有自己的特殊結(jié)構(gòu)。2其中,ARM微處理器采用RISC結(jié)構(gòu),被廣泛應(yīng)用于嵌入式系統(tǒng)的設(shè)計(jì)之中。這不僅僅是因?yàn)樗母咝阅芎土畠r(jià),而且還因?yàn)樗械凸牡奶攸c(diǎn)。ARM系列處理器在各種電子消費(fèi)類產(chǎn)品中占有很大優(yōu)勢,從便攜式設(shè)備(PDAs,手機(jī),媒體播放器,掌上游戲機(jī)和計(jì)算器)到計(jì)算機(jī)外設(shè)(硬盤,桌面路由器)。我們即將在本文中介紹的虛擬ARM平臺(tái),是一個(gè)為目標(biāo)硬件設(shè)計(jì)的ARM模擬器。與其他僅僅在軟件模型上設(shè)計(jì)的虛擬ARM機(jī)不同,我們的虛擬ARM平臺(tái)可以與目標(biāo)嵌入式系統(tǒng)執(zhí)行相類似的操作。這種相類似的操作具體是指我們的虛擬ARM平臺(tái)允許嵌入式系統(tǒng)開發(fā)人員在一個(gè)正真的H/W平臺(tái)上開發(fā)
5、和測試他們的嵌入式應(yīng)用。為執(zhí)行一個(gè)特定的虛擬ARM平臺(tái),我們已經(jīng)選擇了SYS-Lab5000 ARM硬件平臺(tái)作為我們的目標(biāo)H/W平臺(tái)。正是由于特定目標(biāo)的虛擬平臺(tái)可以測試目標(biāo)平臺(tái)的細(xì)節(jié)而無需實(shí)際的目標(biāo)平臺(tái),設(shè)計(jì)時(shí)間和花銷被大幅的降低了。尤其在教學(xué)領(lǐng)域,在無法提供充足數(shù)量的嵌入式設(shè)備時(shí),這種針對特定目標(biāo)的虛擬平臺(tái)將盡可能減少學(xué)生對實(shí)際硬件的需求,同時(shí)為學(xué)生學(xué)習(xí)如何設(shè)計(jì)特定目標(biāo)的嵌入式系統(tǒng)提供巨大幫助。我們的虛擬ARM平臺(tái)通過使用SimIt-ARM虛擬器和QT程序庫的用戶圖形界面,完全可以建立在ARM虛擬器之上。為了方便維護(hù)和調(diào)試,我們還擴(kuò)展了特定目標(biāo)的易用程度,設(shè)計(jì)了給定平臺(tái)信息,提供自動(dòng)進(jìn)行特定
6、平臺(tái)環(huán)境設(shè)置的模擬器。此外,我們還可以為簡易操作系統(tǒng)模擬器運(yùn)行中斷句柄定時(shí)器。本文的余下部分將介紹以下內(nèi)容:在第二部分,我們討論在虛擬ARM平臺(tái)上開發(fā)嵌入式系統(tǒng)與實(shí)際硬件平臺(tái)上的區(qū)別。在第三部分,我們將總結(jié)一些相互關(guān)系的研究成果。第四部分介紹我們的虛擬ARM平臺(tái)是如何組織和工作的,第五部分介紹我們的研究成果,第六部分是總結(jié)。2.1 S/W嵌入式系統(tǒng)的發(fā)展眾所周知,在通用計(jì)算機(jī)平臺(tái)例如PC上開發(fā)軟件與在嵌入式平臺(tái)上開發(fā)軟件有很大的不同。因此,通用平臺(tái)軟件開發(fā)人員在開發(fā)嵌入式平臺(tái)軟件時(shí),可能會(huì)遇到很多困難。因?yàn)椋度胧较到y(tǒng)軟件開發(fā)需要將通用運(yùn)行程序燒錄到嵌入式平臺(tái)中,并檢查它的運(yùn)行。這就意味著當(dāng)通
7、用軟件有相同的開發(fā)和運(yùn)行環(huán)境(不同PC之間)時(shí),軟件開發(fā)環(huán)境(以PC為例)和嵌入式軟件運(yùn)行環(huán)境(嵌入式目標(biāo)平臺(tái))不相同。圖1展示的是通常開發(fā)和測試嵌入式系統(tǒng)軟件的步驟。 圖1 嵌入式系統(tǒng)軟件的開發(fā)與PC軟件在每一步發(fā)展中僅僅需要PC不同,嵌入式軟件的發(fā)展需要在實(shí)際的嵌入式系統(tǒng)硬件上進(jìn)行。對于那些不熟悉嵌入式軟件環(huán)境的人來說,在實(shí)際的硬件平臺(tái)上測試他們的軟件是一件很富有挑戰(zhàn)性的工作。他們需要全面了解嵌入式系統(tǒng),并善于使用硬件和在硬件上燒錄程序。而且,如果他們不能負(fù)擔(dān)足夠的嵌入式系統(tǒng)(通常價(jià)格昂貴),他們能在實(shí)際硬件上測試他們軟件的機(jī)會(huì)將變得極為有限。為了解決這一問題,我們設(shè)計(jì)了能夠方便測試和調(diào)試
8、基于ARM嵌入式系統(tǒng)開發(fā)人員的虛擬ARM平臺(tái)。2.2 虛擬ARM平臺(tái)的使用虛擬ARM平臺(tái)可以和實(shí)際ARM硬件平臺(tái)一樣地觀察嵌入式軟件運(yùn)行的結(jié)果。開發(fā)人員可以寫程序代碼,在客戶機(jī)(PC)上通過虛擬ARM平臺(tái)證實(shí)他們的程序。因?yàn)樗齈C外不需要其他的硬件,在開發(fā)程序時(shí)也不需要燒錄的階段。圖2展示的是在虛擬ARM平臺(tái)上開發(fā)嵌入式系統(tǒng)程序的過程。圖2 在虛擬ARM平臺(tái)上開發(fā)嵌入式應(yīng)用程序的過程近些年來,在嵌入式軟件虛擬工具方面有許多研究成果,以下我們簡要地對其中的部分成果進(jìn)行總結(jié)。在嵌入式系統(tǒng)開發(fā)中,作為最廣為人知的ARM模擬器,ARMulator常被用于提供虛擬環(huán)境原型。通過虛擬的硬件IP和端口,在
9、ARMulator上操作系統(tǒng)(例如C/OS-II)6可以脫離H/W平臺(tái)模擬運(yùn)行。SimIt-ARM是一個(gè)設(shè)置指令的模擬器,它可以在用戶層和系統(tǒng)層運(yùn)行ARM程序。SimIt-ARM支持兩種流行的模擬形式:解釋和動(dòng)態(tài)編譯。但正如圖3所示,SimIt-ARM不能夠脫離在C運(yùn)行庫支持下的I/O控制代碼去建立固件級的程序。因此,對于不同的目標(biāo)平臺(tái),初始化代碼也是不相同的。開發(fā)人員不能在虛擬工具和目標(biāo)H/W ARM平臺(tái)中使用相同的可執(zhí)行程序。圖3 在兩種平臺(tái)下固件級代碼的運(yùn)行所有的這些努力都為了向開發(fā)人員提供書寫源代碼,建立可執(zhí)行程序,并在主機(jī)PC上運(yùn)行的功能。但不幸的是,這些工具只能在特定目標(biāo)處理器上模
10、擬可執(zhí)行文件。因此它不能為整個(gè)目標(biāo)硬件平臺(tái)模擬運(yùn)行,不能控制外圍設(shè)備,同時(shí)在代碼模擬上也有相當(dāng)大的限制。我們建議虛擬ARM平臺(tái)對外圍設(shè)備進(jìn)行持續(xù)的控制,這是以往的ARM模擬器所不能提供的。通過對外圍設(shè)備增加控制代碼,現(xiàn)有的ARM模擬器(例如SimIT-ARM或者SimpleScalar)可以控制外圍設(shè)備,例如LED,七段數(shù)碼顯示器,步進(jìn)電機(jī)等等。圖4展示的是虛擬ARM平臺(tái)通過對外圍設(shè)備的“靶樣”控制,開發(fā)嵌入式系統(tǒng)的步驟。圖4 虛擬ARM平臺(tái)對外設(shè)提供控制虛擬ARM平臺(tái)由虛擬ARM模擬器,圖形用戶界面,輸入事件句柄,定時(shí)器,和I/O設(shè)備模型組成。如圖5所示,虛擬ARM平臺(tái)啟動(dòng)后,首先初始化圖形
11、用戶界面,在屏幕上顯示GUI主窗口,然后虛擬ARM模擬器開始運(yùn)行,處理可執(zhí)行文件的操作并向虛擬ARM平臺(tái)發(fā)送結(jié)果。當(dāng)虛擬ARM平臺(tái)從虛擬ARM模擬器得到模擬結(jié)果后,便同從虛擬ARM模擬器得到的可執(zhí)行報(bào)告一道更新它的用戶界面。當(dāng)輸入事件句柄發(fā)現(xiàn)任何輸入事件,他分析事件,當(dāng)事件是中斷請求時(shí),他將中斷當(dāng)前執(zhí)行的程序。如果事件不是中斷請求,句柄將輸入事件進(jìn)程發(fā)送到虛擬ARM模擬器來模擬修改后的數(shù)據(jù)操作。圖5 在虛擬 ARM平臺(tái)運(yùn)行程序4.1 虛擬ARM模擬器虛擬ARM模擬器不僅可以解碼還可以與實(shí)際的ARM處理器一樣運(yùn)行給定的ARM操作,即處理從虛擬ARM平臺(tái)轉(zhuǎn)移的事件。如圖6所示,當(dāng)虛擬ARM模擬器解
12、碼ARM命令時(shí),要檢查解碼命令是否包含外圍設(shè)備的控制地址。如果不包含,虛擬ARM模擬器僅僅運(yùn)行ARM命令并向虛擬ARM平臺(tái)發(fā)送結(jié)果。然而,如果包含,虛擬ARM模擬器可以執(zhí)行額外的操作。因此,虛擬ARM平臺(tái)利用I/O內(nèi)存映像圖控制外圍設(shè)備,特定平臺(tái)的數(shù)據(jù)文件包含設(shè)備控制記錄存取地址和相應(yīng)的設(shè)備控制地址。一個(gè)特定數(shù)據(jù)文件的平臺(tái)例子如表1所示。通過查找H/W特定數(shù)據(jù)平臺(tái),虛擬ARM模擬器確定應(yīng)該控制哪個(gè)設(shè)備,確定如何控制相應(yīng)的設(shè)備。最終,虛擬ARM模擬器通過發(fā)送設(shè)備控制符和虛擬ARM平臺(tái)數(shù)據(jù)處理控制設(shè)備。圖6 在虛擬 ARM模擬器上運(yùn)行程序表1 對SYS-Lab 5000 ARM H/W平臺(tái)的數(shù)據(jù)抽
13、樣通過使用特定平臺(tái)的數(shù)據(jù)文件,開發(fā)人員允許在虛擬ARM平臺(tái)和實(shí)際H/W平臺(tái)上使用相同的代碼控制外圍設(shè)備。4.2 圖形用戶界面圖形用戶界面將被用于處理輸入事件,程序同步,打印屏幕上的模擬結(jié)果。如圖7是我們的GUI全局結(jié)構(gòu)。圖7 圖形用戶界面和虛擬ARM模擬器GUI看起來與實(shí)際的目標(biāo)H/W平臺(tái)一致。GUI通過打印真實(shí)設(shè)備的更改顯示外圍設(shè)備控制結(jié)果。同樣地,在GUI中當(dāng)開發(fā)人員敲擊外圍設(shè)備(例如鍵盤和轉(zhuǎn)換器)使虛擬ARM平臺(tái)發(fā)現(xiàn)外部輸入。在開發(fā)人員控制外圍設(shè)備時(shí),圖8.2顯示了一個(gè)執(zhí)行GUI的例子,圖8.1顯示了一個(gè)脫離GUI的虛擬ARM平臺(tái)的例子。圖8.1 脫離GUI的虛擬ARM平臺(tái)LED顯示圖8
14、.2 GUI下的虛擬ARM平臺(tái)LED顯示4.3 定時(shí)器和I/O設(shè)備我們還在虛擬ARM平臺(tái)上使用定時(shí)器。當(dāng)虛擬ARM平臺(tái)啟動(dòng)時(shí),初始化定時(shí)器。通過使用定時(shí)器,開發(fā)人員可以測試看門狗定時(shí)器中斷,上下文開關(guān)程序和系統(tǒng)內(nèi)核模擬器例如C/OS-II6。圖9顯示了定時(shí)器被用于操作系統(tǒng)定時(shí)器。圖9 操作系統(tǒng)定時(shí)器是如何在虛擬ARM平臺(tái)上工作的虛擬ARM模擬器可以像使用SDRAM單元一樣使用虛擬SDRAM。通過使用作為虛擬內(nèi)存的虛擬SDRAM,虛擬ARM模擬器可以通過連接I/O控制代碼模擬固件級代碼,使得代碼的運(yùn)行與實(shí)際H/W ARM平臺(tái)相一致。圖10顯示了在虛擬ARM平臺(tái)和實(shí)際H/W ARM平臺(tái)上的固件級代
15、碼均可以運(yùn)行。圖10 在虛擬ARM平臺(tái)和H/W平臺(tái)上運(yùn)行固件級代碼當(dāng)然,我們還可以使用LED,點(diǎn)陣,七段數(shù)碼管,LED文本顯示器,步進(jìn)電機(jī),直流電機(jī)和鍵盤區(qū)。LED(如圖8.2),點(diǎn)陣(如圖11.1),七段數(shù)碼管(如圖11.2)都可以通過CPU時(shí)鐘控制將控制數(shù)據(jù)轉(zhuǎn)換為圖形輸出。LED文本顯示器(如圖11.3)通過一步步地輸入文本控制數(shù)據(jù),可以在LED上顯示給定的打印信息。步進(jìn)電機(jī)和直流電機(jī)(如圖11.4)在CPU時(shí)鐘的控制之下,通過給定速度控制數(shù)據(jù),可以看到它們旋轉(zhuǎn)。鍵盤通過檢測鼠標(biāo)單擊每個(gè)關(guān)鍵按鈕,發(fā)送相應(yīng)的數(shù)據(jù)輸入到虛擬ARM平臺(tái)。圖11.1 執(zhí)行點(diǎn)陣圖11.2 執(zhí)行七段數(shù)碼管圖11.3
16、執(zhí)行LCD文本顯示器圖11.4 執(zhí)行步進(jìn)電機(jī)我們已經(jīng)通過實(shí)驗(yàn)測試了我們的虛擬ARM平臺(tái)。我們每一項(xiàng)的測試結(jié)果如圖12所示,這需要完全控制嵌入式開發(fā)板上的每一個(gè)設(shè)備。通過測試每項(xiàng)應(yīng)用,(如圖13),我們可以看出在實(shí)際H/W平臺(tái)和我們的虛擬平臺(tái)上,外部特征是非常相似的,如圖14.1和圖14.2所示有著相同的運(yùn)行結(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平臺(tái)和SYS-Lab5000的逐項(xiàng)測試圖14.1 在實(shí)際平臺(tái)上的運(yùn)行結(jié)果圖14.2 在虛擬ARM平臺(tái)上的運(yùn)行結(jié)果在本文中,我們提出虛擬的ARM開發(fā)平臺(tái),提供了一個(gè)與真正的H/W平臺(tái)非常相似的極好的測
18、試環(huán)境。通過使用我們的虛擬ARM平臺(tái),開發(fā)人員將能夠開發(fā)基于ARM 的嵌入式系統(tǒng)軟件,而不再需要購買目標(biāo)H/W平臺(tái)。由于開發(fā)人員可以在主機(jī)上立即測試自己的程序而不用燒錄可執(zhí)行文件到實(shí)際平臺(tái)。程序的整體開發(fā)過程將更快,更方便。此外,一個(gè)類似于目標(biāo)的H/W平臺(tái)的用戶友好的GUI界面,使得入門嵌入式系統(tǒng)變得容易。特別是,虛擬ARM平臺(tái)將作為大學(xué)理想的教育工具,使得學(xué)生在學(xué)習(xí)和研究嵌入式系統(tǒng)軟件時(shí)沒有任何時(shí)間,空間和金錢的限制。本論文受到韓國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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度科技園區(qū)研發(fā)場地租賃合同范本下載3篇
- 《框架結(jié)構(gòu)荷載分析》課件
- 2024簡單工程勞務(wù)合同范本
- 稅務(wù)業(yè)務(wù)知識(shí)培訓(xùn)課件
- 世紀(jì)生物醫(yī)藥研發(fā)與轉(zhuǎn)讓合同(04版)
- 個(gè)人住宅抵押貸款法律協(xié)議(2024版)版
- 2024版人力資源服務(wù)合同
- 2024年03月陜西中國銀行信息科技運(yùn)營中心(西安)春季校園招考筆試歷年參考題庫附帶答案詳解
- 二零二五年度餐飲行業(yè)員工福利保障合同3篇
- 2025年度新型裝配式彩鋼房拆除與改造施工合同范本4篇
- 人教版小學(xué)數(shù)學(xué)(2024)一年級下冊第一單元 認(rèn)識(shí)平面圖形綜合素養(yǎng)測評 B卷(含答案)
- 企業(yè)年會(huì)攝影服務(wù)合同
- 電商運(yùn)營管理制度
- 二零二五年度一手房購房協(xié)議書(共有產(chǎn)權(quán)房購房協(xié)議)3篇
- 2025年上半年上半年重慶三峽融資擔(dān)保集團(tuán)股份限公司招聘6人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 城市公共交通運(yùn)營協(xié)議
- 內(nèi)燃副司機(jī)晉升司機(jī)理論知識(shí)考試題及答案
- 2024北京東城初二(上)期末語文試卷及答案
- 2024設(shè)計(jì)院與職工勞動(dòng)合同書樣本
- 2024年貴州公務(wù)員考試申論試題(B卷)
- 電工高級工練習(xí)題庫(附參考答案)
評論
0/150
提交評論