本發明專利技術公開了一種引導嵌入式操作系統啟動的方法和裝置,屬于嵌入式領域。該方法包括:將啟動映像劃分成第一引導代碼和第二引導代碼;中央處理器執行所述第一引導代碼;根據所述第二引導代碼引導所述嵌入式操作系統啟動。該裝置包括:啟動映像制作模塊、執行模塊和引導模塊。本發明專利技術提供的技術方案可以很好的適應啟動系統的現場應用,靈活性很強。
【技術實現步驟摘要】
本專利技術屬于嵌入式領域,特別涉及一種引導嵌入式操作系統啟動的方 法和裝置。
技術介紹
在嵌入式領域中,嵌入式操作系統往往需要一個類似于個人計算機(PC, Personal Computer )的基本輸入輸出系統(BIOS, Basic Input and Output System) —4f的啟動映4象(boot image)來引導啟動。啟動映^象,它的作用 是將嵌入式操作系統加載到主板上。boot image只初始化很少的硬件系統如 串口,網口等,為加載嵌入式操作系統做準備,當加栽完畢后,啟動映像的 作用即完成。啟動映像一般存放在存儲芯片,該存儲芯片可以是只讀存儲器(ROM, Read Only Memory),可讀寫存儲器等。啟動映像是應用在工廠 生產時或者在產品開發調試和測試階段,常用專用燒寫裝置燒寫。產品出廠 后應用到市場上由于燒寫器資源有限和燒寫操作方法繁瑣,大多用引導中央 處理器(CPU, Central Processing Unit)采用在線編程的方法把啟動映像寫 入只讀存儲器(ROM, Read-Only Memory)芯片中。^f旦是在實際才喿作過程 中由于種種原因有時會導致在線編程失敗,如果對啟動映像在線編程失敗, 系統將不能啟動,現場也無法恢復,進而給項目產品帶了重大故障,現場應 用靈活性差。
技術實現思路
本專利技術要解決的技術問題是提供一種引導嵌入式操作系統啟動的方法 和裝置,以解決現有技術中在線編程失敗,現場無法恢復以及在線編程方式 對現場應用靈活性差的問題。為了解決上述問題,本專利技術提供了一種引導嵌入式操作系統啟動的方法 和裝置,具體的技術方案如下一種引導嵌入式操作系統啟動的方法,所述方法包括 將啟動映像劃分成第 一 引導代碼和第二引導代碼; 中央處理器4丸行所述第 一引導代碼; 根據所述第二引導代碼51導所述嵌入式操作系統啟動。 一種引導嵌入式操作系統啟動的裝置,所述裝置包括 啟動映像制作模塊,用于制作和存儲啟動映像,所述啟動映像劃分成第 一引導代碼和第二引導代碼;執行模塊,用于執行所述第一引導代碼;51導模塊,用于根據所述第二引導代碼引導所述嵌入式操作系統啟動。 在本專利技術實施例中,通過將啟動映像劃分成第一引導代碼和第二引導代碼,執行第一引導代碼,并根據第二引導代碼引導嵌入式操作系統啟動,可以很好的適應啟動系統的現場應用,靈活性很強。附圖說明圖1是本專利技術實施例提供的一種引導嵌入式操作系統啟動的方法的流 程圖2是本專利技術實施例提供的一種引導嵌入式操作系統啟動的方法的詳細流程圖3是本專利技術實施例提供的一種啟動映像分布和VxWorks image啟動 的順序示意圖4是本專利技術實施例提供的一種引導嵌入式操作系統啟動的裝置。 具體實施例方式本專利技術的核心思想是通過將啟動映像劃分成第一引導代碼和第二引導 代碼,執行第一引導代碼,并根據第二引導代碼引導嵌入式操作系統啟動, 可以很好的適應啟動系統的現場應用,靈活性很強。下面結合附圖及優選實施方式對本專利技術的技術方案進行進一步的詳細 說明。本專利技術實施例提供了一種引導嵌入式操作系統的方法,如圖l所示,包括S101,將啟動映像劃分成第一引導代碼和第二引導代碼;S102,中央處理器執行第一引導代碼;S103,根據第二? 1導代碼? 1導嵌入式操作系統啟動;進一步地,該第二引導代碼為兩份,其中一份作為主用第二引導代碼, 另一份作為備用第二引導代碼,相應地,該方法還包括當根據主用第二引導代碼嵌入式操作系統啟動失敗時,所述中央處理器 重新啟動;中央處理器再次執行第 一引導代碼;根據備用第二引導代碼引導嵌入式操作系統啟動。進一 步地,還包括對第 一 引導代碼和/或第二引導代碼進行升級處理的 步驟。進一步地,當第二引導代碼經過壓縮,在根據啟動控制開關的指示將第 二引導代碼寫入RAM之前,該方法還包括 對第二引導代碼進行解壓縮的步驟。進一步地,該方法還包括在出廠前,將第一引導代碼和第二引導代碼 燒結在一塊只讀存儲器ROM中。下面以嵌入式操作系統VxWorks為例對上述實施例進行詳細的描述, 但本專利技術的保護范圍并不限于該實施例,其中,嵌入式操作系統還可以是 Linux操作系統等。針對VxWorks系統編譯的啟動映像是單獨編譯的,很容易分離開。啟 動映像分為? I導帶代碼(Bootstrap Programs )和引導代碼(Boot Programs ), 在本實施例中,第一引導代碼為引導帶代碼,第二引導代碼為引導代碼。其 中,引導帶代碼的作用是完成目標機的最小初始化操作,同時,引導帶代碼 也用于引導CPU將引導代碼寫入RAM中;引導代碼用于引導VxWorks系 統啟動。其中,對引導代碼進行備份,其中一份為主用引導代碼,另一份為 備用引導代碼。在出廠前,將引導帶代碼、主用引導代碼和備用引導代碼燒 寫在一塊ROM中。具體地,結合圖2和圖3所示,該方法包括在CPU尋址范圍內的存儲空間的1個比特位來做控制開關,并且結合看門狗(watchdog)實現自動切換存儲區的自動切換功能,1比特只是為了 描述方便,本專利技術的保護范圍并不限于該數值。CPU上電(S201) , CPU的編程計數器(PC, Program Counter)從存 儲芯片的第一存儲分區執行引導帶代碼,通過執行引導帶代碼可以完成目標 機的最小初始化操作(S202)。使能看門狗,備份啟動標記位(boot—flag), 使boot_flag—bak=boot—flag(把boot—flag賦值給boot一flag一bak) ( S203 ),并 根據boot—flag將引導代碼的代碼段和數據段從存儲芯片寫入RAM。判斷 boot_flag是否為0( S204 ),當boot_flag為0時,將boot—flag置為1 ( S205 ), 同時,解壓主用引導代碼到RAM一HIGH一ADRS (S206),即通過主用引導 代碼引導嵌入式操作系統啟動。如果boot—flag-l( boot—flag為1 )時(S207), 表示從主用引導代碼啟動失敗時,此時,解壓備用引導代碼到 RAM_fflGH_ADRS(S208),即通過備用引導代碼引導嵌入式操作系統啟動, 如圖3所示。CPU判斷PC是否跳轉到引導代碼的裝入點(RAM—HIGH—ADRS ) (S209),如圖3所示;如果不是,則CPU重新上電啟動(S210);如果 是,則首先喂看門狗,并關閉看門狗(S211)。將備份的啟動標記位再賦給 boot_flag,即boot_flag=boot_flag_bak(S212)。然后才巴VxWorks image寫入到 RAM的RAM_fflGH_ADRS( S213 ),最后CPU的pc跳轉到VxWorks image 裝入點(RAM—LOW_ADRS)運行(S214),如圖3所示。然后執行靜態 鏈接在VxWorks image里的系統初始4戈石馬,最終冗成系統初始4b操作 (S215 )。此外,由于在升級啟動映像版本時,升級引導帶代碼的幾率很小, 一般 只需升級引導代碼,因此在升級啟動映像版本時, 一般只需根據存儲芯片的 存儲分區的劃分升級第二存儲區的第 一存儲分區的主用引導代碼,以及第二 存儲分區的備用引導代碼,除非特本文檔來自技高網...
【技術保護點】
一種引導嵌入式操作系統啟動的方法,其特征在于,所述方法包括: 將啟動映像劃分成第一引導代碼和第二引導代碼; 中央處理器執行所述第一引導代碼; 根據所述第二引導代碼引導所述嵌入式操作系統啟動。
【技術特征摘要】
1、一種引導嵌入式操作系統啟動的方法,其特征在于,所述方法包括將啟動映像劃分成第一引導代碼和第二引導代碼;中央處理器執行所述第一引導代碼;根據所述第二引導代碼引導所述嵌入式操作系統啟動。2、 如權利要求l所述的方法,其特征在于,所述第二引導代碼為兩份, 其中一份作為主用第二引導代碼,另一份作為備用第二引導代碼;當根據所述主用第二引導代碼所述嵌入式操作系統啟動失敗時,所述中 央處理器重新啟動;所述中央處理器再次執行所述第 一引導代碼; 根據所述備用第二引導代碼引導所述嵌入式才喿作系統啟動。3、 如權利要求1所述的方法,其特征在于,還包括對所述第一引導 代碼和/或所述第二引導代碼進行升級處理的步驟。4、 如權利要求1所述的方法,其特征在于,當所述第二引導代碼經過 壓縮,在根據所述第二引導代碼引導所述嵌入式才喿作系統之前,還包括對所述第二引導代碼進行解壓縮的步驟。5、 如權利要求1-4任意一項權利要求所述的方法,其特征在于,還包 括,所述第一引導代碼和第二引導代碼燒結在一塊只讀存儲器ROM中。6、 一種引導嵌入式操作系統啟動的裝置,其特征在...
【專利技術屬性】
技術研發人員:梁冬,
申請(專利權)人:中興通訊股份有限公司,
類型:發明
國別省市:94[中國|深圳]
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。