專利名稱:一種基于構(gòu)件的模擬器自動生成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種嵌入式系統(tǒng)開發(fā)工具,更具體的說,是涉及一種基于構(gòu)件的模擬器自動生成方法。
背景技術(shù):
在嵌入式系統(tǒng)的設(shè)計中,采用軟/硬件協(xié)同設(shè)計的方法能有效的提高系統(tǒng)的開發(fā)效率,縮短產(chǎn)品的開發(fā)周期。在通常的嵌入式系統(tǒng)中,處理器是整個系統(tǒng)的核心。同時,嵌入式系統(tǒng)還包括存儲設(shè)備、其他I/O和通訊設(shè)備接口等。對于嵌入式系統(tǒng)軟件的開發(fā)更具有意義的是對于整個系統(tǒng)的建模,在硬件和軟件上統(tǒng)一系統(tǒng)仿真平臺,開發(fā)一個用于處理器協(xié)同模擬,協(xié)同驗證的系統(tǒng)模擬器。
完全手工開發(fā)一個仿真器,不但是一項非常繁重的工作,而且易于出錯。一般來說,開發(fā)仿真器不僅需要花費數(shù)月的時間,還需要花費大量的時間來進行仿真器正確性的驗證。即便如此,在使用該仿真器的時候,也不能認(rèn)定其已經(jīng)是正確的,顯然,我們需要一個工具,可以根據(jù)用戶的需求自動生成仿真器。這樣,不但可以大大減少開發(fā)的工作量,并且易于修改排錯。目前這方面的大部分工具都是針對硬件設(shè)計的正確性驗證,在邏輯層進行仿真。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于克服現(xiàn)有技術(shù)中的不足,提供了一種基于構(gòu)件的模擬器自動生成方法。
為了解決上述技術(shù)問題,本發(fā)明是通過以下技術(shù)方案實現(xiàn)的。
一種基于構(gòu)件的模擬器自動生成方法,包括以下步驟(1)啟動調(diào)試服務(wù)器調(diào)試服務(wù)器在啟動時只有一個主線程,用于調(diào)用配置文件的加載器;(2)加載配置文件配置文件是具有特定格式的XML文件,加載配置文件是由配置文件的加載器完成;通過該配置文件,加載器動態(tài)生成一個嵌入式模擬系統(tǒng);(3)啟動調(diào)試服務(wù)和調(diào)試代理完成加載配置文件后,調(diào)試服務(wù)器需要啟動調(diào)試服務(wù)和調(diào)試代理,調(diào)試服務(wù)和調(diào)試代理都具有各自的線程,在調(diào)試服務(wù)和調(diào)試代理都啟動以后,調(diào)試服務(wù)器就可以接收外部系統(tǒng)的調(diào)試請求,運行完成模擬器的自動生成。
作為一種改進,所述的調(diào)試服務(wù)器是嵌入式系統(tǒng)的一個容器,包括三種構(gòu)件嵌入式系統(tǒng),程序加載器和調(diào)試服務(wù);程序加載器用于加載用戶程序到模擬系統(tǒng)的存儲器;同時,調(diào)試服務(wù)器提供對外的調(diào)試服務(wù),異步的和模擬系統(tǒng)的調(diào)試接口進行通信,完成調(diào)試功能,最后通過調(diào)試代理完成對于不同調(diào)試工具的適配。
作為一種改進,加載配置文件需要完成如下工作對處理器模型、CPU模型、存儲器模型、外圍設(shè)備模型及總線模型的加載,配置系統(tǒng)的連接,對程序加載器、調(diào)試服務(wù)及調(diào)試代理的加載;所述的處理器模型是整個模擬系統(tǒng)的核心部分,負(fù)責(zé)對處理器內(nèi)部具有獨立運算能力的不同運算單元的管理,采用二級模型來表示真實的處理器系統(tǒng);所述的CPU模型是對具有獨立運算能力的運算單元的描述,是整個處理器模型的核心;所述的存儲器模型是模擬系統(tǒng)的重要組成部分,存儲器模型采用兩級結(jié)構(gòu)設(shè)計,對外表現(xiàn)為統(tǒng)一的32位尋址,外部的執(zhí)行實體發(fā)起存取數(shù)據(jù)的請求,存儲器將地址進行翻譯,完成邏輯地址到物理地址的轉(zhuǎn)換,同時,對于物理地址經(jīng)過訪問控制模型的過濾,最后存取數(shù)據(jù)的請求發(fā)送到存儲區(qū)域模型;所述的外圍設(shè)備模型分為片內(nèi)設(shè)備模型和片外設(shè)備模型,片內(nèi)設(shè)備模型與系統(tǒng)有較高的耦合度,片外設(shè)備模型采用軟總線互連;所述的總線模型是整個系統(tǒng)互連模型的核心,它是一個軟總線的模型,對執(zhí)行實體間的數(shù)據(jù)交換通路進行建模;作為一種改進,還實現(xiàn)了系統(tǒng)互連模型和調(diào)試模型;所述的系統(tǒng)互連模型是從處理器模擬到系統(tǒng)模擬的重要環(huán)節(jié),系統(tǒng)互連模型定義了各個不同的執(zhí)行實體如何互連形成一個完整的系統(tǒng);所述的調(diào)試模型是貫穿整個模擬系統(tǒng)的模型,整個模擬系統(tǒng)在調(diào)試模型中被看作是一個調(diào)試服務(wù)器,調(diào)試模型實現(xiàn)了模擬引擎的概念;
作為一種改進,所述的存儲區(qū)域模型是對不同存儲介質(zhì)的建模。
作為一種改進,所述的系統(tǒng)互連模型包括兩個部分,一個是同步互連模型,一個是異步互連模型。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是首先,根據(jù)一個描述文件來生成仿真器部件不易出錯;其次,修改方便,對指令集的修改只需修改描述文件即可;第三,采用此種方法可以大大減少仿真器的開發(fā)時間。
圖1是模擬系統(tǒng)的總體框架圖。
圖2是系統(tǒng)互連模型圖。
圖3是同步互連總線圖。
圖4是異步互連總線圖。
圖中,1處理器模塊、2存儲器模塊、3外圍設(shè)備模塊、4程序加載器、5調(diào)試服務(wù)、6調(diào)試代理、7調(diào)試服務(wù)器、21執(zhí)行實體、22互連總線。
具體實施例方式
結(jié)合附圖,下面對本發(fā)明進行詳細(xì)說明。
一種基于構(gòu)件的模擬器自動生成方法,包括以下步驟1、設(shè)計模擬器,包括以下步驟繼承SourceInstruction類實現(xiàn)處理器的指令對象;實現(xiàn)指令加載器IInstructionLoader接口,該類定義處理器的取指邏輯;實現(xiàn)處理器IProcessor接口,該類定義處理器的特殊功能;實現(xiàn)IAddressGenerator接口,該接口需要實現(xiàn)地址產(chǎn)生邏輯;實現(xiàn)IAccessManager接口,完成尋址邏輯;實現(xiàn)IInstructionTranslator接口,完成源指令到虛擬指令的轉(zhuǎn)換;繼承或?qū)崿F(xiàn)RegisterFile,實現(xiàn)處理器的寄存器模型;實現(xiàn)IDevice接口,實現(xiàn)處理器的片上外設(shè)。以上英文名稱為具體實現(xiàn)的JAVA程序語言的類名或是接口名。
2、模擬器的運行步驟(1)啟動調(diào)試服務(wù)器調(diào)試服務(wù)器在剛啟動時只有一個主線程,主線程的唯一任務(wù)就是調(diào)用配置文件的加載器。
(2)加載配置文件加載配置文件是由配置文件的加載器完成的。配置文件是一個具有特定格式的XML文件。通過該配置文件,加載器動態(tài)生成一個嵌入式系統(tǒng)。加載配置文件需要完成如下工作加載處理器模型處理器模型是整個模擬系統(tǒng)的核心部分,負(fù)責(zé)對處理器內(nèi)部具有獨立運算能力的不同運算單元的管理,采用二級模型來表示真實的處理器系統(tǒng);加載CPU模型CPU模型是對具有獨立運算能力的運算單元的描述,是整個處理器模型的核心;加載存儲器模型存儲器模型是模擬系統(tǒng)的重要組成部分,存儲器模型采用兩級結(jié)構(gòu)設(shè)計,對外表現(xiàn)為統(tǒng)一的32位尋址,外部的執(zhí)行實體發(fā)起存取數(shù)據(jù)的請求,存儲器將地址進行翻譯,完成邏輯地址到物理地址的轉(zhuǎn)換,同時,對于物理地址經(jīng)過訪問控制模型的過濾,最后存取數(shù)據(jù)的請求發(fā)送到存儲區(qū)域模型;加載外圍設(shè)備模型外圍設(shè)備模型分為片內(nèi)設(shè)備模型和片外設(shè)備模型,片內(nèi)設(shè)備模型與系統(tǒng)有較高的耦合度,片外設(shè)備模型采用軟總線互連;加載總線模型總線模型是整個系統(tǒng)互連模型的核心,它是一個軟總線的模型,對執(zhí)行實體間的數(shù)據(jù)交換通路進行建模;配置系統(tǒng)的連接將上述各個模型連接配置成一個完整的嵌入式系統(tǒng);加載系統(tǒng)的程序加載器程序加載器是模擬系統(tǒng)一個重要的組成部分,用于加載用戶程序到模擬系統(tǒng)的存儲器;加載調(diào)試服務(wù)調(diào)試服務(wù)是獨立于處理器線程的一個提供調(diào)試服務(wù)的線程,調(diào)試服務(wù)異步的和模擬系統(tǒng)的調(diào)試接口進行通信,完成調(diào)試功能;加載調(diào)試代理調(diào)試代理整個系統(tǒng)和外部系統(tǒng)連接的一個接口,管理兩種不同的調(diào)試方式,一種是本地調(diào)式,一種是分布式的調(diào)試。
(3)啟動調(diào)試服務(wù)和調(diào)試代理在完成加載系統(tǒng)模型以后,調(diào)試服務(wù)器需要啟動調(diào)試服務(wù)和調(diào)試代理,調(diào)試服務(wù)和調(diào)試代理都具有各自的線程。在服務(wù)和代理都啟動以后,調(diào)試服務(wù)器就可以接收外部系統(tǒng)的調(diào)試請求了。嵌入式模擬系統(tǒng)是整個調(diào)試服務(wù)器的基礎(chǔ),負(fù)責(zé)執(zhí)行應(yīng)用程序。調(diào)試服務(wù)器負(fù)責(zé)和嵌入式系統(tǒng)通信,控制系統(tǒng)的運行,獲取系統(tǒng)的運行狀態(tài)。
最后,還需要注意的是,以上列舉的僅是本發(fā)明的一個具體實施例。顯然,本發(fā)明不限于以上實施例,還可以有許多變形。本領(lǐng)域的普通技術(shù)人員能從本發(fā)明公開的內(nèi)容直接導(dǎo)出或聯(lián)想到的所有變形,均應(yīng)認(rèn)為是本發(fā)明的保護范圍。
權(quán)利要求
1.一種基于構(gòu)件的模擬器自動生成方法,其特征在于,包括以下步驟(1)啟動調(diào)試服務(wù)器調(diào)試服務(wù)器在啟動時只有一個主線程,用于調(diào)用配置文件的加載器;(2)加載配置文件配置文件是具有特定格式的XML文件,加載配置文件是由配置文件的加載器完成;通過該配置文件,加載器動態(tài)生成一個嵌入式模擬系統(tǒng);(3)啟動調(diào)試服務(wù)和調(diào)試代理完成加載配置文件后,調(diào)試服務(wù)器需要啟動調(diào)試服務(wù)和調(diào)試代理,調(diào)試服務(wù)和調(diào)試代理都具有各自的線程,在調(diào)試服務(wù)和調(diào)試代理都啟動以后,調(diào)試服務(wù)器就可以接收外部系統(tǒng)的調(diào)試請求,運行完成模擬器的自動生成。
2.根據(jù)權(quán)利要求1所述的一種基于構(gòu)件的模擬器自動生成方法,其特征在于,所述的調(diào)試服務(wù)器是嵌入式系統(tǒng)的一個容器,包括三種構(gòu)件嵌入式系統(tǒng),程序加載器和調(diào)試服務(wù);程序加載器用于加載用戶程序到模擬系統(tǒng)的存儲器;同時,調(diào)試服務(wù)器提供對外的調(diào)試服務(wù),異步的和模擬系統(tǒng)的調(diào)試接口進行通信,完成調(diào)試功能,最后通過調(diào)試代理完成對于不同調(diào)試工具的適配。
3.根據(jù)權(quán)利要求1所述的一種基于構(gòu)件的模擬器自動生成方法,其特征在于,加載配置文件需要完成如下工作對處理器模型、CPU模型、存儲器模型、外圍設(shè)備模型及總線模型的加載,配置系統(tǒng)的連接,對程序加載器、調(diào)試服務(wù)及調(diào)試代理的加載;所述的處理器模型是整個模擬系統(tǒng)的核心部分,負(fù)責(zé)對處理器內(nèi)部具有獨立運算能力的不同運算單元的管理,采用二級模型來表示真實的處理器系統(tǒng);所述的CPU模型是對具有獨立運算能力的運算單元的描述,是整個處理器模型的核心;所述的存儲器模型是模擬系統(tǒng)的重要組成部分,存儲器模型采用兩級結(jié)構(gòu)設(shè)計,對外表現(xiàn)為統(tǒng)一的32位尋址,外部的執(zhí)行實體發(fā)起存取數(shù)據(jù)的請求,存儲器將地址進行翻譯,完成邏輯地址到物理地址的轉(zhuǎn)換,同時,對于物理地址經(jīng)過訪問控制模型的過濾,最后存取數(shù)據(jù)的請求發(fā)送到存儲區(qū)域模型;所述的外圍設(shè)備模型分為片內(nèi)設(shè)備模型和片外設(shè)備模型,片內(nèi)設(shè)備模型與系統(tǒng)有較高的耦合度,片外設(shè)備模型采用軟總線互連;所述的總線模型是整個系統(tǒng)互連模型的核心,它是一個軟總線的模型,對執(zhí)行實體間的數(shù)據(jù)交換通路進行建模。
4.根據(jù)權(quán)利要求1所述的一種基于構(gòu)件的模擬器自動生成方法,其特征在于,還實現(xiàn)了系統(tǒng)互連模型和調(diào)試模型;所述的系統(tǒng)互連模型是從處理器模擬到系統(tǒng)模擬的重要環(huán)節(jié),系統(tǒng)互連模型定義了各個不同的執(zhí)行實體如何互連形成一個完整的系統(tǒng);所述的調(diào)試模型是貫穿整個模擬系統(tǒng)的模型,整個模擬系統(tǒng)在調(diào)試模型中被看作是一個調(diào)試服務(wù)器,調(diào)試模型實現(xiàn)了模擬引擎的概念。
5.根據(jù)權(quán)利要求3所述的一種基于構(gòu)件的模擬器自動生成方法,其特征在于,所述的存儲區(qū)域模型是對不同存儲介質(zhì)的建模。
6.根據(jù)權(quán)利要求4所述的一種基于構(gòu)件的模擬器自動生成方法,其特征在于,所述的系統(tǒng)互連模型包括兩個部分,一個是同步互連模型,一個是異步互連模型。
全文摘要
本發(fā)明涉及一種嵌入式系統(tǒng)開發(fā)工具,旨在提供一種基于構(gòu)件的模擬器自動生成方法。該方法包括以下步驟(1)啟動調(diào)試服務(wù)器用于調(diào)用配置文件的加載器;(2)加載配置文件由配置文件的加載器完成;通過該配置文件,加載器動態(tài)生成一個嵌入式模擬系統(tǒng);(3)啟動調(diào)試服務(wù)和調(diào)試代理完成加載配置文件后,調(diào)試服務(wù)器啟動調(diào)試服務(wù)和調(diào)試代理,接收外部系統(tǒng)的調(diào)試請求,運行完成模擬器的自動生成。本發(fā)明的有益效果是根據(jù)一個描述文件來生成仿真器部件不易出錯;修改方便,對指令集的修改只需修改描述文件即可;采用此種方法可以大大減少仿真器的開發(fā)時間。
文檔編號G06F9/44GK101034351SQ20071006660
公開日2007年9月12日 申請日期2007年1月5日 優(yōu)先權(quán)日2007年1月5日
發(fā)明者趙民德, 呂攀, 李紅, 楊國青, 姜旭鋒, 劉凱, 吳朝暉 申請人:浙江大學(xué)