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