一種軟件版本加載方法
【專利摘要】本發明公開了一種軟件版本加載方法,包括:第一步驟,主處理器執行其引導存儲器的引導程序,以初始化主處理器以及相關外圍電路接口;第二步驟,主處理器從網管版本服務器下載相關內容,并保存在主處理器的程序存儲器中;第三步驟,主處理器通過向一個或多個從處理器發送復位控制信號,通過總線控制開關將各個處理器所需的相關程序版本寫入相應的引導及程序存儲器;第四步驟,主處理器和從處理器分別啟動各自的各項功能和任務;以及第五步驟,主處理器和從處理器建立主從通信關系,以使主處理器監控和管理從處理器的運行狀態。另外,本發明還提供了一種軟件版本加載系統。本發明降低了電路的復雜度,方便了軟件版本的加載、升級和維護管理。
【專利說明】一種軟件版本加載方法
【技術領域】
[0001]本發明涉及一種軟件版本加載方法。
【背景技術】
[0002]在現代大型通訊設備中,一個設備甚至設備中的一個單板上的嵌入式系統經常需要設計成主從式多處理器系統,以共同完成大規模計算或實時控制。主、從處理器可以由同類型的或者不同功能類型的處理器組成,主、從處理器之間的通信可以通過通用異步接收器/發送器(UART)、以太網、外圍控制器接口(PCI)總線或者其它總線方式來進行。
[0003]如圖1所示,在現有技術中,主處理器系統和從處理器系統往往各自都需要一套獨立的外圍存儲器,這些存儲器包括以下部分:用于引導處理器啟動的引導存儲器、用于存儲內核及應用程序的程序存儲器、以及用于執行該內核及應用程序的SDRAM存儲器。主、從處理器的軟件版本加載方法是:(1)首先,借助燒片器等工具分別為主、從處理器各自的引導存儲器燒結引導程序;(2)由引導存儲器分別引導啟動主、從處理器后,通過主、從處理器各自的UART接口或者以太網口來把內核及應用程序加載到各自的程序存儲器中;
[3]接著主、從處理器再分別執行各自程序存儲器中的內核及應用程序,分別啟動主、從處理器各自的功能和任務;(4)同時,主處理器和從處理器之間通過UART接口、以太網口、PCI總線接口或者其它總線接口建立主從通信關系。由此可見,主處理器和從處理器僅僅在各自的程序運行起來后才有一種主從的通信關系,在主、從處理器的啟動過程完全是獨立的。而且,在軟件版本升級的時候,也需要分別升級主處理器和從處理器各自的引導存儲器和程序存儲器中的軟件版本。
【發明內容】
[0004]相關技術的設計的缺點是:整個主從多處理器系統不僅電路復雜、器件多、成本高,而且程序版本的升級和維護也復雜得多,所花費的時間和成本也高,效率低。
[0005]考慮到上述問題而做出本發明,為此,本發明的主要目的在于提供一種軟件版本加載方法。
[0006]為了實現上述目的,根據本發明的第一實施例,提供了一種軟件版本加載方法。
[0007]該方法包括:主處理器,通過其外部總線帶有引導存儲器、程序存儲器、SDRAM存儲器;一個或多個從處理器,一個或多個從處理器中的每個都通過其外部總線帶有引導及程序存儲器、SDRAM存儲器;以及總線控制開關,用于將主處理器的外部總線連接至各個從處理器的引導及程序存儲器;其中,主處理器和一個或多個從處理器之間通過通信接口電路連接。
[0008]在該方法中,主處理器可以向一個或多個從處理器發送復位控制信號。另外,通信接口電路包括UART接口、以太網接口、PCI總線接口、以及其它總線接口。
[0009]為了實現上述目的,根據本發明的第二實施例,提供了一種軟件版本加載方法,該方法米用了本發明第一實施例的一種軟件版本加載方法。
[0010]該方法包括以下步驟:第一步驟,主處理器執行其引導存儲器的引導程序,以初始化主處理器以及相關外圍電路接口 ;第二步驟,主處理器從網管版本服務器下載相關內容,并保存在主處理器的程序存儲器中;第三步驟,主處理器通過向一個或多個從處理器發送復位控制信號,通過總線控制開關將各個處理器所需的相關程序版本寫入相應的引導及程序存儲器;第四步驟,主處理器和從處理器分別啟動各自的各項功能和任務;以及第五步驟,主處理器和從處理器建立主從通信關系,以使主處理器監控和管理從處理器的運行狀態。
[0011]其中,在第二步驟中,主處理器下載的相關內容包括:主處理器使用的內核及應用程序版本、從處理器使用的引導程序版本、內核、以及應用程序版本。
[0012]另外,第三步驟包括以下步驟:步驟A,主處理器向一個或多個從處理器發送復位控制信號,以使一個或多個從處理器處于復位狀態;步驟B,主處理器打開總線控制開關,以對從處理器的引導及程序存儲器進行讀寫控制;步驟C,主處理器將各個從處理器所需的引導程序版本、內核、以及應用程序版本寫入相應的引導及程序存儲器;步驟D,主處理器停止對從處理器的復位,關閉總線控制開關,以關閉主處理器對從處理器的引導及程序存儲器的讀寫控制。
[0013]第四步驟包括以下步驟:步驟A:主處理器運行內核及應用程序版本,啟動其各項功能和任務;以及步驟B:從處理器分別執行各自的引導存儲器中的引導程序,并運行內核及應用程序版本,啟動各自的功能和任務。
[0014]另外,在第_■步驟中,主處理器通過相關外圍接口下載相關內容,其中,相關外圍接口包括UART接口和以太網口。
[0015]在第五步驟中,主處理器和從處理器之間通過UART接口、以太網接口、PCI總線接口、或其它總線接口建立主從通信關系。
[0016]通過上述技術方案,本發明降低了電路的復雜度,并且方便了軟件版本的加載、升級和維護管理。
【專利附圖】
【附圖說明】
[0017]此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中:
圖1是現有技術中主從處理器的方法框圖;
圖2是根據本發明第一實施例的主從處理器的方法框圖;
圖3是根據本發明第一實施例的主從處理器的方法的特定實例的框圖;
圖4是根據本發明第二實施例的一種軟件版本加載方法的流程圖;以及圖5是根據本發明第二實施例的一種軟件版本加載方法的詳細處理流程圖。
【具體實施方式】
[0018]下面將參考附圖詳細說明本發明。
[0019]第一實施例首先將參照圖2和圖3描述本發明的第一實施例。圖2是根據本發明第一實施例的主從式多處理器方法的框圖,圖3是采用PowerPC MPC875微處理器和Agere公司的網絡處理器APP320E的主從式多處理器方法的框圖。
[0020]如圖2所示,根據本發明第一實施例的一種軟件版本加載方法包括:主處理器202,通過其外部總線帶有引導存儲器(BOOT存儲器)204、程序存儲器(PROGRAM存儲器)206, SDRAM存儲器208 ;—個或多個從處理器210,一個或多個從處理器210中的每個都通過其外部總線帶有引導及程序存儲器(即,B00T&PR0GRAM存儲器,引導及程序二合一存儲器)212、SDRAM存儲器214 ;以及總線控制開關216,用于將主處理器202的外部總線連接至引導及程序存儲器212 ;其中,主處理器202和一個或多個從處理器210之間通過通信接口電路連接。
[0021]在該方法中,主處理器202向一個或多個從處理器210發送復位控制信號。另外,通信接口電路包括UART接口、以太網接口、PCI總線接口、以及其它總線接口。
[0022]以主處理器采用Freescale公司的PowerPC MPC875微處理器的系統為例。如圖3所示,主處理器301通過其外部總線302連接一個512K字節的Boot Flash存儲器303、16M字節的SDRAM存儲器304和4M字節的Program Flash存儲器305;從處理器306為Agere公司的網絡處理器APP320E的內置ARM微處理器,它通過其外部總線307連接一個16M字節的Boot & Program Flash存儲器308和32M字節的DDR2 SDRAM存儲器309 ;主處理器301通過一套總線開關310連接到從處理器306的Boot & Program Flash存儲器308上,可以為從處理器306下載或者升級更新程序版本;除此以外,主處理器301通過復位控制信號311來控制從處理器306的復位狀態,主處理器301與從處理器306之間還可以通過以太網接口 312進行通信。
[0023]第二實施例
下面將參照圖4和圖5描述本發明的第二實施例。圖4是根據本發明第二實施例的一種軟件版本加載方法的流程圖,圖5是根據本發明第二實施例的一種軟件版本加載方法的詳細處理的流程圖
如圖4所示,根據本發明第二實施例的一種軟件版本加載方法包括以下步驟:步驟S402,主處理器執行其引導存儲器的引導程序,以初始化主處理器以及相關外圍電路接口;步驟S404,主處理器從網管版本服務器下載相關內容,并保存在主處理器的程序存儲器中;步驟S406,主處理器通過向一個或多個從處理器發送復位控制信號,通過總線控制開關將各個處理器所需的相關程序版本寫入相應的引導及程序存儲器;步驟S408,主處理器和從處理器分別啟動各自的各項功能和任務;以及步驟S410,主處理器和從處理器建立主從通信關系,以使主處理器監控和管理從處理器的運行狀態。
[0024]其中,在步驟S404中,主處理器下載的相關內容包括:主處理器使用的內核及應用程序版本、從處理器使用的弓I導程序版本、內核、以及應用程序版本。
[0025]另外,步驟S406包括以下步驟:步驟A,主處理器向一個或多個從處理器發送復位控制信號,以使一個或多個從處理器處于復位狀態;步驟B,主處理器打開總線控制開關,以對從處理器的引導及程序存儲器進行讀寫控制;步驟C,主處理器將各個從處理器所需的引導程序版本、內核、以及應用程序版本寫入相應的引導及程序存儲器;步驟D,主處理器停止對從處理器的復位,關閉總線控制開關,以關閉主處理器對從處理器的引導及程序存儲器的讀寫控制。
[0026]另外,步驟S408包括以下步驟:步驟A:主處理器運行內核及應用程序版本,啟動其各項功能和任務;以及步驟B:從處理器分別執行各自的引導存儲器中的引導程序,并運行內核及應用程序版本,啟動各自的功能和任務。
[0027]另外,在步驟S404中,主處理器通過相關外圍接口下載相關內容,其中,相關外圍接口包括UART接口和以太網口。
[0028]在步驟S410中,主處理器和從處理器之間通過UART接口、以太網接口、PCI總線接口、或其它總線接口建立主從通信關系。
[0029]上述方法的更具體步驟如圖5所示,具體描述如下:
步驟501,流程開始。
[0030]步驟502,主處理器上電啟動,執行其Boot存儲器的引導程序,初始化主處理器本身以及相關外圍接口,如UART接口和以太網口。
[0031]步驟503,判斷主、從處理器需要加載或者升級軟件版本否?如果主、從處理器啟動時各自的Boot程序版本和內核及應用程序版本都已經存在而且不用升級更新,則跳至執行步驟508,主、從處理器各自引導啟動程序和內核及應用程序,啟動各自的功能和任務,并建立主、從處理器之間的通信關系即可;如果主、從處理器需要升級軟件版本,則執行步驟 504。
[0032]步驟504,主處理器通過其UART接口和以太網口,從網管版本服務器下載主處理器所用的內核及應用程序版本、從處理器所用的Boot引導程序版本及內核及應用程序版本,全部保存至主處理器的Program存儲器中。
[0033]步驟505,主處理器通過復位控制信號,讓每個從處理器處于復位狀態
步驟506,主處理器同時打開總線控制開關,使得主處理器可以讀寫控制從處理器的Boot和Program 二合一存儲器;主處理器將各個從處理器所需的Boot引導程序版本和內核及應用程序版本寫入相應的Boot和Program 二合一存儲器中。
[0034]步驟507,主處理器停止對從處理器的復位,同時關閉總線控制開關,關閉主處理器對從處理器的Boot和Program 二合一存儲器的讀寫控制。
[0035]步驟508,主處理器運行內核及應用程序版本,啟動其各項功能和任務。
[0036]步驟509,各個從處理器執行各自Boot存儲器中的Boot引導程序,接著運行內核及應用程序版本,啟動各自的功能和任務。
[0037]步驟510,主處理器和從處理器之間通過UART接口、以太網接口、PCI總線接口或者其它總線接口建立主從通信關系,主處理器可以時刻監控和管理從處理器的運行狀態。綜合第一和第二實施例,其中的一種軟件版本加載方法的軟件版本加載步驟可以是在主、從處理器首次啟動時執行,也可以是在主、從處理器正常運行中升級更新軟件版本時執行。
[0038]以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【權利要求】
1.一種軟件版本加載方法,其特征在于,包括:主處理器,通過其外部總線帶有引導存儲器、程序存儲器、SDRAM存儲器;一個或多個從處理器,所述一個或多個從處理器中的每個都通過其外部總線帶有引導及程序存儲器、SDRAM存儲器;以及總線控制開關,用于在所述主處理器、所述一個或多個從處理器需要加載或者升級軟件版本的情況下,將所述主處理器的外部總線直接連接至所述引導及程序存儲器;其中,所述主處理器和所述一個或多個從處理器之間通過通信接口電路連接。
2.根據權利要求1所述的一種軟件版本加載方法,其特征在于,所述主處理器可以向所述一個或多個從處理器發送復位控制信號。
3.根據權利要求1所述的一種軟件版本加載方法,其特征在于,所述通信接口電路包括UART接口、以太網接口、PCI總線接口、以及其它總線接口。
4.一種軟件版本加載方法,使用根據權利要求1至3中任一項所述的一種軟件版本加載方法,其特征在于,包括以下步驟:第一步驟,主處理器執行其引導存儲器的引導程序,以初始化主處理器以及相關外圍電路接口 ;第二步驟,所述主處理器從網管版本服務器下載相關內容,并保存在所述主處理器的程序存儲器中;第三步驟,所述主處理器通過向一個或多個從處理器發送復位控制信號,通過直接連接所述主處理器的外部總線和所述從處理器的引導及程序存儲器的總線控制開關將各個處理器所需的相關程序版本寫入相應的引導及程序存儲器;第四步驟,所述主處理器和所述從處理器分別啟動各自的各項功能和任務;以及第五步驟,所述主處理器和所述從處理器建立主從通信關系,以使所述主處理器監控和管理所述從處理器的運行狀態。
5.根據權利要求4所述的一種軟件版本加載方法,其特征在于,在所述第二步驟中,所述主處理器下載的所述相關內容包括:所述主處理器使用的內核及應用程序版本、所述從處理器使用的弓I導程序版本、內核、以及應用程序版本。
6.根據權利要求5所述的一種軟件版本加載方法,其特征在于,所述第三步驟包括以下步驟:步驟A,所述主處理器向一個或多個從處理器發送復位控制信號,以使所述一個或多個從處理器處于復位狀態;步驟B,所述主處理器打開總線控制開關,以對所述從處理器的引導及程序存儲器進行讀寫控制;步驟C,所述主處理器將各個從處理器所需的引導程序版本、內核、以及應用程序版本寫入相應的引導及程序存儲器;步驟D,所述主處理器停止對所述從處理器的復位,關閉所述總線控制開關,以關閉所述主處理器對所述從處理器的所述引導及程序存儲器的讀寫控制。
7.根據權利要求5所述的一種軟件版本加載方法,其特征在于,所述第四步驟包括以下步驟:步驟A:所述主處理器運行內核及應用程序版本,啟動其各項功能和任務;以及步驟B:所述從處理器分別執行各自的引導存儲器中的引導程序,并運行內核及應用程序版本,啟動各自的功能和任務。
8.根據權利要求4所述的一種軟件版本加載方法,其特征在于,在所述第二步驟中,所述主處理器通過所述相關外圍接口下載所述相關內容,其中,所述相關外圍接口包括UART接口和以太網口。
【文檔編號】G06F9/445GK104199702SQ201410452154
【公開日】2014年12月10日 申請日期:2014年9月8日 優先權日:2014年9月8日
【發明者】吳健輝 申請人:吳健輝