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