嵌入式系統(tǒng)的多樣化格式論文
引 言:全系統(tǒng)仿真是指在宿主機的操作系統(tǒng)上運行一個模擬硬件的程序來仿真目標(biāo)硬件,在其上可以運行真實的軟件棧(包括操作系統(tǒng)和應(yīng)用程序)。現(xiàn)有的仿真工具大多是基于單機架構(gòu)的,在使用上,它們往往存在著配置復(fù)雜、對機器CPU、內(nèi)存等配置要求較高,軟/硬件邏輯改動無法同步等不足。為此,我們考慮到了嵌人式系統(tǒng)軟/硬件開發(fā)人員位于分布式環(huán)境的特點,設(shè)計了一種基于B/s架構(gòu)的分布式仿真平臺。分布式的架構(gòu)解決了上述單機架構(gòu)的不足,此外它通過開發(fā)人員對子模塊軟硬件邏輯的局部更新,實現(xiàn)對系統(tǒng)全局仿真模型自動和增量式的更新。我們基于開源嵌入式全系統(tǒng)仿真工具SimSoCCaa實現(xiàn)了該仿真平臺。
同時,我們的工程經(jīng)驗也闡釋了將單機架構(gòu)的仿真工具改成了分布式架構(gòu)的一般規(guī)律。本文首先討論了嵌入式仿真工具從單機架構(gòu)改成分布式帶來的優(yōu)點,然后給出了一種基于B/S架構(gòu)的仿真平臺的設(shè)計與實現(xiàn)。最后通過兩個典型的場景說明了該平臺的應(yīng)用。
1 從單機架構(gòu)到分布式在這一部分,我們將比較分布式的仿真平臺和基于單機的仿真平臺,討論分布式架構(gòu)可能帶來的優(yōu)點。
考慮這樣一種基于B/S架構(gòu)的分布式仿真平臺:軟硬件開發(fā)人員位于分布式的環(huán)境中,即在不同的地方,使用不同的機器進(jìn)行開發(fā)工作。開發(fā)者通過仿真平臺的Browser端提交軟硬件邏輯、提交仿真任務(wù)。仿真平臺的Server端負(fù)責(zé)構(gòu)建仿真模型,進(jìn)行仿真計算。如圖1所示。這樣的一種分布式架構(gòu),相比基于單機的仿真工具,會帶來一些顯而易見的好處:①無需在本地搭建仿真環(huán)境,通過瀏覽器即可使用;② 將非常消耗計算資源的仿真計算從本地機器轉(zhuǎn)移到了Server端;③開發(fā)者對軟硬件邏輯的改動通過提交到Server可以及時反映給其他開發(fā)者;④對通常是命令行界面、較難上手的仿真工具進(jìn)行了封裝,只將有用的功能通過Browser端的GUI暴露給使用者。
此外,相較于單機架構(gòu),分布式架構(gòu)提供了更方便的構(gòu)建仿真模型的方法。在使用基于單機架構(gòu)的仿真工具時,最重要、也是工作量最大的任務(wù)是構(gòu)建仿真模型。仿真模型的構(gòu)建依賴于對于目標(biāo)系統(tǒng)(尤其是軟硬件邏輯及其接口)有全面和深刻的理解。在一些規(guī)模較大、邏輯較為復(fù)雜的嵌入式開發(fā)項目中,單人很難做到理解整個系統(tǒng)。因此,在實際項目開發(fā)中,往往有專職的仿真人員。這些仿真人員獨立于軟硬件開發(fā)人員,他們需要在整個開發(fā)周期里同開發(fā)人員溝通,了解開發(fā)人員的開發(fā)進(jìn)度,跟進(jìn)并理解最新的軟硬件代碼,搭建/更新仿真模型,將仿真結(jié)果反饋給開發(fā)人員。仿真人員的存在毫無疑問會增加人力成本和溝通成本。
而在分布式的環(huán)境中,在待仿真系統(tǒng)完成了軟硬件功能劃分后,首先通過Browser端描述系統(tǒng)的架構(gòu)。此后,在整個系統(tǒng)開發(fā)周期中,不同分工的軟/硬件開發(fā)者只需通過Browser端提交子模塊相應(yīng)的代碼邏輯,進(jìn)行局部仿真模型的構(gòu)建與更新,與此同時,整個系統(tǒng)的仿真模型會進(jìn)行自動地、增量式的更新。在嵌入式系統(tǒng)開發(fā)中,不同開發(fā)者的分工不同。除了軟硬件開發(fā)者之間的分工差異之外,不同的硬件開發(fā)人員可能分別負(fù)責(zé)FPGA硬件邏輯中不同的子模塊。在分布式的架構(gòu)中,不要求有專人對整個系統(tǒng)有全局性的理解以構(gòu)建仿真模型,每個人可以專注于他所負(fù)責(zé)的子模塊。
2 分布式仿真平臺設(shè)計與實現(xiàn)這個仿真平臺的重點是分布式框架,而非工具本身。因此在實現(xiàn)上,我們希望盡可能地集成現(xiàn)有的仿真工具,而非重新開發(fā)一個仿真工具。
我們選擇將開源全系統(tǒng)仿真工具SimSoC變成從單機架構(gòu)變成分布式。本節(jié)將討論仿真平臺實現(xiàn)的技術(shù)細(xì)節(jié)。
2.1 B/S架構(gòu)在實現(xiàn)上,我們決定使用FlexE來開發(fā)Browser端。
Flex是Adobe公司發(fā)布的基于Flash平臺開發(fā)富互聯(lián)網(wǎng)應(yīng)用(rich internet applications,RIA)的技術(shù)。Browser端允許用戶通過GUI界面完成以下操作:編輯系統(tǒng)架構(gòu);提交/更新軟硬件邏輯;提交仿真任務(wù),查看仿真結(jié)果。
Server端則起到了信息和控制中樞的作用。它負(fù)責(zé):維護(hù)仿真資源庫;運行用戶提交的仿真任務(wù);管理提交的軟硬件邏輯。
我們使用Java Servletlg 作為Browser端與Server端的中間層。Servlet由Tomcat服務(wù)器進(jìn)行加載,運行在Server端,它可以將來自于Browser端的Http請求翻譯成對Sim—Soc的調(diào)用命令。Java Servlet的存在,使得Browser端同Server端的仿真工具解耦,當(dāng)使用非SimSoC的其它仿真工具時,只需要在Java Servlet重新定義Http請求到仿真工具調(diào)用命令的映射即可。
2.2 配置系統(tǒng)架構(gòu)用戶在使用Browser端配置系統(tǒng)架構(gòu)時,并不需要從零開始搭建,而是可以復(fù)用一些預(yù)定義的仿真資源模塊。
由于我們使用SimSoC作為Server端的仿真工具,因此這些仿真模塊會分別對應(yīng)SimSoC里一些已經(jīng)實現(xiàn)的SystemC類。這些預(yù)定義的仿真模塊包括各種體系架構(gòu)的嵌入式處理器,內(nèi)存、總線、各種外設(shè)等。當(dāng)Browser端初始化時,會從Server獲得一個描述仿真資源庫的XML文件。在該文件里,定義了各個模塊的描述、端口、屬性等信息。
【嵌入式系統(tǒng)的多樣化格式論文】相關(guān)文章:
CDIO的嵌入式系統(tǒng)課程教學(xué)模式論文02-28
嵌入式系統(tǒng)開發(fā)技術(shù)及應(yīng)用論文05-23
嵌入式系統(tǒng)課程實驗教學(xué)探索論文11-09
基于嵌入式技術(shù)的分布式系統(tǒng)研究及應(yīng)用論文03-16
論文淺析多樣化的教育策略12-09
系統(tǒng)開題報告格式03-21
教學(xué)方法多樣化探討論文02-26
論文的寫作格式11-20
論文提綱 格式11-17
- 相關(guān)推薦