田潤(rùn)澤 羅飛 丁煒超 陳琳
摘 要:嵌入式系統(tǒng)實(shí)驗(yàn)課程存在硬件知識(shí)和動(dòng)手操作門檻,造成學(xué)習(xí)效率低、教學(xué)效果差等問(wèn)題。為解決這些問(wèn)題,以Unity3D為開(kāi)發(fā)工具,構(gòu)建一種嵌入式系統(tǒng)的虛擬仿真平臺(tái),借由Unity3D游戲引擎,模擬嵌入式實(shí)驗(yàn)操作環(huán)境,建模嵌入式實(shí)驗(yàn)設(shè)備,并借助該虛擬仿真平臺(tái)完成嵌入式系統(tǒng)實(shí)驗(yàn)。該虛擬仿真平臺(tái)能夠有效提供嵌入式Linux課程所需的實(shí)驗(yàn)環(huán)境和實(shí)驗(yàn)方法?;谔摂M仿真平臺(tái)的嵌入式虛擬實(shí)驗(yàn)系統(tǒng)可有效降低嵌入式系統(tǒng)實(shí)驗(yàn)課程的學(xué)習(xí)難度并提升教學(xué)效果。
關(guān)鍵詞:Unity3D;嵌入式系統(tǒng);虛擬仿真;模型構(gòu)建;場(chǎng)景構(gòu)建
DOI:10. 11907/rjdk. 192076 開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
中圖分類號(hào):G434文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2020)002-0240-04
英標(biāo):Virtual Simulation Platform and Experiments of Embedded Systems
英作:TIAN Run-ze, LUO Fei,?DING Wei-chao,?CHEN Lin
英單:(School of Information and Engineering, East China University of Science and Technology, Shanghai 200237, China)
Abstract: The current situation of experimental curriculum of embedded systems in universities should be changed, because the experimental courses of embedded systems have the threshold of hardware knowledge and the corresponding operation, resulting in low learning efficiency and poor teaching effect. Therefore, this paper utilizes Unity3D as the development tool to construct a virtual simulation platform for embedded systems. The Unity game engine is used to simulate the operating environment of embedded experiment, where the embedded experimental equipment is modeled. The experiment of embedded systems is further carried out based on the virtual simulation platform. It is shown that the virtual simulation platform can effectively provide the experimental environment and methods for embedded Linux. The results indicate that the virtual simulation platform can effectively solve the difficulties of embedded experimental course, reduce the learning difficulty of embedded systems and improve teaching effect.
Key Words:Unity3D;embedded systems;virtual simulation;model building; scenario building
0 引言
隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,嵌入式技術(shù)應(yīng)用日益廣泛,關(guān)于嵌入式課程的學(xué)習(xí)越發(fā)重要。但是隨著大學(xué)課程的深入,學(xué)生們受限于精力,準(zhǔn)備嵌入式課程的時(shí)間越來(lái)越少[1-3];同時(shí)嵌入式課程本身就是軟硬件相結(jié)合,內(nèi)容多且系統(tǒng)性較強(qiáng),具有一定難度[4-5]?,F(xiàn)實(shí)中往往存在這樣一種現(xiàn)象:學(xué)生深知嵌入式課程的重要性,但苦于準(zhǔn)備時(shí)間少,課程學(xué)習(xí)難度大,使得學(xué)習(xí)成果不盡如人意[6-7]。然而,高校所能提供的技術(shù)遠(yuǎn)遠(yuǎn)跟不上嵌入式技術(shù)的發(fā)展,學(xué)生即使能合格完成高校課程任務(wù),但也很難滿足企業(yè)需求。
為了解決嵌入式實(shí)驗(yàn)課程所面臨的問(wèn)題,需要探討新的嵌入式系統(tǒng)實(shí)驗(yàn)方法。Woong Yang等[7]提供了一個(gè)Web框架來(lái)連接物理和虛擬環(huán)境,并且能夠在物理和虛擬環(huán)境之間自由切換;James Devine[8]為嵌入式系統(tǒng)開(kāi)發(fā)提供了一種新的開(kāi)發(fā)平臺(tái);楊昕欣等[9]采用開(kāi)源仿真器QEMU設(shè)計(jì)了虛擬仿真教學(xué)實(shí)驗(yàn),為嵌入式系統(tǒng)操作系統(tǒng)原理、嵌入式系統(tǒng)編程基礎(chǔ)、Linux驅(qū)動(dòng)開(kāi)發(fā)以及嵌入式開(kāi)發(fā)等教學(xué)內(nèi)容提供了良好支撐;張志勇等[10]使用PROTEUS仿真實(shí)現(xiàn)嵌入式系統(tǒng)開(kāi)發(fā)課程虛擬仿真實(shí)驗(yàn)平臺(tái),進(jìn)行軟件設(shè)計(jì)和電路仿真;況立群等[11]提出將虛擬仿真技術(shù)引入嵌入式系統(tǒng)課程群的實(shí)踐教學(xué)環(huán)節(jié),使得許多原來(lái)由硬件才能完成的功能,都能依靠軟件實(shí)現(xiàn),即“以虛代實(shí)”“以軟代硬”“虛實(shí)結(jié)合”,構(gòu)建了與真實(shí)環(huán)境一致的虛擬仿真實(shí)踐教學(xué)平臺(tái);楊昕欣等[12]基于主流虛擬現(xiàn)實(shí)頭顯設(shè)備設(shè)計(jì)了嵌入式相關(guān)實(shí)驗(yàn),其中,基礎(chǔ)實(shí)驗(yàn)提供基本開(kāi)發(fā)能力訓(xùn)練,自主實(shí)驗(yàn)為學(xué)生提供發(fā)揮創(chuàng)意的空間;劉小花等[13]在虛擬仿真實(shí)驗(yàn)教學(xué)平臺(tái)建設(shè)和運(yùn)行過(guò)程中,根據(jù)信息電子類實(shí)驗(yàn)課程教學(xué)特點(diǎn)和需要達(dá)到的實(shí)驗(yàn)效果,從實(shí)踐教學(xué)內(nèi)容、教學(xué)模式、人才培養(yǎng)以及教學(xué)資源建設(shè)等方面,提出了信息電子仿真平臺(tái)可持續(xù)發(fā)展策略。
3.4 uBoot燒寫場(chǎng)景
uBoot燒寫是下載燒寫在本系統(tǒng)中的燒寫方式,因此下載燒寫就是uBoot燒寫,在本場(chǎng)景中也存在3部分:輸入框、輸出框及按鈕,但是不包括代碼編輯按鈕。按照實(shí)驗(yàn)步驟輸入指令并將顯示正確結(jié)果,下方兩個(gè)按鈕分別表示返回模塊選擇場(chǎng)景或者進(jìn)入下一場(chǎng)景。
3.5 結(jié)果輸出
結(jié)果輸出存在于系統(tǒng)各模塊,是驗(yàn)證實(shí)驗(yàn)結(jié)果是否正確的唯一方式。模塊一環(huán)境配置中,每輸入一行指令會(huì)點(diǎn)擊回車鍵驗(yàn)證是否正確,如果結(jié)果正確,會(huì)在輸出框顯示表示輸出正確的值,有時(shí)顯示指令正確,有時(shí)解析輸入指令的含義,有時(shí)輸出正確結(jié)果;模塊二中,點(diǎn)擊按鈕將顯示點(diǎn)擊設(shè)備的詳細(xì)信息,方便使用者進(jìn)一步掌握實(shí)驗(yàn)器材的使用方式,在連接成功之后也會(huì)有具體顯示效果表示連接完成;模塊三中,點(diǎn)擊任意按鍵設(shè)計(jì)為點(diǎn)擊回車鍵,顯示串口終端信息,之后Print指令也將配置好的信息顯示在黑色輸出文本框中,按照實(shí)驗(yàn)步驟進(jìn)行將會(huì)于輸出框中表明輸入的指令是否正確,當(dāng)輸入的所有指令都正確時(shí),將按照實(shí)驗(yàn)顯示結(jié)果,然后結(jié)束實(shí)驗(yàn)。
4 實(shí)驗(yàn)方法
構(gòu)建基于虛擬仿真平臺(tái)的嵌入式實(shí)驗(yàn)環(huán)境涵蓋嵌入式Linux實(shí)驗(yàn)課程所需環(huán)境,不僅可以實(shí)現(xiàn)基礎(chǔ)的交叉環(huán)境配置、下載燒寫等,也可以充分發(fā)揮Unity引擎的優(yōu)勢(shì),實(shí)現(xiàn)硬件資源的物理連接。使用者登錄到虛擬仿真平臺(tái),驗(yàn)證通過(guò)之后即可根據(jù)系統(tǒng)提供的模塊進(jìn)行實(shí)驗(yàn),選擇不同模塊將進(jìn)入不同的環(huán)境中,進(jìn)而根據(jù)所學(xué)知識(shí)進(jìn)行實(shí)驗(yàn)即可。當(dāng)然,各模塊之間也存在著邏輯關(guān)系,在完成某些特定實(shí)驗(yàn)之后才可以正確進(jìn)行其它實(shí)驗(yàn),例如下載燒寫模塊必須在環(huán)境配置以及物理連接模塊之后進(jìn)行,在環(huán)境配置或者物理連接模塊未完成之前下載燒寫模塊會(huì)產(chǎn)生錯(cuò)誤結(jié)果。在實(shí)驗(yàn)過(guò)程中,教師隨時(shí)監(jiān)督、指導(dǎo)學(xué)生,學(xué)生不必?fù)?dān)心走彎路而致使實(shí)驗(yàn)時(shí)間完全浪費(fèi)。同時(shí),學(xué)生也可以按照自行設(shè)計(jì)的方法反復(fù)實(shí)驗(yàn),直至得出正確答案,具體實(shí)驗(yàn)方法及結(jié)果展示如下:
環(huán)境配置模塊測(cè)試需按照環(huán)境配置步驟進(jìn)行。環(huán)境配置步驟是:①新建一個(gè)目錄;②進(jìn)入到工作目錄(/home/ecust/workplace,解壓交叉編譯工具鏈文件(toolchain-4.5.1-farsight. tar.bz2);③代碼編輯;④在當(dāng)前bash環(huán)境下讀取并執(zhí)行~/.bashrc中的命令;⑤測(cè)試。按照步驟,就輸入指令進(jìn)行逐一對(duì)比、分析,如表1所示。
表1中的預(yù)計(jì)效果及實(shí)際效果的前兩行中,在真實(shí)環(huán)境下不會(huì)出現(xiàn)操作正確的輸出,此處是系統(tǒng)為了讓使用者更加清楚地知道自己的指令是否存在問(wèn)題而加上的;第三行至最后一行是對(duì)輸入指令的解析,讓使用者理解起來(lái)更加簡(jiǎn)單。如果顯示arm-linux-gcc等編譯命令,則配置環(huán)境成功(或者運(yùn)行:arm-none-linux-gnueabi-gcc-v,不報(bào)錯(cuò),則安裝成功)。
環(huán)境配置部分的實(shí)際輸出如圖3-圖5所示。實(shí)驗(yàn)結(jié)果表明,用戶可以通過(guò)嵌入式系統(tǒng)的虛擬仿真平臺(tái)完成嵌入式系統(tǒng)實(shí)驗(yàn),從而減少了用戶因不熟悉硬件知識(shí)而造成的學(xué)習(xí)困難,進(jìn)而能夠大幅度提高教學(xué)效果。
5 結(jié)語(yǔ)
本文基于Unity3D技術(shù)對(duì)Cortex-A8 ARM實(shí)驗(yàn)系統(tǒng)進(jìn)行建模,進(jìn)而構(gòu)建嵌入式系統(tǒng)實(shí)驗(yàn)所需的模塊選擇、環(huán)境配置、物理連接、下載燒寫等嵌入式實(shí)驗(yàn)場(chǎng)景,從而提出一種面向嵌入式系統(tǒng)實(shí)驗(yàn)課程的新方案——基于嵌入式虛擬仿真平臺(tái)的嵌入式虛擬實(shí)驗(yàn)系統(tǒng),該方法有效解決了嵌入式課程花費(fèi)時(shí)間多、創(chuàng)新性小、實(shí)驗(yàn)環(huán)境不足、實(shí)驗(yàn)設(shè)備稀少等問(wèn)題,并且經(jīng)過(guò)系統(tǒng)設(shè)計(jì)發(fā)現(xiàn),只需加以完善,該方法完全可以應(yīng)用于構(gòu)建高校新型嵌入式實(shí)驗(yàn)課程。
參考文獻(xiàn):
[1] 宮曉利,徐浩聰,張金,等. 操作系統(tǒng)與嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué)的融合探索[J]. 計(jì)算機(jī)教育,2017(4): 125-128.
[2] 陳明. 嵌入式應(yīng)用類課程實(shí)踐教學(xué)改革研究[J]. 才智,2018(8):5.
[3] 李娜. 嵌入式課程實(shí)驗(yàn)體系教學(xué)改革分析[J]. 計(jì)算機(jī)產(chǎn)品與流通,2019(2):204.
[4] 朱銘琳. 嵌入式系統(tǒng)開(kāi)發(fā)課程教學(xué)改革[J].? 信息與電腦:理論版,2017(19):231-233.
[5] 袁泉. 基于虛擬仿真培訓(xùn)系統(tǒng)開(kāi)發(fā)教學(xué)模式創(chuàng)新研究[J].? 山東工業(yè)技術(shù),2019(12):231-232,235.
[6] 張立新. 計(jì)算機(jī)系統(tǒng)能力背景下的嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué)研究[J]. 中國(guó)新通,2017,19(14):122.
[7] WOONG YANG,SOO-HONG LEEN,YONG ZHU JIN,et al. Development of Web-based collaborative framework for the simulation of embedded systems[J]. Journal of Computational Design and Engineering,2016(3): 363-369.
[8] JAMES DEVINE, JOE FINNEY, PELI DE HALLEUX, et al. MakeCode and CODAL: intuitive and efficient embedded systems programming for education[C]. Philadelphia:2018 LCTES,2018:19-30.
[9] 楊昕欣,刁為民,王 俊,等.? 嵌入式系統(tǒng)虛擬仿真實(shí)驗(yàn)設(shè)計(jì)與教學(xué)實(shí)踐[J]. 中國(guó)現(xiàn)代教育裝備,2018,287(7):43-45,48.
[10] 張志勇,唐永林,于繁華,等.? 嵌入式系統(tǒng)虛擬仿真實(shí)驗(yàn)平臺(tái)建設(shè)研究[J]. 應(yīng)用研究,2016(1): 114.
[11] 況立群,張?jiān)?,李順增,?? 嵌入式系統(tǒng)課程群虛擬仿真實(shí)踐教學(xué)平臺(tái)建設(shè)研究[J]. 計(jì)算機(jī)時(shí)代,2016(6): 95-97.
[12] 楊昕欣,孫霽澤,王俊. 在嵌入式系統(tǒng)教學(xué)中開(kāi)展創(chuàng)新實(shí)踐教育——以虛擬現(xiàn)實(shí)系統(tǒng)為案例[J]. 高教論壇,2018(3):28-31.
[13] 劉小花,唐貴進(jìn),吉新村.? 基于虛擬仿真平臺(tái)的信息電子技術(shù)實(shí)驗(yàn)教學(xué)研究[J]. 軟件導(dǎo)刊,2018,17(11):223-226.
[14] 吳立鋒,張亞平. 依托嵌入式系統(tǒng)實(shí)驗(yàn)平臺(tái)培養(yǎng)學(xué)生創(chuàng)新能力[J]. 中國(guó)現(xiàn)代教育裝備,2017(13):57-59.
[15] 周虹. 基于模型的嵌入式系統(tǒng)開(kāi)發(fā)教學(xué)實(shí)驗(yàn)平臺(tái)設(shè)計(jì)[J]. 黑龍江教育:高教研究與評(píng)估,2018(10):23-24.
[16] 戚建宇,何松,鹿朋. 嵌入式系統(tǒng)教學(xué)中虛擬實(shí)驗(yàn)平臺(tái)的應(yīng)用[J]. 無(wú)線互聯(lián)科技,2018,15(14):96-97,108.
(責(zé)任編輯:孫 娟)