專利名稱:一種由嵌入式cpu自動(dòng)配置可編程器件的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種嵌入式應(yīng)用中由CPU配置可編程器件(CPLD)的方法,尤其涉及的是一種涉及CPLD配置文件存儲(chǔ)以及自動(dòng)下載和遠(yuǎn)程更新的方法。
背景技術(shù):
隨著可編程器件的廣泛、深入應(yīng)用,為了縮減成本、減少工序、增加遠(yuǎn)程可配置特性,嵌入式設(shè)備越來(lái)越多采用單板CPU下載可編程器件的配置文件。一般單板在生產(chǎn)過(guò)程中,需要首先將引導(dǎo)程序燒寫到引導(dǎo)存儲(chǔ)器上,然后對(duì)每一塊單板下載可編程器件邏輯,如果能將可編程器件下載文件與引導(dǎo)程序結(jié)合起來(lái),由嵌入CPU上電判斷并自動(dòng)下載配置文件,則可省去一道手工下載可編程邏輯的工序。
要實(shí)現(xiàn)CPLD上電下載,前提是CPU能夠不依賴該CPLD獨(dú)立運(yùn)行,也就是說(shuō),CPU的復(fù)位邏輯、引導(dǎo)存儲(chǔ)器和DRAM的片選讀寫在CPLD引腳為高阻時(shí)能正常使用。因此應(yīng)將配置文件存放在引導(dǎo)存儲(chǔ)器中,以使CPLD的自動(dòng)下載對(duì)硬件的依賴降低。引導(dǎo)存儲(chǔ)器一般采用容量較小的NORFLASH,該FLASH稱為引導(dǎo)存儲(chǔ)器BOOT FLASH。
目前在BOOT FLASH上存儲(chǔ)硬件配置文件,主要是有兩種方法第一種是將配置文件轉(zhuǎn)換為靜態(tài)數(shù)組,將其編譯進(jìn)程序中。這種方法的優(yōu)點(diǎn)是配置文件與BOOT程序結(jié)合緊密,但是缺點(diǎn)也很明顯,配置文件失去獨(dú)立性,每次升級(jí)配置文件都需要重新編譯,并且不能動(dòng)態(tài)更新。
第二種是在BOOT FLASH中分區(qū),將配置文件放在獨(dú)立的區(qū)域中。這種方法滿足了配置文件的獨(dú)立性,但是與BOOT程序結(jié)合比較松散,不能充分利用存儲(chǔ)器空間,分區(qū)的位置、大小難于把握,在BOOT程序和配置文件獨(dú)立開發(fā)、升級(jí)時(shí)很容易相互影響。
因此,現(xiàn)有技術(shù)存在缺陷,而有待于改進(jìn)和發(fā)展。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種由嵌入式CPU自動(dòng)配置可編程器件的方法,在單板上電后能自動(dòng)配置CPLD,并通過(guò)命令可遠(yuǎn)程更新CPLD;本發(fā)明的進(jìn)一步目的是提供一種由嵌入式CPU自動(dòng)配置可編程器件的方法,適合嵌入式應(yīng)用中BOOT FLASH中存放硬件配置文件統(tǒng)一方案,使多個(gè)硬件配置文件與CPU引導(dǎo)映像緊密結(jié)合,使其占用的空間最小化;本發(fā)明更進(jìn)一步的目的在于提供一種由嵌入式CPU自動(dòng)配置可編程器件的方法,實(shí)現(xiàn)對(duì)存儲(chǔ)在BOOT FLASH上的硬件配置文件完整性檢測(cè)機(jī)制、文件備份機(jī)制、壓縮機(jī)制、配置信息等。
本發(fā)明的技術(shù)方案包括一種由嵌入式CPU自動(dòng)配置可編程器件的方法,其包括以下步驟所述CPU連接一可編程器件,所述可編程器件的可編程引腳用于指示是否配置,已配置的可編程器件在該引腳輸出低電平,所述CPU的通用輸入輸出引腳檢測(cè)到低電平時(shí)表示該可編程器件已經(jīng)下載;否則在上電時(shí)自動(dòng)下載配置文件;在所述CPU的引導(dǎo)存儲(chǔ)器中存放硬件配置文件,包括存儲(chǔ)在程序空間的文件系統(tǒng)信息表項(xiàng)、文件信息表項(xiàng)和生成引導(dǎo)存儲(chǔ)器映像的分析處理程序。
所述的方法,其中,所述生成引導(dǎo)存儲(chǔ)器映像的分析處理程序還包括步驟A、讀入引導(dǎo)程序映像文件,并對(duì)是否有文件系統(tǒng)信息進(jìn)行判斷,如否則輸出提示信息,并結(jié)束流程;
B、如果有文件系統(tǒng)信息,則讀入需存放在引導(dǎo)存儲(chǔ)器中的文件及其文件系統(tǒng)信息和文件信息;C、判斷是否有足夠的文件信息表項(xiàng)及存儲(chǔ)空間,如否,則輸出提示信息,并結(jié)束流程;如是,則生成新的引導(dǎo)存儲(chǔ)器映像文件;并判斷是否還有其他文件,如有則依次循環(huán)對(duì)每一文件進(jìn)行處理;否則,結(jié)束流程。
所述的方法,其中,所述可編程器件的可編程引腳連接有一發(fā)光二極管,用于指示所述可編程器件的配置文件下載情況。
所述的方法,其中,還包括步驟B1、如需壓縮,對(duì)文件進(jìn)行壓縮,以減少存儲(chǔ)空間;并計(jì)算文件CRC校驗(yàn)值。
所述的方法,其中,所述文件系統(tǒng)信息的表項(xiàng)和文件信息的表項(xiàng)位于程序空間內(nèi),并且其表地址不會(huì)隨著程序的重新編譯而改變位置。
所述的方法,其中,所述文件系統(tǒng)信息的表項(xiàng)包括文件信息表項(xiàng)的數(shù)量和首表地址字段信息。
所述的方法,其中,所述方法還包括所述配置文件的遠(yuǎn)程升級(jí)過(guò)程,包括A1、所述分析處理程序生成新的引導(dǎo)存儲(chǔ)器映像;B1、所述主機(jī)通過(guò)遠(yuǎn)程網(wǎng)管命令重新下載可編程器件配置文件。
本發(fā)明所提供的一種由嵌入式CPU自動(dòng)配置可編程器件的方法,與現(xiàn)有技術(shù)相比,由于在單板上電后自動(dòng)下載CPLD配置文件,減少了生產(chǎn)中的工序;并可提供遠(yuǎn)程升級(jí)更新功能,使升級(jí)維護(hù)簡(jiǎn)單易操作;存儲(chǔ)空間使用更合理,所存儲(chǔ)文件與BOOT程序相對(duì)獨(dú)立,便于軟硬件獨(dú)立開發(fā)、獨(dú)立升級(jí)。
圖1為本發(fā)明方法的硬件連接示意圖;
圖2為本發(fā)明方法的BOOT FLASH存儲(chǔ)結(jié)構(gòu)示意圖;圖3為本發(fā)明方法的主機(jī)分析處理流程圖。
具體實(shí)施例方式
以下結(jié)合附圖,將對(duì)本發(fā)明的各較佳實(shí)施例進(jìn)行較為詳細(xì)的說(shuō)明。
本發(fā)明提供了一種由嵌入式CPU自動(dòng)配置可編程器件的方法,在單板上電后能自動(dòng)配置CPLD,并通過(guò)命令可遠(yuǎn)程更新CPLD;本發(fā)明方法是適合嵌入式應(yīng)用中引導(dǎo)存儲(chǔ)器BOOT FLASH中存放硬件配置文件統(tǒng)一方案,其特點(diǎn)是可以使多個(gè)硬件配置文件與CPU引導(dǎo)映像緊密結(jié)合,使其占用的空間最小化;同時(shí),本發(fā)明方法提供了存儲(chǔ)在BOOT FLASH上的硬件配置文件完整性檢測(cè)機(jī)制、文件備份機(jī)制、壓縮機(jī)制、配置信息等內(nèi)容,保留了現(xiàn)有技術(shù)兩種方法的優(yōu)點(diǎn),并克服了現(xiàn)有技術(shù)的缺陷。
本發(fā)明方法適合引導(dǎo)存儲(chǔ)器中存放硬件配置文件,包括存儲(chǔ)在程序空間的文件系統(tǒng)信息表項(xiàng)、文件信息表項(xiàng)和生成BOOT FLASH映像的分析處理程序。所述文件系統(tǒng)信息表項(xiàng)和文件信息表項(xiàng)位于程序空間,并且表地址不會(huì)隨著程序的重新編譯而改變位置,包括文件信息表項(xiàng)的數(shù)量和首表地址等字段信息。所述文件信息表項(xiàng)包括文件有效字段、文件存儲(chǔ)地址、文件長(zhǎng)度、文件名稱、生成時(shí)間、版本、CRC校驗(yàn)值、壓縮格式、硬件相關(guān)標(biāo)識(shí)等字段。
所述文件系統(tǒng)信息表項(xiàng)字段由編譯時(shí)根據(jù)需要確定,文件信息表項(xiàng)由分析處理程序根據(jù)所加文件信息填入。所述分析處理程序位于主機(jī),以便生成整個(gè)BOOT FLASH映像。
本發(fā)明所述的遠(yuǎn)程升級(jí)更新分為兩步操作一是用分析處理程序生成新的BOOTFLASH映像文件,并且通過(guò)FTP等方式遠(yuǎn)程下載到目標(biāo)單板,并更新BOOTFLASH;二是通過(guò)遠(yuǎn)程網(wǎng)管命令重新下載新的CPLD配置文件。
如圖1所示的,本發(fā)明方法的硬件電路系統(tǒng)中,CPLD的JTAG接口連接到CPU的GPIO引腳上,由CPU模擬JTAG時(shí)序下載CPLD配置文件,其間的連接線同時(shí)連接外部下載電路及接插件。另有CPLD I/O引腳指示該器件是否已經(jīng)配置,該引腳被編程為輸出低電平,因此如果配置成功,CPU可以檢測(cè)到低電平,否則由于該引腳本身為高阻的電阻R1和發(fā)光二極管HL1串聯(lián)到VCC上,CPU將檢測(cè)到高電平。HL1將在正常下載后點(diǎn)亮,沒有下載或者下載過(guò)程中HL1不亮,從而可以用于指示下載狀態(tài),HL1的狀態(tài)顯示給單板維修提供了方便。
本發(fā)明方法用一CPLD可編程引腳指示是否配置,已配置的CPLD在該引腳輸出低電平,發(fā)光二極管導(dǎo)通發(fā)光,CPU的通用輸入輸出引腳(GPIO)檢測(cè)到低電平時(shí)表示CPLD已經(jīng)下載,否則在上電時(shí)自動(dòng)下載配置文件。
本發(fā)明方法的配置文件與BOOT程序緊密結(jié)合,同時(shí)具有相對(duì)獨(dú)立性,因此定義了文件的系統(tǒng)信息和文件信息表,如圖2所示的,具體如下文件系統(tǒng)信息和文件信息必須有一個(gè)固定的地址,這樣分析程序和實(shí)現(xiàn)文件操作的嵌入程序才能正確地添加、修改、讀取文件。為此在程序段BOOT入口點(diǎn)或在必要操作之后放置JMP(無(wú)條件轉(zhuǎn)移),此后定義文件系統(tǒng)信息和文件信息,以及存放對(duì)應(yīng)各文件信息的文件,在所有文件信息和所有文件之間設(shè)置為BOOT程序。BOOT入口地址到該JMP指令這段程序一般不會(huì)輕易改變,因此文件系統(tǒng)信息表的地址也就固定如下公式信息表的首地址=BOOT入口地址+信息表之前指令空間長(zhǎng)度由于BOOT入口程序一般由匯編語(yǔ)言寫成,因此對(duì)文件系統(tǒng)表的定義也采用匯編的方式,這里僅說(shuō)明字段信息的具體實(shí)例。
所述文件系統(tǒng)信息表字段可以包括1.FILE_SYS_VALD文件系統(tǒng)有效標(biāo)志,不同的應(yīng)用系統(tǒng)可以采用不同的標(biāo)志。
2.FILE_HEAD_NUM可以容納文件表的數(shù)量。
3.FIRST_FILEH_ADDR第一個(gè)文件信息表的地址。
所述文件信息字段1.FILE_VALID表示是否是文件或目錄,還是空信息。
2.FILE_ADDR文件地址。
3.FILE_LENTH文件長(zhǎng)度。
4.FILE_NAME文件名稱。
5.FILE_CREATE TIME文件創(chuàng)建時(shí)間。
6.FILE_VERSION文件版本。
7.FILE_COMPRESS文件壓縮方式,如為0表示沒有壓縮。
8.FILE_CRC_VALUECRC校驗(yàn)值。
9.FILE_HARDWARE硬件相關(guān)信息,可以是配置器件對(duì)應(yīng)的位號(hào)。
本發(fā)明方法的所述文件系統(tǒng)信息表字段和文件信息字段,可以根據(jù)需要適當(dāng)增刪,只要與分析處理程序定義一致就可以。
所述文件系統(tǒng)信息在采用偽匯編定義好,文件信息字段在匯編程序中只定義占位空間,具體信息由分析處理程序在增加文件時(shí)寫入。本發(fā)明方法在主機(jī)上的分析處理程序作為一個(gè)工具存在,如果分析程序位于目標(biāo)機(jī),并且BOOT空間可寫,則可以實(shí)現(xiàn)動(dòng)態(tài)改寫存儲(chǔ)的文件。
本發(fā)明方法中的應(yīng)用程序可以通過(guò)預(yù)定義的函數(shù)訪問(wèn)存儲(chǔ)空間內(nèi)的文件所有信息,包括文件系統(tǒng)信息和文件信息,以及文件內(nèi)容等。
本發(fā)明方法可以通過(guò)文件的方式擴(kuò)展子目錄,一般在容量較小的BOOTFLASH上沒有必要,定義足夠的文件信息表就可以了。在本發(fā)明方法中還定義了兩個(gè)文件,可以互為備份,以增強(qiáng)數(shù)據(jù)的安全性。
本發(fā)明方法中的CPLD的遠(yuǎn)程升級(jí)可以采用與BOOT程序升級(jí)的相同的方法,這樣便于統(tǒng)一管理,CPLD的遠(yuǎn)程更新可通過(guò)網(wǎng)管下達(dá)更新命令。
本發(fā)明方法的所述主機(jī)分析流程如圖3所示的,其包括步驟流程開始后,首先讀入BOOT程序映像文件,并對(duì)是否有文件系統(tǒng)信息進(jìn)行判斷,如否則輸出提示信息,并結(jié)束流程。
如果有文件系統(tǒng)信息,則讀入需存放在BOOT FLASH中的文件及其信息,如需壓縮,對(duì)文件進(jìn)行壓縮,以減少存儲(chǔ)空間;并計(jì)算文件CRC校驗(yàn)值,以防文件出錯(cuò)。
判斷是否有足夠的文件信息表項(xiàng)及存儲(chǔ)空間,如否,則輸出提示信息,并結(jié)束流程。如是,則生成新的BOOT FLASH映像文件;然后判斷是否還有其他文件,如有則依次對(duì)每一文件進(jìn)行處理。否則,結(jié)束流程。
本發(fā)明由嵌入式CPU自動(dòng)配置可編程器件的方法,由于在單板上電后自動(dòng)下載CPLD,減少了生產(chǎn)中的工序;并可提供遠(yuǎn)程升級(jí)更新功能,使升級(jí)維護(hù)簡(jiǎn)單易操作;存儲(chǔ)空間使用更合理,所存儲(chǔ)文件與BOOT程序相對(duì)獨(dú)立,便于軟硬件獨(dú)立開發(fā)、獨(dú)立升級(jí)。
應(yīng)當(dāng)理解的是,上述針對(duì)具體實(shí)施例的描述較為詳細(xì),并不能因此而認(rèn)為是對(duì)本發(fā)明專利保護(hù)范圍的限制,本發(fā)明的專利保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種由嵌入式CPU自動(dòng)配置可編程器件的方法,其包括以下步驟所述CPU連接一可編程器件,所述可編程器件的可編程引腳用于指示是否配置,已配置的可編程器件在該引腳輸出低電平,所述CPU的通用輸入輸出引腳檢測(cè)到低電平時(shí)表示該可編程器件已經(jīng)下載;否則在上電時(shí)自動(dòng)下載配置文件;在所述CPU的引導(dǎo)存儲(chǔ)器中存放硬件配置文件,包括存儲(chǔ)在程序空間的文件系統(tǒng)信息表項(xiàng)、文件信息表項(xiàng)和生成引導(dǎo)存儲(chǔ)器映像的分析處理程序。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述生成引導(dǎo)存儲(chǔ)器映像的分析處理程序還包括步驟A、讀入引導(dǎo)程序映像文件,并對(duì)是否有文件系統(tǒng)信息進(jìn)行判斷,如否則輸出提示信息,并結(jié)束流程;B、如果有文件系統(tǒng)信息,則讀入需存放在引導(dǎo)存儲(chǔ)器中的文件及其文件系統(tǒng)信息和文件信息;C、判斷是否有足夠的文件信息表項(xiàng)及存儲(chǔ)空間,如否,則輸出提示信息,并結(jié)束流程;如是,則生成新的引導(dǎo)存儲(chǔ)器映像文件;并判斷是否還有其他文件,如有則依次循環(huán)對(duì)每一文件進(jìn)行處理;否則,結(jié)束流程。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述可編程器件的可編程引腳連接有一發(fā)光二極管,用于指示所述可編程器件的配置文件下載情況。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括步驟B1、如需壓縮,對(duì)文件進(jìn)行壓縮,以減少存儲(chǔ)空間;并計(jì)算文件CRC校驗(yàn)值。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述文件系統(tǒng)信息的表項(xiàng)和文件信息的表項(xiàng)位于程序空間內(nèi),并且其表地址不會(huì)隨著程序的重新編譯而改變位置。
6.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述文件系統(tǒng)信息的表項(xiàng)包括文件信息表項(xiàng)的數(shù)量和首表地址字段信息。
7.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括所述配置文件的遠(yuǎn)程升級(jí)過(guò)程,包括A1、所述分析處理程序生成新的引導(dǎo)存儲(chǔ)器映像;B1、所述主機(jī)通過(guò)遠(yuǎn)程網(wǎng)管命令重新下載可編程器件配置文件。
全文摘要
本發(fā)明公開了一種由嵌入式CPU自動(dòng)配置可編程器件的方法,其包括以下步驟所述CPU連接一可編程器件,所述可編程器件的可編程引腳用于指示是否配置,已配置的可編程器件在該引腳輸出低電平,所述CPU的通用輸入輸出引腳檢測(cè)到低電平時(shí)表示該可編程器件已經(jīng)下載;否則在上電時(shí)自動(dòng)下載配置文件;在所述CPU的引導(dǎo)存儲(chǔ)器中存放硬件配置文件,包括存儲(chǔ)在程序空間的文件系統(tǒng)信息表項(xiàng)、文件信息表項(xiàng)和生成引導(dǎo)存儲(chǔ)器映像的分析處理程序。本發(fā)明方法由于在單板上電后自動(dòng)下載CPLD配置文件,減少了生產(chǎn)中的工序;并可提供遠(yuǎn)程升級(jí)更新功能,使升級(jí)維護(hù)簡(jiǎn)單易操作;存儲(chǔ)空間使用更合理,便于軟硬件獨(dú)立開發(fā)、獨(dú)立升級(jí)。
文檔編號(hào)G06F13/00GK1979415SQ200510120640
公開日2007年6月13日 申請(qǐng)日期2005年12月9日 優(yōu)先權(quán)日2005年12月9日
發(fā)明者陸建鑫, 王靜璇, 仇永成 申請(qǐng)人:中興通訊股份有限公司