欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種實(shí)現(xiàn)軟件移植的方法、系統(tǒng)及芯片的制作方法

文檔序號(hào):6611472閱讀:225來源:國知局

專利名稱::一種實(shí)現(xiàn)軟件移植的方法、系統(tǒng)及芯片的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及軟件移植技術(shù),尤其涉及一種實(shí)現(xiàn)軟件移植的方法、系統(tǒng)及芯片。
背景技術(shù)
:目前,包括多媒體處理芯片在內(nèi)的一些芯片,如應(yīng)用于MP4中的數(shù)字信號(hào)處理(DSP)芯片等,一般內(nèi)部都有一個(gè)中央處理器(CPU)來管理控制芯片的各個(gè)功能,并且與芯片配套的軟件一般有兩種運(yùn)行模式。其中,第一種運(yùn)行模式為將軟件分為兩部分,一部分運(yùn)行于芯片內(nèi)部,稱為內(nèi)部核心軟件,由芯片內(nèi)部的CPU作為協(xié)處理器進(jìn)行控制;另一部分運(yùn)行于芯片外部,稱為外圍控制軟件,由芯片外部的CPU作為主控處理器進(jìn)行控制,然后外圍控制軟件和內(nèi)部核心軟件通過芯片與外部之間的硬件通道實(shí)現(xiàn)通信。第二種運(yùn)行模式為軟件沒有內(nèi)外之分,全部運(yùn)行于芯片內(nèi)部,由芯片內(nèi)部的CPU作為主控處理器進(jìn)行控制。如圖l所示,圖1為現(xiàn)有技術(shù)中應(yīng)用第一種運(yùn)行模式的一種芯片流程示意圖。其中,外圍控制軟件作為實(shí)現(xiàn)一定功能的接口,通過界面程序與用戶交互。用戶通過界面程序?qū)⑺璨僮魅缗臄z、播放MP3、播放MP4、錄音、讀寫文件等輸入給外圍控制軟件;外圍控制軟件則作為實(shí)現(xiàn)攝像頭拍攝功能的接口、播放MP3的接口、播放MP4的接口、錄音接口以及讀寫文件的接口等將相應(yīng)功能命令及參數(shù)通過硬件通道發(fā)送給內(nèi)部核心軟件;內(nèi)部核心軟件作為實(shí)現(xiàn)一定功能的執(zhí)行程序,實(shí)現(xiàn)對(duì)應(yīng)于外圍控制軟件所發(fā)命令的具體功能。即內(nèi)部核心軟件在通過硬件通道接收到外圍控制軟件發(fā)送的命令、參數(shù)后,執(zhí)行與命令相應(yīng)的函數(shù)調(diào)用。如為實(shí)現(xiàn)攝像頭拍攝功能而進(jìn)行的初始化、啟動(dòng)芯片的壓縮一幀照片的功能、壓縮完成后,通知外圍控制軟件拍照完成等。如圖2所示,圖2為現(xiàn)有技術(shù)中應(yīng)用第二種運(yùn)行模式的一種芯片流程示意圖。其中,軟件統(tǒng)稱內(nèi)部軟件,全部運(yùn)行于芯片內(nèi)部,此時(shí)與用戶進(jìn)行交互的界面程序也可運(yùn)行在芯片內(nèi)部。用戶通過界面程序?qū)⑺璨僮鬏斎虢o內(nèi)部軟件,內(nèi)部軟件調(diào)用相應(yīng)函數(shù)完成對(duì)應(yīng)操作。實(shí)際應(yīng)用中,軟件開發(fā)商提供的軟件開發(fā)包一般都是按照第一種運(yùn)行模式提供的,即提供的軟件開發(fā)包包括內(nèi)部核心軟件和外圍控制軟件,而對(duì)于產(chǎn)品生產(chǎn)商來說,有時(shí)需要按照第二種運(yùn)行模式設(shè)置芯片,則此時(shí)就需要將外圍控制軟件也移植到芯片內(nèi)部運(yùn)行,但軟件開發(fā)商提供的內(nèi)部核心軟件和外圍控制軟件是通過硬件通道進(jìn)行通信的,如果只是簡單的將外圍控制軟件添加到芯片內(nèi)部,則芯片根本無法控制外圍控制軟件和內(nèi)部核心軟件之間進(jìn)行通信。為了實(shí)現(xiàn)軟件移植,現(xiàn)有技術(shù)中的做法是,將外圍控制軟件和內(nèi)部核心軟件的架構(gòu)打亂,二者互相嵌套成為一個(gè)整體,即重新架構(gòu)出一套軟件,芯片通過該重新架構(gòu)出的軟件進(jìn)行通信控制??梢姡F(xiàn)有技術(shù)中的這種做法,工作量很大,類似于重新編制軟件,并且因?yàn)檐浖匦逻M(jìn)行了架構(gòu),因此容易出錯(cuò),效果較差。
發(fā)明內(nèi)容有鑒于此,本發(fā)明一方面提供一種實(shí)現(xiàn)軟件移植的方法,另一方面提供一種實(shí)現(xiàn)軟件移植的系統(tǒng)及芯片,以便于減小工作量。本發(fā)明所提供的實(shí)現(xiàn)軟件移植的方法,包括在芯片的外圍控制軟件和內(nèi)部核心軟件之間建立虛擬通道;將外圍控制軟件添加到芯片內(nèi)部;芯片控制外圍控制軟件和內(nèi)部核心軟件通過所建立的虛擬通道進(jìn)行通信。其中,所述在外圍控制軟件和內(nèi)部核心軟件之間建立虛擬通道具體包括根據(jù)外圍控制軟件和內(nèi)部核心軟件之間硬件通道的接口類型確定虛擬通道的接口;按照所確定的虛擬通道接口,建立虛擬通道。其中,所述根據(jù)碌/f牛通道的接口類型確定虛擬通道的接口包括若硬件通道的接口類型為外圍控制軟件的接口且該接口為用于打開通訊中斷,并初始化通訊通道的接口,則所確定的虛擬通道的接口為用于初始化通訊通道的接口;若硬件通道的接口類型為外圍控制軟件的接口且該接口為用于寫入待發(fā)送命令并通過中斷發(fā)送給內(nèi)部核心軟件的接口,則所確定虛擬通道的接口為用于根據(jù)該命令調(diào)用內(nèi)部核心軟件接收到該命令需要執(zhí)行的函數(shù)的接口;若硬件通道的接口類型為外圍控制軟件的接口且該接口為用于接收返回命令的接口,則所確定虛擬通道的接口為無需實(shí)現(xiàn)的接口;若硬件通道的接口類型為外圍控制軟件的接口且該接口為用于向命令參數(shù)區(qū)寫/讀數(shù)據(jù)的接口,則所確定的虛擬通道的接口為用于向命令參數(shù)區(qū)寫/讀數(shù)據(jù)的接口;若硬件通道的接口類型為內(nèi)部核心軟件的接口且該接口為用于寫入待發(fā)送命令并通過中斷發(fā)送給外圍控制軟件的接口,則所確定的虛擬通道的接口為用于根據(jù)該命令調(diào)用外圍控制軟件接收到該命令需要執(zhí)行的函數(shù)的接口;若硬件通道的接口類型為內(nèi)部核心軟件的接口且該接口為用于接收返回命令的接口,則所確定的虛擬通道的接口為無需實(shí)現(xiàn)的接口;若硬件通道的接口類型為內(nèi)部核心軟件的接口且該接口為用于向命令參數(shù)區(qū)寫/讀數(shù)據(jù)的接口,則所確定的虛擬通道的接口為用于向命令參數(shù)區(qū)寫/讀數(shù)據(jù)的接口。較佳地,將外圍控制軟件添加到芯片內(nèi)部之前進(jìn)一步包括對(duì)虛擬通道進(jìn)行功能測試;則所述將外圍控制軟件添加到芯片內(nèi)部為功能測試成功后,將外圍控制軟件添加到芯片內(nèi)部。其中,所述功能測試包括將外圍控制軟件的一部分添加到芯片內(nèi)部;在芯片內(nèi)部執(zhí)行通道初始化、發(fā)送命令以及接收命令響應(yīng)。較佳地,將外圍控制軟件添加到芯片內(nèi)部之后進(jìn)一步包括對(duì)添加后的軟件進(jìn)行重新編譯。本發(fā)明所提供的實(shí)現(xiàn)軟件移植的系統(tǒng),包括虛擬通道建立模塊、軟件添加模塊和芯片,其中,虛擬通道建立模塊,用于在芯片的外圍控制軟件和內(nèi)部核心軟件之間建立虛擬通道;軟件添加模塊,用于將外圍控制軟件添加到芯片內(nèi)部;芯片,用于存儲(chǔ)來自軟件添加模塊的外圍控制軟件,控制外圍控制軟件和內(nèi)部核心軟件通過虛擬通道建立模塊建立的虛擬通道進(jìn)行通信。較佳地,所述虛擬通道建立模塊進(jìn)一步用于在虛擬通道建立完成后,向軟件添加模塊發(fā)送添加指令;所述軟件添加模塊進(jìn)一步用于根據(jù)來自虛擬通道建立模塊的添加指令,執(zhí)行所述將外圍控制軟件添加到芯片內(nèi)部的操作。其中,所述芯片包括存儲(chǔ)模塊和控制模塊,其中,存儲(chǔ)模塊,用于存儲(chǔ)內(nèi)部核心軟件和接收的來自軟件添加模塊的外圍控制軟件;控制模塊,用于控制存儲(chǔ)模塊中的外圍控制軟件和內(nèi)部核心軟件通過所建立的虛擬通道進(jìn)行通信。本發(fā)明所提供的實(shí)現(xiàn)軟件移植的芯片,包括存儲(chǔ)模塊和控制模塊,其中,存儲(chǔ)模塊,用于存儲(chǔ)內(nèi)部核心軟件和接收的外圍控制軟件;控制模塊,用于控制存儲(chǔ)模塊中的外圍控制軟件和內(nèi)部核心軟件通過預(yù)先建立的虛擬通道進(jìn)行通信。從上述方案可以看出,本發(fā)明通過在外圍控制軟件和內(nèi)部核心軟件之間建立虛擬通道,并將外圍控制軟件添加到芯片內(nèi)部,芯片控制外圍控制軟件和內(nèi)部核心軟件通過所建立的虛擬通道進(jìn)行通信??梢姡景l(fā)明只是將外圍控制軟件和內(nèi)部核心軟件之間的通道由硬件通道設(shè)置為虛擬通道,即只移植了二者之間的通信通道,對(duì)于外圍控制軟件和內(nèi)部核心軟件本身的架構(gòu)沒有進(jìn)行任何改變,因此工作量小,并且不容易出錯(cuò),移植效果較好。圖1為現(xiàn)有技術(shù)中應(yīng)用第一種運(yùn)行模式的一種芯片流程示意圖。圖2為現(xiàn)有技術(shù)中應(yīng)用第二種運(yùn)行模式的一種芯片流程示意圖。圖3為本發(fā)明實(shí)施例中實(shí)現(xiàn)軟件移植的方法示例性流程圖。圖4為軟件移植完成后的一種芯片運(yùn)行流程示意圖。圖5為本發(fā)明實(shí)施例中實(shí)現(xiàn)軟件移植的系統(tǒng)結(jié)構(gòu)示意圖。具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合實(shí)施例和附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。本發(fā)明的基本思想是在外圍控制軟件和內(nèi)部核心軟件之間建立虛擬通道;并將外圍控制軟件添加到芯片內(nèi)部;芯片控制外圍控制軟件和內(nèi)部核心軟件通過所建立的虛擬通道進(jìn)行通信。具體實(shí)現(xiàn)時(shí),可在添加全部外圍控制軟件之前先添加部分軟件,用于對(duì)所建立的虛擬通道進(jìn)行測試,并在測試成功之后,添加全部的外圍控制軟件,并且在外圍控制軟件全部添加之后根據(jù)需要進(jìn)行重新編譯。參見圖3,圖3為本發(fā)明實(shí)施例中應(yīng)用上述思想的實(shí)現(xiàn)軟件移植的方法的示例性流程圖。如圖3所示,該流程包括如下步驟步驟301,根據(jù)外圍控制軟件和內(nèi)部核心軟件之間硬件通道的接口類型確定虛擬通道的接口。即本步驟中確定外圍控制軟件和內(nèi)部核心軟件之間虛擬通道和硬件通道的對(duì)應(yīng)關(guān)系。其中,根據(jù)硬件通道的接口類型確定虛擬通道的接口可包括若硬件通道的接口類型為外圍控制軟件的接口時(shí),按照如下原則確定虛擬通道的4妾口若硬件通道的接口為用于打開通訊中斷,并初始化通訊通道的接口,則所確定虛擬通道的接口為用于初始化通訊通道的接口;若硬件通道的接口為用于寫入待發(fā)送命令并通過中斷發(fā)送給內(nèi)部核心軟件的接口,則所確定的虛擬通道的接口為用于根據(jù)該命令調(diào)用內(nèi)部核心軟件接收到該命令后所需要執(zhí)行的函數(shù)的接口;若硬件通道的接口為用于接收返回命令的接口,則所確定的虛擬通道的接口為無需實(shí)現(xiàn)的接口;若硬件通道的接口為用于向命令參數(shù)區(qū)寫/讀數(shù)據(jù)的接口,則所確定的虛擬通道的接口為用于向命令參數(shù)區(qū)寫/讀數(shù)據(jù)的接口。若硬件通道的接口類型為內(nèi)部核心軟件的接口時(shí),按照如下原則確定虛擬通道的4妄口若硬件通道的接口為用于寫入待發(fā)送命令并通過中斷發(fā)送給外圍控制軟件的接口,則所確定的虛擬通道的接口為用于根據(jù)該命令調(diào)用外圍控制軟件接收到該命令后所需要執(zhí)行的函數(shù)的接口;若硬件通道的接口為用于接收返回命令的接口,則所確定的虛擬通道的接口為無需實(shí)現(xiàn)的接口;若硬件通道的接口為用于向命令參數(shù)區(qū)寫/讀數(shù)據(jù)的接口,則所確定的虛擬通道的接口為用于向命令參數(shù)區(qū)寫/讀數(shù)據(jù)的接口。以CUBE芯片系列中的XCUBE810芯片為例,可確定虛擬通道的4妄口與石更件通道接口之間的對(duì)應(yīng)關(guān)系如下對(duì)于硬件通道的接口類型為外圍控制軟件接口時(shí),其對(duì)應(yīng)關(guān)系如表一所示<table>tableseeoriginaldocumentpage10</column></row><table>注意虛擬通道不需要打開用于通訊的中斷<table>tableseeoriginaldocumentpage11</column></row><table>表一對(duì)于硬件通道的接口類型為內(nèi)部核心軟件接口時(shí),其對(duì)應(yīng)關(guān)系如表二所<table>tableseeoriginaldocumentpage11</column></row><table>表二步驟302,按照所確定的虛擬通道接口,建立虛擬通道。本步驟中,對(duì)于步驟301中確定的虛擬通道接口,可通過編制虛擬通道程序來實(shí)現(xiàn)。虛擬通道的具體程序構(gòu)成可以有很多種,不同的芯片其虛擬通道的程序?qū)崿F(xiàn)也不同,只要能實(shí)現(xiàn)步驟301中確定的接口對(duì)應(yīng)關(guān)系即可。對(duì)于用于打開通訊中斷,并初始化通訊通道的硬件通道接口,其虛擬通道程序的構(gòu)成過程可以為將該接口的函數(shù)中用于打開通訊中斷過程的程序去掉,并相應(yīng)的將用于初始化通訊通道的接口設(shè)置在內(nèi)部核心軟件中即可,或者如果不需要初始化通訊通道的話,則直接將該接口函數(shù)中的程序去掉即可。對(duì)于通過硬件通道發(fā)送命令的硬件通道接口,其虛擬通道程序的構(gòu)成過程可以為將該接口的函數(shù)內(nèi)部的具體實(shí)現(xiàn)程序去掉,將接收命令端接收到該命令需要調(diào)用的函數(shù)名直接嵌入到該接口函數(shù)中即可。對(duì)于通過硬件通道接收命令的硬件通道接口,其虛擬通道程序的構(gòu)成過程可以為將該接口的函數(shù)中原始具體實(shí)現(xiàn)程序去掉即可,因?yàn)樘摂M通道無需通過該接口函數(shù)來接收外部命令。對(duì)于向命令參數(shù)區(qū)寫數(shù)據(jù)的硬件通道接口,以及從命令參數(shù)區(qū)讀數(shù)據(jù)的硬件通道接口,其虛擬通道程序的構(gòu)成過程可以為保持該接口的函數(shù)不變。仍以CUBE芯片系列中的XCUBE810芯片為例,并以對(duì)通過石更件通道發(fā)送命令的硬件通道接口,編制虛擬通道程序時(shí)的過程為例,對(duì)其具體實(shí)現(xiàn)過程進(jìn)行詳細(xì)描述。以外圍控制軟件發(fā)送命令給內(nèi)部核心軟件,內(nèi)部核心軟件接收到該命令后才丸4于相應(yīng)函it的過程為例假設(shè)欲發(fā)送的命令為cmd,則原始外圍控制軟件的接口函數(shù)的部分程序?yàn)镸MD—LIF_SendCmd(MMD—U16cmd,MMD—U16opl,MMD—U16op2)初始A相關(guān),凄t;檢測緩沖區(qū)的地址空間;MMD—USER—Clear_Flag—WaitResponse();〃本函數(shù)需要真正的實(shí)現(xiàn)。因?yàn)橛布ǖ谰唧w實(shí)現(xiàn)時(shí),外圍控制軟件給內(nèi)部核心軟件發(fā)送命令后,需要等待內(nèi)部核心軟件的響應(yīng)。如外圍控制軟件可以首先把一個(gè)標(biāo)志清除,當(dāng)內(nèi)部核心軟件有響應(yīng)的時(shí)候,給外圍控制軟件發(fā)中斷,并在中斷中把相應(yīng)的標(biāo)志置位。此時(shí),外圍控制軟件就可以知道內(nèi)部核心軟件已經(jīng)做出響應(yīng)。開中斷發(fā)送命令"cmd";其它控制流程;returnMMD—RET—NOERR;當(dāng)cmd命令通過硬件通道傳輸?shù)絻?nèi)部核心軟件后,內(nèi)部核心軟件再根據(jù)該命令調(diào)用實(shí)際需要運(yùn)行的函數(shù),如MainTaskHostCmdDecode(cmd,opl,op2),然后執(zhí)行相應(yīng)功能。在編制虛擬通道程序時(shí),按照表一和表二中的接口對(duì)應(yīng)關(guān)系,在原始外圍控制軟件與內(nèi)部核心軟件之間建立虛擬通道,即建立二者的連接關(guān)系,則可在外圍控制軟件中編制如下的虛擬通道程序,實(shí)現(xiàn)在虛擬通道上外圍控制軟件給內(nèi)部核心軟件發(fā)送命令。實(shí)際上,此時(shí)外圍控制軟件會(huì)直接調(diào)用內(nèi)部核心軟件的功能函數(shù)。MMD_LIF—SendCmd(MMD—U16cmd,MMD—U16opl,MMD—U16op2)MMD—USER_Clear—Flag—WaitResponse();〃本函數(shù)只有在使用硬件通道的時(shí)候,才需要真正的實(shí)現(xiàn),此處無需實(shí)現(xiàn)。MainTaskHostCmdDecode(cmd,opl,op2);〃在使用虛擬通道的實(shí)現(xiàn)方法時(shí),本函數(shù)直接調(diào)用內(nèi)部核心軟件的相應(yīng)函數(shù)執(zhí)行該命令的處理。returnMMDRET—NOERR;同理,內(nèi)部核心軟件發(fā)送命令給外圍控制軟件,外圍控制軟件接收到該命令后執(zhí)行相應(yīng)函數(shù)的過程與此類似,即直接在內(nèi)部核心軟件中發(fā)送命令的接口函數(shù)中調(diào)用外圍控制軟件接收到該命令需要調(diào)用的函數(shù)。步驟303,對(duì)虛擬通道進(jìn)行功能測試。如果測試成功,則執(zhí)行步驟304;否則,返回執(zhí)行步驟302。本步驟中,可將外圍控制軟件的一部分先添加到芯片內(nèi)部,對(duì)虛擬通道進(jìn)行筒單的功能測試,可選取幾個(gè)命令進(jìn)行測試運(yùn)行,如進(jìn)行通道初始化,發(fā)送命令以及接收命令響應(yīng)等。步驟304,將建立虛擬通道后的外圍控制軟件全部添加到芯片內(nèi)部。步驟305,如需要,則對(duì)添加后的軟件進(jìn)行重新編譯。對(duì)于不同的芯片,其編譯過程也不同,具體根據(jù)外圍控制軟件和內(nèi)部核心軟件的具體形式而定,并且編譯過程及方法與現(xiàn)有技術(shù)相同。步驟306,芯片控制外圍控制軟件和內(nèi)部核心軟件通過所建立的虛擬通道進(jìn)行通信。至此,實(shí)現(xiàn)軟件移植的方法流程結(jié)束。參見圖4,圖4為軟件移植完成后的一種芯片運(yùn)行流程示意圖。如圖4所示,此時(shí),外圍控制軟件和內(nèi)部核心軟件都運(yùn)行于芯片內(nèi)部,并且此時(shí)與用戶交互的界面程序也可運(yùn)行在芯片內(nèi)部。用戶通過界面程序?qū)⑺璨僮鬏斎虢o外圍控制軟件,外圍控制軟件作為實(shí)現(xiàn)一定功能的接口根據(jù)相應(yīng)功能命令及參數(shù)通過虛擬通道調(diào)用內(nèi)部核心軟件,由內(nèi)部核心軟件作為實(shí)現(xiàn)一定功能的執(zhí)行程序,實(shí)現(xiàn)相應(yīng)具體功能。參見圖5,圖5為本發(fā)明實(shí)施例中基于圖1所示方法的實(shí)現(xiàn)軟件移植的系統(tǒng)的結(jié)構(gòu)示意圖。如圖5所示,該系統(tǒng)包括虛擬通道建立模塊、軟件添加模塊和芯片。其中,虛擬通道建立模塊,用于在外圍控制軟件和內(nèi)部核心軟件之間建立虛擬通道。軟件添加模塊,用于將外圍控制軟件添加到芯片內(nèi)部。芯片,用于存儲(chǔ)來自軟件添加模塊的外圍控制軟件,控制外圍控制軟件和內(nèi)部核心軟件通過虛擬通道建立模塊建立的虛擬通道進(jìn)行通信。進(jìn)一步地,虛擬通道建立模塊可進(jìn)一步用于在虛擬通道建立完成后,向軟件添加模塊發(fā)送添加指令;則軟件添加模塊進(jìn)一步用于根據(jù)來自虛擬通道建立模塊的添加指令,執(zhí)行所述將外圍控制軟件添加到芯片內(nèi)部的操作。如圖5所示,具體實(shí)現(xiàn)時(shí),芯片可具體包括存儲(chǔ)模塊和控制模塊。其中,存儲(chǔ)模塊,用于存儲(chǔ)內(nèi)部核心軟件和接收的外圍控制軟件??刂颇K,用于控制存儲(chǔ)模塊中的外圍控制軟件和內(nèi)部核心軟件通過預(yù)先建立的虛擬通道進(jìn)行通信。上述圖5所示系統(tǒng)中,各功能模塊的具體實(shí)現(xiàn)過程,可以與圖3所示方法中的描述一致。以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求1、一種實(shí)現(xiàn)軟件移植的方法,其特征在于,該方法包括在芯片的外圍控制軟件和內(nèi)部核心軟件之間建立虛擬通道;將外圍控制軟件添加到芯片內(nèi)部;芯片控制外圍控制軟件和內(nèi)部核心軟件通過所建立的虛擬通道進(jìn)行通信。2、如權(quán)利要求l所述的方法,其特征在于,所述在外圍控制軟件和內(nèi)部核心軟件之間建立虛擬通道具體包括根據(jù)外圍控制軟件和內(nèi)部核心軟件之間硬件通道的接口類型確定虛擬通道的接口;按照所確定的虛擬通道接口,建立虛擬通道。3、如權(quán)利要求2所述的方法,其特征在于,所述根據(jù)硬件通道的接口類型確定虛擬通道的接口包括若硬件通道的接口類型為外圍控制軟件的接口且該接口為用于打開通訊中斷,并初始化通訊通道的接口,則所確定的虛擬通道的接口為用于初始化通i凡通道的4妻口;若硬件通道的接口類型為外圍控制軟件的接口且該接口為用于寫入待發(fā)送命令并通過中斷發(fā)送給內(nèi)部核心軟件的接口,則所確定虛擬通道的接口為用于根據(jù)該命令調(diào)用內(nèi)部核心軟件接收到該命令需要執(zhí)行的函數(shù)的接口;若硬件通道的接口類型為外圍控制軟件的接口且該接口為用于接收返回命令的接口,則所確定虛擬通道的接口為無需實(shí)現(xiàn)的接口;若硬件通道的接口類型為外圍控制軟件的接口且該接口為用于向命令參數(shù)區(qū)寫/讀數(shù)據(jù)的接口,則所確定的虛擬通道的接口為用于向命令參數(shù)區(qū)寫/讀數(shù)據(jù)的接口;若硬件通道的接口類型為內(nèi)部核心軟件的接口且該接口為用于寫入待發(fā)送命令并通過中斷發(fā)送給外圍控制軟件的接口,則所確定的虛擬通道的接口為用于根據(jù)該命令調(diào)用外圍控制軟件接收到該命令需要執(zhí)行的函數(shù)的接口;若硬件通道的接口類型為內(nèi)部核心軟件的接口且該接口為用于接收返回命令的接口,則所確定的虛擬通道的接口為無需實(shí)現(xiàn)的接口;若硬件通道的接口類型為內(nèi)部核心軟件的接口且該接口為用于向命令參數(shù)區(qū)寫/讀數(shù)據(jù)的接口,則所確定的虛擬通道的接口為用于向命令參數(shù)區(qū)寫/讀數(shù)據(jù)的接口。4、如權(quán)利要求1至3中任一項(xiàng)所述的方法,其特征在于,將外圍控制軟件添加到芯片內(nèi)部之前進(jìn)一步包括對(duì)虛擬通道進(jìn)行功能測試;則所述將外圍控制軟件添加到芯片內(nèi)部為功能測試成功后,將外圍控制軟件添加到芯片內(nèi)部。5、如權(quán)利要求4所述的方法,其特征在于,所述功能測試包括將外圍控制軟件的一部分添加到芯片內(nèi)部;在芯片內(nèi)部執(zhí)行通道初始化、發(fā)送命令以及接收命令響應(yīng)。6、如權(quán)利要求5所述的方法,其特征在于,將外圍控制軟件添加到芯片內(nèi)部之后進(jìn)一步包括對(duì)添加后的軟件進(jìn)行重新編譯。7、一種實(shí)現(xiàn)軟件移植的系統(tǒng),其特征在于,該系統(tǒng)包括虛擬通道建立模塊、軟件添加模塊和芯片,其中,虛擬通道建立模塊,用于在芯片的外圍控制軟件和內(nèi)部核心軟件之間建立虛擬通道;軟件添加模塊,用于將外圍控制軟件添加到芯片內(nèi)部;芯片,用于接收來自軟件添加模塊的外圍控制軟件,控制外圍控制軟件和內(nèi)部核心軟件通過虛擬通道建立模塊建立的虛擬通道進(jìn)行通信。8、如權(quán)利要求7所述的系統(tǒng),其特征在于,所述虛擬通道建立模塊進(jìn)一步用于在虛擬通道建立完成后,向軟件添加^t塊發(fā)送添加指令;所述軟件添加模塊進(jìn)一步用于根據(jù)來自虛擬通道建立模塊的添加指令,執(zhí)行所述將外圍控制軟件添加到芯片內(nèi)部的操作。9、如權(quán)利要求7或8所述的系統(tǒng),其特征在于,所述芯片包括存儲(chǔ)模塊和控制模塊,其中,存儲(chǔ)模塊,用于存儲(chǔ)內(nèi)部核心軟件和接收的來自軟件添加模塊的外圍控制軟件;控制模塊,用于控制存儲(chǔ)模塊中的外圍控制軟件和內(nèi)部核心軟件通過所建立的虛擬通道進(jìn)行通信。10、一種實(shí)現(xiàn)軟件移植的芯片,其特征在于,該芯片包括存儲(chǔ)模塊和控制模塊,其中,存儲(chǔ)模塊,用于存儲(chǔ)內(nèi)部核心軟件和接收的外圍控制軟件;控制模塊,用于控制存儲(chǔ)模塊中的外圍控制軟件和內(nèi)部核心軟件通過預(yù)先建立的虛擬通道進(jìn)行通信。全文摘要本發(fā)明公開了一種實(shí)現(xiàn)軟件移植的方法,包括在外圍控制軟件和內(nèi)部核心軟件之間建立虛擬通道;將外圍控制軟件添加到芯片內(nèi)部;芯片控制外圍控制軟件和內(nèi)部核心軟件通過所建立的虛擬通道進(jìn)行通信。此外,本發(fā)明還公開了一種實(shí)現(xiàn)軟件移植的系統(tǒng)及芯片。由于本發(fā)明只是將外圍控制軟件和內(nèi)部核心軟件之間的通道由硬件通道設(shè)置為虛擬通道,即只移植了二者之間的通信通道,而沒有改變外圍控制軟件和內(nèi)部核心軟件本身的架構(gòu),因此工作量小,并且不容易出錯(cuò),移植效果較好。文檔編號(hào)G06F9/44GK101110033SQ20071014063公開日2008年1月23日申請(qǐng)日期2007年8月9日優(yōu)先權(quán)日2007年1月26日發(fā)明者華張申請(qǐng)人:北京中星微電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
乐山市| 鸡泽县| 平山县| 合肥市| 南乐县| 南溪县| 伊通| 桓台县| 红安县| 诏安县| 屯留县| 贵州省| 陆川县| 安平县| 错那县| 吉水县| 甘泉县| 灵武市| 兰溪市| 文昌市| 阿坝县| 东乌珠穆沁旗| 额济纳旗| 灌阳县| 望城县| 监利县| 甘南县| 桂林市| 岱山县| 高唐县| 藁城市| 洱源县| 盘山县| 江孜县| 临夏市| 阿合奇县| 砀山县| 科技| 津市市| 航空| 铜鼓县|