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