嵌入式非對稱多處理架構下的軟體加載與存儲的方法
2023-06-15 11:52:06
專利名稱:嵌入式非對稱多處理架構下的軟體加載與存儲的方法
技術領域:
本發明涉及非對稱多處理系統中主從系統的軟體存儲與加載的方法,屬於嵌入式系統網絡通信領域。
背景技術:
隨著計算機和網絡系統的高速發展,越來越多的應用需要系統提供更加強大的功能,傳統的單處理器嵌入式系統已不能滿足用戶的需求。雙處理器以及多處理器系統的應用越來越廣泛,一個主處理器負責系統的整體控制,其他的處理器系統作為系統的一個功能模塊,負責其專項功能,如集散控制系統中的各子卡系統、網絡通信系統中的PON上行系統、語音系統中的DSP系統等等。在嵌入式系統中,通常都使用NOR Flash或NAND Flash作為存儲介質。NOR Flash一個很大的優勢就是XIP功能,程序可以直接運行在其上面運行,雖然速度無法與RAM相t匕,但RAM控制器未初始化之前無法使用,這就決定了 NOR Flash在作為啟動存儲介質的首要地位,但是價格相對於NAND Flash高出很多,且容量也無法與NAND Flash相提並論。NAND Flash也可作為啟動介質使用,但是必須要用控制器,在系統啟動後,由NAND Flash控制器將Flash前兩頁的內容拷貝到Internal buffer,再從Internal buffer中運行完成初始化動作。在絕大多數嵌入式處理器中,由於技術上的複雜性以及成本的約束,都沒有集成NAND Flash控制器,所以,必須要使用NOR Flash作為存儲介質使用。當前,嵌入式系統的存儲架構分為以下兩種一是只使用NOR Flash作為存儲介質,Bootloader,內核,文件系統都放在該Flash上,這種方法需要大容量的NOR Flash,需要較高的硬體成本;二是使用NOR Flash + NAND Flash的存儲方式,將啟動代碼放在NOR Flash上,內核以及文件系統放在NAND Flash上,相比方法一,這種方法既能節約成本又能滿足大容量存儲需求。在嵌入多處理器系統中,主系統和每個從系統作為獨立的個體運行,都需要獨立的存儲介質,在當前應用中,主系統和從系統採用分散式存儲方式,即主系統的Bootloader,系統內核及文件系統均存放在主系統存儲介質上,從系統的Bootloader,系統內核及文件系統均存放在從系統存儲介質上。
發明內容
本發明的目的是克服現有技術存在的不足,提供一種嵌入式非對稱多處理架構下的軟體加載與存儲的方法。本發明的目的通過以下技術方案來實現
嵌入式非對稱多處理架構下的軟體加載與存儲的方法,特點是在非對稱多處理系統中,一個系統作為主系統,其餘系統作為從系統,主從系統採用分散集中式存儲,從系統作為啟動存儲區,用於存放Bootloader,系統內核及文件系統均存放在主系統上,主系統採用NAND flash作為存儲器,系統軟體加載採用主從方式,從系統的軟體加載由主系統控制,動態的從主系統上下載內核及文件系統,下載完成後自動加載。
進一步地,上述的嵌入式非對稱多處理架構下的軟體加載與存儲的方法,所述非對稱多處理系統由多個均運行作業系統的處理器組成,多個系統獨立運行,相互關聯。所述從系統作為主系統的一個功能模塊。所述主系統通過網絡接口與從系統相連接。所述主系統與從系統採用原始套接字方式的數據通信方式。更進一步地,上述的嵌入式非對稱多處理架構下的軟體加載與存儲的方法,從系統的內核及文件系統加載運行的步驟為首先,通信配合在主系統端實現socket server程序,與從系統Bootloader中的socket client程序相互通信配合,將從系統的內核及文 件系統傳輸到從系統端;繼而,控制主從系統的啟動順序從系統的啟動由主系統控制,設備啟動時,主系統立即啟動,同時控制從系統不啟動,等主系統上的socket server程序啟動完成後啟動從系統,從系統Bootloader啟動後,立即與socket server程序建立通信並請求下載內核及文件系統;最後,下載運行從系統完成內核及文件下載後,執行校驗,如果成功則立即運行,如果失敗,重新下載。再進一步地,上述的嵌入式非對稱多處理架構下的軟體加載與存儲的方法,主系統和從系統數據交互流程為主系統與從系統分別通過socket server程序和socketclient程序進行通信與數據傳輸,採用原始套接字S0Ck_raW方式,原始套接字允許對較低層次的協議直接訪問,對網絡底層的傳輸機制進行控制,控制數據直接在網絡二層進行交互,操縱網絡層和傳輸層應用;採用自定義通信協議方式控制主系統與從系統直接的數據傳輸,從系統通過廣播方式獲取主系統MAC,然後雙方使用MAC地址進行數據交互。再進一步地,上述的嵌入式非對稱多處理架構下的軟體加載與存儲的方法,主系統socket server端流程為設備啟動時,主系統立即啟動,同時使從系統處於復位狀態以禁止其啟動,主系統的內核啟動完畢進入文件系統,socket server程序開始啟動,此程序創建原始套接字socket,並將當前與從系統相連的網絡接口信息綁定到此socket,然後啟動從系統,此時該程序進入非阻塞式事件等待狀態,如果是廣播信息,回復MAC地址;如果是連接認證請求,回復連接認證ACK ;如果是下載請求,則讀取當前從系統內核及文件系統文件並開始傳輸;如果是下載失敗請求,則寫失敗日誌並報警,如果下載成功,只需寫日誌即可;處理完任一事件後,程序繼續回到先前狀態。再進一步地,上述的嵌入式非對稱多處理架構下的軟體加載與存儲的方法,從系統socket clienti而流程為從系統由王系統啟動,從系統啟動進入Bootloader後,開始調用socket client程序,該程序通過廣播以獲取socket server端MAC地址,獲取對方MAC地址後隨即發出連接認證請求,如果失敗,將連續嘗試10次,還不成功則軟復位重新啟動,如果成功立即建立連接;然後發出下載請求,同樣,如果失敗,將連續嘗試10次,還不成功則向主系統報告該錯誤信息,如果成功立即請求下載內核及文件系統,下載完成後效驗文件,如果失敗,重新下載,嘗試下載10次後還是效驗失敗,停止下載並向主系統報告該錯誤 目息,如果成功則立即啟動內核及文件系統。本發明技術方案突出的實質性特點和顯著的進步主要體現在
主系統與從系統採用分散集中式存儲,從系統只需要很小的存儲空間作為啟動存儲區,只用於存放Bootloader (約幾百k),系統內核及文件系統均存放在主系統上,主系統採用很小(約幾百k)的存儲空間作為啟動存儲區,採用大容量低成本的NAND Flash作為專用存儲區。從系統存儲空間的減小大大地節約了整機硬體成本,更為重要的是給從系統的安裝與更新帶來了很大的靈活 性,從而增強了系統的穩定性。主系統與從系統數據通信採用sock_raw方式,從系統啟動時動態從王系統下載內核及文件系統,下載完成後實現自動加載,sock_raw通信方式的運用大大增強了系統的可靠性。主從系統的軟體存儲與加載的方法不但增強了系統的靈活性、穩定性和可靠性,而且節約了整機的硬體成本,具有很大的應用前景和推廣價值。
下面結合附圖對本發明技術方案作進一步說明
圖I:主系統和從系統數據交互示意 圖2:主系統socket server端流程示意 圖3:從系統socket client端流程示意圖。
具體實施例方式本發明提出了一種新型的分散集中式存儲法以及加載方法從系統上只存放自身Bootloader,系統內核及文件系統採用ramdisk方式存放在主系統上。主系統與從系統數據通信採用soCk_raW方式,從系統啟動後,動態的從主系統上下載內核及文件系統,下載完成後實現自動加載。這種存儲加載方式不但節約了從系統上昂貴的NOR Flash存儲空間,更為重要的是給從系統的安裝與更新帶來了很大的靈活性,而且增強了系統穩定性。嵌入式非對稱多處理架構下的軟體加載與存儲的方法,在非對稱多處理系統中,一個系統作為主系統,其餘系統作為從系統,主從系統採用分散集中式存儲,從系統作為啟動存儲區,用於存放Bootloader,系統內核及文件系統均存放在主系統上,主系統採用NANDflash作為存儲器,系統軟體加載採用主從方式,從系統的軟體加載由主系統控制,動態的從主系統上下載內核及文件系統,下載完成後自動加載。非對稱多處理系統由多個均運行作業系統的處理器組成,多個系統獨立運行,相互關聯。從系統作為主系統的一個功能模塊。所述主系統通過網絡接口與從系統相連接,網絡接口為GMII、RGMII、MII、RMII等等。主系統與從系統採用原始套接字方式(soCk_raW)的數據通信方式。在這種非對稱多處理系統中,採用分散集中式存儲,從系統只用很小的NOR Flash作為存儲介質,用於存放自身Bootloader (大小約幾百k),系統內核及文件系統均存放在主系統上,主系統使用NOR Flash + NAND Flash的存儲方式,採用很小的NOR Flash作為啟動存儲介質,只用於存放自身Bootloader (大小約幾百k),採用大容量低成本的NANDFlash作為專用存儲區。主系統上不但存放著自身運行所需要的Bootloader,內核和文件系統,還存放著從系統的內核及文件系統。這種存儲方式不但節約了從系統上昂貴的NORFlash存儲空間,更為重要的是給從系統的安裝與更新帶來了很大的靈活性,從而增強了系統穩定性。眾所周知,在絕大多數嵌入式系統中,只有主系統才會有調試接口,從系統上是沒有或不留出調試接口的。於是,如果從系統Bootloader,內核和文件系統都放在從系統的NOR Flash上,當從系統由於某種原因內核或文件系統掛死後(事實上,這種情景常有發生),要恢復從系統的運行,重新安裝系統,唯有將從系統的NOR Flash從硬體設備上拆下來重新燒寫;而如果將從系統的內核及文件系統存放在主系統上,只要簡單的更換主系統上存放的這個文件,從系統重啟後即完成了安裝與更新,極大地增強了系統的靈活性與健壯性。從系統的內核及文件系統加載運行的步驟為首先,通信配合在主系統端實現socket server程序,與從系統Bootloader中的socket client程序相互通信配合,將從系統的內核及文件系統傳輸到從系統端;繼而,控制主從系統的啟動順序從系統的啟動由主系統控制,設備啟動時,主系統立即啟動,同時控制從系統不啟動,等主系統上的socketserver程序啟動完成後啟動從系統,從系統Bootloader啟動後,立即與socket server程 序建立通信並請求下載內核及文件系統;最後,下載運行從系統完成內核及文件下載後,執行校驗,如果成功則立即運行,如果失敗,重新下載。主系統與從系統的通信與數據傳輸採用原始套接字(S0Ck_raW)方式,這種方式允許對較低層次的協議直接訪問,控制數據直接在網絡二層進行交互,通過我們自定義協議,數據包無需走到TCP/IP層,避免了三層網絡狀況(例如防火牆,等等)給通信造成的幹擾,增強了系統的可靠性。通信雙方也無需設置IP位址,增加了系統的靈活性。如圖I所示,主系統和從系統數據交互流程為主系統與從系統分別通過socketserver程序和socket client程序進行通信與數據傳輸,採用原始套接字sock_raw方式,原始套接字允許對較低層次的協議直接訪問,對網絡底層的傳輸機制進行控制,控制數據直接在網絡二層進行交互,操縱網絡層和傳輸層應用;採用自定義通信協議方式控制主系統與從系統直接的數據傳輸,從系統通過廣播方式獲取主系統MAC,然後雙方使用MAC地址進行數據交互。如圖2所示,主系統socket server端流程為設備啟動時,主系統立即啟動,同時使從系統處於復位狀態以禁止其啟動,主系統的內核啟動完畢進入文件系統,socketserver程序開始啟動,此程序創建原始套接字socket,並將當前與從系統相連的網絡接口信息綁定到此socket,然後啟動從系統,此時該程序進入非阻塞式事件等待狀態,如果是廣播信息,回復MAC地址;如果是連接認證請求,回復連接認證ACK ;如果是下載請求,則讀取當前從系統內核及文件系統文件並開始傳輸;如果是下載失敗請求,則寫失敗日誌並報警,如果下載成功,只需寫日誌即可;處理完任一事件後,程序繼續回到先前狀態。如圖3所不,從系統socket client端流程為從系統由王系統啟動,從系統啟動進入Bootloader後,開始調用socket client程序,該程序通過廣播以獲取socket server端MAC地址,獲取對方MAC地址後隨即發出連接認證請求,如果失敗,將連續嘗試10次,還不成功則軟復位重新啟動,如果成功立即建立連接;然後發出下載請求,同樣,如果失敗,將連續嘗試10次,還不成功則向主系統報告該錯誤信息,如果成功立即請求下載內核及文件系統,下載完成後效驗文件,如果失敗,重新下載,嘗試下載10次後還是效驗失敗,停止下載並向主系統報告該錯誤信息,如果成功則立即啟動內核及文件系統。主系統與從系統採用分散集中式存儲,從系統只需要很小的存儲空間作為啟動存儲區,只用於存放Bootloader (約幾百k),系統內核及文件系統均存放在主系統上,主系統採用很小(約幾百k)的存儲空間作為啟動存儲區,採用大容量低成本的NAND Flash作為專用存儲區。從系統存儲空間的減小大大地節約了整機硬體成本,更為重要的是給從系統的安裝與更新帶來了很大的靈活性,從而增強了系統的穩定性。主系統與從系統數據通信採用sock_raw方式,從系統啟動時動態從主系統下載內核及文件系統,下載完成後實現自動加載,sock_raw通信方式的運用大大增強了系統的可靠性。主從系統的軟體存儲與加載的方法不但增強了系統的靈活性、穩定性和可靠性,而且節約了整機的硬體成本,具有很大的應用前景和推廣價值。需要理解到的是以上所述僅是本發明的優選實施方式,對於本技術領域的普通 技術人員來說,在不脫離本發明原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。
權利要求
1.嵌入式非對稱多處理架構下的軟體加載與存儲的方法,其特徵在於在非對稱多處理系統中,一個系統作為主系統,其餘系統作為從系統,主從系統採用分散集中式存儲,從系統作為啟動存儲區,用於存放Bootloader,系統內核及文件系統均存放在主系統上,主系統採用NAND flash作為存儲器,系統軟體加載採用主從方式,從系統的軟體加載由主系統控制,動態的從主系統上下載內核及文件系統,下載完成後自動加載。
2.根據權利要求I所述的嵌入式非對稱多處理架構下的軟體加載與存儲的方法,其特徵在於所述非對稱多處理系統由多個均運行作業系統的處理器組成,多個系統獨立運行,相互關聯。
3.根據權利要求I所述的嵌入式非對稱多處理架構下的軟體加載與存儲的方法,其特徵在於所述從系統作為主系統的一個功能模塊。
4.根據權利要求I所述的嵌入式非對稱多處理架構下的軟體加載與存儲的方法,其特徵在於所述主系統通過網絡接口與從系統相連接。
5.根據權利要求I所述的嵌入式非對稱多處理架構下的軟體加載與存儲的方法,其特徵在於所述主系統與從系統採用原始套接字方式的數據通信方式。
6.根據權利要求I所述的嵌入式非對稱多處理架構下的軟體加載與存儲的方法,其特徵在於從系統的內核及文件系統加載運行的步驟為首先,通信配合在主系統端實現socket server程序,與從系統Bootloader中的socket client程序相互通信配合,將從系統的內核及文件系統傳輸到從系統端;繼而,控制主從系統的啟動順序從系統的啟動由主系統控制,設備啟動時,主系統立即啟動,同時控制從系統不啟動,等主系統上的socketserver程序啟動完成後啟動從系統,從系統Bootloader啟動後,立即與socket server程序建立通信並請求下載內核及文件系統;最後,下載運行從系統完成內核及文件下載後,執行校驗,如果成功則立即運行,如果失敗,重新下載。
7.根據權利要求I所述的嵌入式非對稱多處理架構下的軟體加載與存儲的方法,其特徵在於主系統和從系統數據交互流程為主系統與從系統分別通過socket server程序和socket client程序進行通信與數據傳輸,採用原始套接字sock_raw方式,原始套接字允許對較低層次的協議直接訪問,對網絡底層的傳輸機制進行控制,控制數據直接在網絡二層進行交互,操縱網絡層和傳輸層應用;採用自定義通信協議方式控制主系統與從系統直接的數據傳輸,從系統通過廣播方式獲取主系統MAC,然後雙方使用MAC地址進行數據交互。
8.根據權利要求I所述的嵌入式非對稱多處理架構下的軟體加載與存儲的方法,其特徵在於主系統socket server端流程為設備啟動時,主系統立即啟動,同時使從系統處於復位狀態以禁止其啟動,主系統的內核啟動完畢進入文件系統,socket server程序開始啟動,此程序創建原始套接字socket,並將當前與從系統相連的網絡接口信息綁定到此socket,然後啟動從系統,此時該程序進入非阻塞式事件等待狀態,如果是廣播信息,回復MAC地址;如果是連接認證請求,回復連接認證ACK ;如果是下載請求,則讀取當前從系統內核及文件系統文件並開始傳輸;如果是下載失敗請求,則寫失敗日誌並報警,如果下載成功,只需寫日誌即可;處理完任一事件後,程序繼續回到先前狀態。
9.根據權利要求I所述的嵌入式非對稱多處理架構下的軟體加載與存儲的方法,其特徵在於從系統socket client端流程為從系統由王系統啟動,從系統啟動進入Bootloader後,開始調用socket client程序,該程序通過廣播以獲取socket server端MAC地址,獲取對方MAC地址後隨即發出連接認證請求,如果失敗,將連續嘗試10次,還不成功則軟復位重新啟動,如果成功立即建立連接;然後發出下載請求,同樣,如果失敗,將連續嘗試10次,還不成功則向主系統報告該錯誤信息,如果成功立即請求下載內核及文件系 統,下載完成後效驗文件,如果失敗,重新下載,嘗試下載10次後還是效驗失敗,停止下載並向主系統報告該錯誤信息,如果成功則立即啟動內核及文件系統。
全文摘要
本發明涉及嵌入式非對稱多處理架構下的軟體加載與存儲的方法,在非對稱多處理系統中,一個系統作為主系統,其餘系統作為從系統,主從系統採用分散集中式存儲,從系統作為啟動存儲區,用於存放Bootloader,系統內核及文件系統均存放在主系統上,主系統採用NANDflash作為存儲器,系統軟體加載採用主從方式,從系統的軟體加載由主系統控制,動態的從主系統上下載內核及文件系統,下載完成後自動加載。主從系統的軟體存儲與加載的方法不僅增強了系統的靈活性、穩定性和可靠性,而且節約了整機的硬體成本。
文檔編號G06F9/445GK102637134SQ20121012578
公開日2012年8月15日 申請日期2012年4月26日 優先權日2012年4月26日
發明者劉繼明, 吳先亮, 林恩峰, 程傑, 謝煒 申請人:網經科技(蘇州)有限公司