專利名稱:一種處理器應(yīng)用程序動態(tài)加載系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及一種可對處理器應(yīng)用程序進(jìn)行動態(tài)加載的系統(tǒng)。
背景技術(shù):
諸如陸、海、空敵我識別、通信導(dǎo)航、電子對抗、導(dǎo)彈跟蹤等功能都是由獨(dú)立的電子 設(shè)備實(shí)現(xiàn)的,如無線電高度表、敵我識別器、塔康設(shè)備、DME設(shè)備。這些分立的電子設(shè)備都屬 于無線電通信系統(tǒng),其系統(tǒng)構(gòu)成大同小異,由執(zhí)行特定應(yīng)用程序的處理器實(shí)現(xiàn)其功能。典型 地,所述處理器可以是數(shù)字信號處理器(DSP)、ARM處理器等微控制器、現(xiàn)場可編程門陣列 (FPGA )、PowerPC,或者PC等當(dāng)中采用的通用處理器。在這些分立式電子設(shè)備中,其應(yīng)用程序放置在外部存儲器中,上電時(shí)將其加載至 處理器內(nèi)部或外部存儲器中運(yùn)行,設(shè)備運(yùn)行的軟件固定,實(shí)現(xiàn)的功能單一,不能夠根據(jù)需要 動態(tài)配置、增加、改變其功能,要實(shí)現(xiàn)多種功能必須同時(shí)裝備多個(gè)分立設(shè)備。但是,使用多個(gè)分立式設(shè)備實(shí)現(xiàn)多種功能存在一定缺陷,如系統(tǒng)重量大大增加、 資源浪費(fèi)嚴(yán)重、生產(chǎn)成本高、靈活性低、維護(hù)性差、在線升級難等,且其中一個(gè)設(shè)備故障,無 法用其它設(shè)備的資源代替。隨著軍事現(xiàn)代化的發(fā)展,綜合化、模塊化趨勢越來越重要,要求 將硬件結(jié)構(gòu)相似的設(shè)備綜合化設(shè)計(jì),使用相同的硬件資源,如接收模塊、激勵(lì)模塊、功放模 塊、天線模塊等,在通用信號處理模塊內(nèi),通過加載不同應(yīng)用程序?qū)崿F(xiàn)不同功能。因此,需要 一種能夠?qū)μ幚砥鞒绦蜻M(jìn)行動態(tài)加載的系統(tǒng)滿足系統(tǒng)的綜合化設(shè)計(jì)。
發(fā)明內(nèi)容為了克服目前電子設(shè)備功能固定、功能單一、靈活性差等弱點(diǎn),本實(shí)用新型的目的 在于提供一種處理器應(yīng)用程序動態(tài)加載系統(tǒng)。為了實(shí)現(xiàn)所述目的,本實(shí)用新型提供一種處理器應(yīng)用程序動態(tài)加載硬件系統(tǒng)。該 系統(tǒng)硬件包括DSP處理器,F(xiàn)PGA處理器,CPLD,外部FLASH存儲器,外部SDRAM存儲器,接口 芯片和電源,DSP處理器分別與所述這些部件連接。一種處理器應(yīng)用程序動態(tài)加載系統(tǒng),其 特征在于,該系統(tǒng)包括DSP處理器(11 )、FPGA (17)處理器、CPLD (16)、FLASH存儲器(13)、 SDRAM存儲器(12)、接口(14)芯片及外圍電路構(gòu)成,其中,DSP處理器(11)分別與FLASH存 儲器(13)、SDRAM存儲器(12)、CPLD (16)、接口( 14)芯片相連;FPGA (17)處理器與CPLD (16)相連;DSP處理器(11)的引導(dǎo)程序與管理程序保存在FLASH存儲器(13)中;各DSP處 理器(11)、FPGA (17)處理器應(yīng)用程序保存在FLASH存儲器(13)中;其中所述DSP處理器 (11)是可運(yùn)行軟件的處理器DSP或ARM或PowerPC或單片機(jī)或通用PC處理器或可編程邏 輯器件的處理器FPGA。其中FLASH存儲器(13)是Nand FLASH或Nor FLASH或EEPROM或 SD卡或CF卡或硬盤或通用半導(dǎo)體存儲介質(zhì)。該處理器應(yīng)用程序動態(tài)加載系統(tǒng),其中SDRAM 存儲器(12 )是RAM或SDRAM或DDR等。本實(shí)用新型的方法采用的技術(shù)包括使用管理程序?qū)崿F(xiàn)FPGA應(yīng)用程序、DSP應(yīng)用 程序的動態(tài)加載與在線升級;使用DSP技術(shù)實(shí)現(xiàn)引導(dǎo)程序、管理程序、應(yīng)用程序之間的跳
3轉(zhuǎn),完成動態(tài)加載功能;使用CPLD接管FPGA配置總線,配合DSP實(shí)現(xiàn)FPGA的應(yīng)用程序加載。本實(shí)用新型人發(fā)現(xiàn)利用DSP技術(shù)與特定的處理過程可以對處理器應(yīng)用程序進(jìn)行 動態(tài)加載,并且兼容通用的信號處理硬件結(jié)構(gòu)。典型地,大部分DSP處理器加電后會自動從 外部存儲器加載弓I導(dǎo)程序執(zhí)行,弓I導(dǎo)程序一般較小,如在TMSC3206000系列中為IK字節(jié),引 導(dǎo)程序僅搬移管理程序至DSP內(nèi)存中執(zhí)行。管理程序常駐內(nèi)存,用于應(yīng)用程序動態(tài)加載、軟 件在線升級等功能。管理程序可根據(jù)系統(tǒng)指令從外部FLASH中加載指定的FPGA應(yīng)用程序至 FPGA,然后再對自身完成應(yīng)用程序加載,管理程序還可根據(jù)系統(tǒng)指令,對外部FLASH內(nèi)的軟 件進(jìn)行在線升級、更新、擴(kuò)展。應(yīng)用程序?yàn)橄到y(tǒng)功能程序,其存儲在外部FLASH存儲器中,在 FPGA和DSP的內(nèi)存中運(yùn)行。DSP功能程序在正常運(yùn)行過程中,若接收到功能切換的指令,則 調(diào)用功能切換函數(shù),加載指定的FPGA和DSP程序。加載的過程是首先DSP從FLASH中讀 出FPGA程序代碼,然后通過DSP總線和CPLD中的加載控制單元來實(shí)現(xiàn)FPGA程序的加載。 最后管理程序進(jìn)行DSP自身功能程序的二次加載,二次加載完成后,DSP運(yùn)行其新的功能軟 件。綜上所述,由于采用了上述技術(shù)方案,本實(shí)用新型的有益效果是本實(shí)用新型的系統(tǒng)不僅能夠在不影響系統(tǒng)功能情況下對設(shè)備功能軟件進(jìn)行動態(tài) 加載、功能軟件在線升級,而且實(shí)現(xiàn)簡單,便于系統(tǒng)復(fù)用、改進(jìn)與升級。典型地,可利用相同 的硬件資源通過動態(tài)加載不同的應(yīng)用程序?qū)崿F(xiàn)多種的功能,如在同一系統(tǒng)中完成塔康、敵 我識別、DME等功能,并可根據(jù)需要實(shí)時(shí)在線升級、進(jìn)行系統(tǒng)功能擴(kuò)展。
本實(shí)用新型將通過例子并參照附圖的方式說明,其中圖1是本實(shí)用新型的硬件結(jié)構(gòu)框圖。圖2是本實(shí)用新型的上電程序加載順序圖。圖3是本實(shí)用新型的管理程序執(zhí)行流程圖。圖4是本實(shí)用新型的應(yīng)用程序執(zhí)行流程圖。圖5是本實(shí)用新型的應(yīng)用程序加載流程圖。
具體實(shí)施方式
本說明書中公開的所有特征,或公開的所有方法或過程中的步驟,除了互相排斥 的特征和/或步驟以外,均可以以任何方式組合。本說明書(包括任何附加權(quán)利要求、摘要和附圖)中公開的任一特征,除非特別敘 述,均可被其他等效或具有類似目的的替代特征加以替換。即,除非特別敘述,每個(gè)特征只 是一系列等效或類似特征中的一個(gè)例子而已。
以下結(jié)合附圖詳細(xì)說明本實(shí)用新型的優(yōu)選實(shí)施例。參見圖1,如其中的實(shí)施例所示,能夠?qū)?yīng)用程序進(jìn)行動態(tài)加載的硬件系統(tǒng)1主要 包括一個(gè) DSP 處理器 11 (TMS320C6416),一個(gè) FPGA 處理器 17 (XCR5VSX50T),一個(gè)可編 程邏輯器件 CPLD16 (XCR3128XL),一個(gè) FLASH 存儲器 13 (S29GL512N),一個(gè) SDRAM 存儲器 12 (MT48LC32M16A2),一個(gè)接口芯片14 (MAX490E), 一個(gè)電源模塊15,該DSP處理器分別與FLASH存儲器、CPLD, SDRAM存儲器、接口芯片相連,F(xiàn)PGA處理器與CPLD相連。FLASH存 儲器13內(nèi)固化程序包括DSP引導(dǎo)程序,DSP管理程序,多個(gè)功能的FPGA應(yīng)用程序1至N, 多個(gè)功能的DSP應(yīng)用程序1至N。參加圖2,詳細(xì)說明設(shè)備上電時(shí)程序加載順序。系統(tǒng)加電后,DSP處理器11首先 會從外部FLASH存儲器13中讀取IK字節(jié)的引導(dǎo)程序到DSP內(nèi)部的OH地址空間執(zhí)行(步驟 110),然后引導(dǎo)程序從外部FLASH存儲器13中讀取管理程序到SDRAM存儲器12的管理程序 空間中執(zhí)行(步驟120),最后管理程序根據(jù)系統(tǒng)指令,從外部FLASH存儲器13中讀取FPGA 應(yīng)用程序完成FPGA處理器17加載,讀取DSP應(yīng)用程序完成自身加載執(zhí)行(步驟130)。參見圖1、圖2、圖3和圖4,詳細(xì)說明本實(shí)用新型的應(yīng)用程序動態(tài)加載、在線升級和 系統(tǒng)工作流程。系統(tǒng)運(yùn)行可分為兩個(gè)過程。一個(gè)過程是管理程序運(yùn)行時(shí),首先完成系統(tǒng)初始化(步驟210),然后讀取系統(tǒng)指令 進(jìn)行功能判斷(步驟220),若為應(yīng)用程序在線升級,則通過系統(tǒng)接口接收應(yīng)用程序代碼(步 驟230),將應(yīng)用程序代碼燒寫至FLASH中相應(yīng)的位置(步驟240),燒寫完成后加載默認(rèn)的 FPGA應(yīng)用程序和DSP程序(步驟260),加載完成后執(zhí)行默認(rèn)功能程序(步驟280)。如果讀取系統(tǒng)指令進(jìn)行功能判斷(步驟220)時(shí),不為應(yīng)用程序在線升級,則判斷是 否為應(yīng)用程序動態(tài)加載(步驟250),如果不進(jìn)行動態(tài)加載,則加載默認(rèn)的FPGA應(yīng)用程序和 DSP程序(步驟260),最后執(zhí)行默認(rèn)功能程序(步驟280)。如果為應(yīng)用程序動態(tài)加載,則加 載相應(yīng)的FPGA應(yīng)用程序和DSP程序(步驟270),加載完成后執(zhí)行新加載的功能程序(步驟 280)。另一個(gè)過程是在應(yīng)用程序正常運(yùn)行過程中(步驟320),若接收到系統(tǒng)控制指令(步 驟330),則判斷指令類型(步驟340),若為功能切換(動態(tài)加載),則將指令字作為功能切換 函數(shù)的入口參數(shù)調(diào)用功能切換函數(shù)(步驟350),跳轉(zhuǎn)至管理程序執(zhí)行。參見圖5,詳細(xì)說明本實(shí)用新型的應(yīng)用程序加載過程。為減輕加載時(shí)的總線數(shù)據(jù)傳 輸壓力,減少傳輸延時(shí),待加載的DSP和FPGA應(yīng)用程序代碼儲存在大容量通用FLASH存儲 器上。加載時(shí),DSP處理器首先根據(jù)主機(jī)控制指令由EMIF B總線將FLASH存儲器中相應(yīng)的 FPGA應(yīng)用程序讀出,暫存在SDRAM存儲器中(步驟410),然后通過CPLD中的配置總線控制 器接管FPGA的加載總線,完成對FPGA的加載(步驟420)。最后,DSP處理器從FLASH存儲 器中讀取相應(yīng)的DSP應(yīng)用程序至SDRAM存儲器的應(yīng)用程序空間(步驟430),加載完成后跳轉(zhuǎn) 至相應(yīng)的地址運(yùn)行(步驟440)。本實(shí)用新型中,DSP管理程序非常關(guān)鍵,可以說,應(yīng)用程序動態(tài)加載與在線升級大 部分工作都是在管理程序中實(shí)現(xiàn)的。設(shè)備加電后,管理程序在其專門的管理程序空間中常 駐內(nèi)存,任何DSP應(yīng)用程序不允許破壞管理程序空間中的數(shù)據(jù)。當(dāng)系統(tǒng)需要功能重構(gòu)或軟 件在線升級時(shí),由應(yīng)用程序跳轉(zhuǎn)至管理程序,完成新程序的動態(tài)加載或在線升級。DSP應(yīng)用 程序在SDRAM中應(yīng)用程序空間中運(yùn)行,由管理程序動態(tài)加載。顯然,本領(lǐng)域的技術(shù)人員可以對本實(shí)用新型的應(yīng)用程序動態(tài)加載技術(shù)與系統(tǒng)進(jìn)行 各種改動和變型而不脫離本實(shí)用新型的思想和范圍。這樣,倘若本實(shí)用新型的這些修改和 變型屬于本實(shí)用新型權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本實(shí)用新型也意圖包含這些改 動和變型在內(nèi);本實(shí)用新型并不局限于前述的具體實(shí)施方式
。本實(shí)用新型擴(kuò)展到任何在本 說明書中披露的新特征或任何新的組合,以及披露的任一新的方法或過程的步驟或任何新的組合。
權(quán)利要求一種處理器應(yīng)用程序動態(tài)加載系統(tǒng),其特征在于,該系統(tǒng)包括DSP處理器(11)、FPGA(17)處理器、CPLD(16)、FLASH存儲器(13)、SDRAM存儲器(12)、接口(14)芯片及外圍電路構(gòu)成,其中,DSP處理器(11)分別與FLASH存儲器(13)、SDRAM存儲器(12)、CPLD(16)、接口(14)芯片相連;FPGA(17)處理器與CPLD(16)相連;DSP處理器(11)的引導(dǎo)程序與管理程序保存在FLASH存儲器(13)中;各DSP處理器(11)、FPGA(17)處理器應(yīng)用程序保存在FLASH存儲器(13)中。
2.根據(jù)權(quán)利要求1所述的一種處理器應(yīng)用程序動態(tài)加載系統(tǒng),其中所述DSP處理器 (11)是可運(yùn)行軟件的處理器DSP或ARM或PowerPC或單片機(jī)或通用PC處理器或可編程邏 輯器件的處理器FPGA。
3.根據(jù)權(quán)利要求1所述的一種處理器應(yīng)用程序動態(tài)加載系統(tǒng),其中FLASH存儲器(13) 是Nand FLASH或Nor FLASH或EEPR0M或SD卡或CF卡或硬盤或通用半導(dǎo)體存儲介質(zhì)。
4.根據(jù)權(quán)利要求1所述的一種處理器應(yīng)用程序動態(tài)加載系統(tǒng),其中SDRAM存儲器(12) 是RAM或SDRAM或DDR等。
專利摘要本實(shí)用新型涉及一種用于實(shí)現(xiàn)處理器應(yīng)用程序動態(tài)加載技術(shù)的硬件系統(tǒng)。該系統(tǒng)主要包含DSP處理器11,F(xiàn)PGA處理器17,CPLD16、FLASH存儲器13,SDRAM存儲器12,接口芯片14,電源模塊15。其中,F(xiàn)LASH存儲器13內(nèi)固化程序包括DSP引導(dǎo)程序,DSP管理程序,F(xiàn)PGA、DSP應(yīng)用程序若干。其特點(diǎn)是使用管理程序?qū)崿F(xiàn)FPGA應(yīng)用程序、DSP應(yīng)用程序的動態(tài)加載與在線升級;使用DSP技術(shù)實(shí)現(xiàn)引導(dǎo)程序、管理程序、應(yīng)用程序之間的跳轉(zhuǎn),完成動態(tài)加載功能;使用CPLD接管FPGA配置總線,配合DSP實(shí)現(xiàn)FPGA的應(yīng)用程序加載。
文檔編號G06F9/445GK201765585SQ20102027036
公開日2011年3月16日 申請日期2010年7月26日 優(yōu)先權(quán)日2010年7月26日
發(fā)明者何敏, 黃衛(wèi) 申請人:四川九洲電器集團(tuán)有限責(zé)任公司