新四季網

一種基於BootRom的嵌入式系統啟動方法與流程

2023-07-28 18:02:26 1

本發明涉及嵌入式系統技術領域,特別是涉及一種基於bootrom的嵌入式系統啟動方法。



背景技術:

目前,在嵌入式系統及設備中,系統在啟動時上電首先默認執行bootrom程序,然後根據bootrom程序執行其他應用程式,這些應用程式包括作業系統程序,硬體設備驅動以及其他應用層程序。應用程式啟動的流程的步驟包括:設備上電後,bootrom程序啟動並運行,完成系統自檢並初始化系統參數設置;bootrom程序從存放其他應用程式的存儲器中加載相應的應用程式;bootrom程序解包或解壓縮應用程式並對應用程式完整性進行校驗;bootrom啟動對應的應用程式中的可執行程序,並執行它;嵌入式系統啟動過程完畢。

從上述啟動步驟中可以看到,對應的應用程式和嵌入式系統或設備啟動後需要執行的程序,是設備能夠正常工作並對外提供服務的核心。如果沒有該應用程式,設備將無法正常使用。所以,在系統上電時,需要使用bootrom程序按照步驟正確加載並啟動該應用程式。但是,這個過程就要求bootrom程序需要對應用程式的存儲位置,加密算法,是否壓縮等信息了解。隨著應用程式的升級或新版本發布,bootrom程序亦需伴隨進行相應的升級。

然而bootrom程序通常是在晶片出廠時固化在處理器晶片內部的,對其進行升級操作成本極高,同時bootrom的升級過程也是一個危險的過程,如果在升級過程中突然斷電或者由於其他突發因素,也可能會導致bootrom程序升級失敗,從而造成bootrom程序損壞,進而影響整個嵌入式系統的無法正常啟動。在實際的應用中,bootrom程序損壞是一個非常嚴重的問題,通常需要將嵌入式系統或設備送回廠家進行維修。因此如何在不升級bootrom程序的情況下,順利地完成對升級後的應用程式的啟動是亟待解決的問題。



技術實現要素:

本發明的目的是提供一種基於bootrom的嵌入式系統啟動方法,以實現在不升級bootrom程序的情況下,順利完成對升級後的應用程式的啟動。

為解決上述技術問題,本發明提供一種基於bootrom的嵌入式系統啟動方法,該方法包括:

系統上電,bootrom程序啟動並運行初始化操作;

bootrom程序查找到加載程序,並啟動和運行加載程序;

加載程序對應用程式進行解壓縮,並對應用程式進行解密;

加載程序啟動應用程式中的可執行程序,完成系統啟動。

優選的,應用程式作為一個數據段附加在加載程序中。

優選的,所述bootrom程序查找到加載程序,並啟動和運行加載程序,包括:

bootrom程序識別加載程序,加載並啟動加載程序。

優選的,所述加載程序對應用程式進行解壓縮,並對應用程式進行解密,包括:

加載程序識別應用程式的數據結構,為應用程式準備運行環境和運行參數;若應用程式為壓縮的加密後的程序,對應用程式進行解壓縮和解密。

優選的,所述加載程序啟動應用程式中的可執行程序,完成系統啟動,包括:

加載程序將應用程式放置到正確的位置,運行應用程式,使嵌入式系統正常運行並對外提供服務,完成系統啟動。

優選的,加載程序包括:加載程序文件頭、加載程序本身、應用程式文件頭以及應用程式本身;應用程式文件頭和應用程式本身組成應用程式。

優選的,在加載程序中,加載程序文件頭被bootrom程序識別,應用程式文件頭被加載程序本身識別。

本發明所提供的一種基於bootrom的嵌入式系統啟動方法,系統上電,bootrom程序啟動並運行初始化操作bootrom程序查找到加載程序,並啟動和運行加載程序;加載程序對應用程式進行解壓縮,並對應用程式進行解密;加載程序啟動應用程式中的可執行程序,完成系統啟動。可見,系統通過在啟動過程中依次運行bootrom程序,加載程序,應用程式來完成系統啟動。在bootrom程序和可執行的應用程式之間設置一加載程序,在系統或設備啟動過程中,bootrom程序先加載並運行加載程序,並將應用程式作為加載程序的一段數據,加載程序負責加載應用程式並為應用程式準備運行環境和運行參數,進而啟動應用程式,使得系統最終可以正常運行並對外提供相應的服務,完成系統啟動過程。如此通過使用加載程序可以解耦和消除bootrom程序和應用程式之間的密切關係,即當應用程式升級時,不需要升級bootrom程序,避免了bootrom程序由於應用程式的升級而引起的頻繁升級和繁瑣的操作,從而避免了由於bootrom程序在升級過程中由於突然斷電或者其他突發因素,導致升級失敗,造成嵌入式系統無法正常工作的情況,減少了維護過程,實現在不升級bootrom程序的情況下,順利完成對升級後的應用程式的啟動。

附圖說明

為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。

圖1為本發明所提供的一種基於bootrom的嵌入式系統啟動方法的流程圖。

具體實施方式

本發明的核心是提供一種基於bootrom的嵌入式系統啟動方法,以實現在不升級bootrom程序的情況下,順利完成對升級後的應用程式的啟動。

為了使本技術領域的人員更好地理解本發明方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。

請參考圖1,圖1為本發明所提供的一種基於bootrom的嵌入式系統啟動方法的流程圖,該方法包括:

s11:系統上電,bootrom程序啟動並運行初始化操作;

s12:bootrom程序查找到加載程序,並啟動和運行加載程序;

s13:加載程序對應用程式進行解壓縮,並對應用程式進行解密;

s14:加載程序啟動應用程式中的可執行程序,完成系統啟動。

可見,系統通過在啟動過程中依次運行bootrom程序,加載程序,應用程式來完成系統啟動。在bootrom程序和可執行的應用程式之間設置一加載程序,在系統或設備啟動過程中,bootrom程序先加載並運行加載程序,並將應用程式作為加載程序的一段數據,加載程序負責加載應用程式並為應用程式準備運行環境和運行參數,進而啟動應用程式,使得系統最終可以正常運行並對外提供相應的服務,完成系統啟動過程。

如此通過使用加載程序可以解耦和消除bootrom程序和應用程式之間的密切關係,即當應用程式升級時,不需要升級bootrom程序,避免了bootrom程序由於應用程式的升級而引起的頻繁升級和繁瑣的操作,從而避免了由於bootrom程序在升級過程中由於突然斷電或者其他突發因素,導致升級失敗,造成嵌入式系統無法正常工作的情況,減少了維護過程,實現在不升級bootrom程序的情況下,順利完成對升級後的應用程式的啟動。

基於上述方法,具體的,應用程式作為一個數據段附加在加載程序中。

進一步的,步驟s12的過程具體為:bootrom程序識別加載程序,加載並啟動加載程序。

進一步的,步驟s13的過程具體為:加載程序識別應用程式的數據結構,為應用程式準備運行環境和運行參數;若應用程式為壓縮的加密後的程序,對應用程式進行解壓縮和解密。

進一步的,步驟s14的過程具體為:加載程序將應用程式放置到正確的位置,運行應用程式,使嵌入式系統正常運行並對外提供服務,完成系統啟動。

其中,加載程序包括:加載程序文件頭、加載程序本身、應用程式文件頭以及應用程式本身;應用程式文件頭和應用程式本身組成應用程式。

其中,在加載程序中,加載程序文件頭被bootrom程序識別,應用程式文件頭被加載程序本身識別。

詳細的,bootrom程序加載並啟動加載程序;加載程序本身能夠被bootrom程序識別,並加載程序自身可以識別應用程式的數據結構,應用程式作為一個數據段附加在加載程序中;加載程序運行並為應用程式準備運行環境和運行參數;加載程序從自身的數據段中對應用程式進行提取。如果應用程式是壓縮的或加密的,加載程序還需對該提取後的進行解壓縮或解密;加載程序將應用程式放置到正確的位置。

本方法中,系統通過在啟動過程中依次運行bootrom程序,加載程序,應用程式來完成系統啟動。本方法在bootrom程序和可執行的應用程式之間設置一加載程序。其中,加載程序被編譯成能夠被bootrom程序識別,且其自身能夠理解應用程式的數據結構。在系統或設備啟動過程中,bootrom程序先加載並運行加載程序,並將應用程式作為加載程序的一段數據,加載程序負責加載應用程式並為應用程式準備運行環境和運行參數,進而啟動應用程式,使得系統最終可以正常運行並對外提供相應的服務,完成系統啟動過程。

本方法中通過bootrom啟動加載程序,加載程序為應用程式準備運行環境和運行參數,並最終通過運行應用程式完成嵌入式系統的啟動,使其對外提供相應的服務。通過使用加載程序可以解耦和消除bootrom程序和應用程式之間的密切關係,即當應用程式升級時,不需要升級bootrom程序,避免了bootrom程序由於應用程式的升級而引起的頻繁升級和繁瑣的操作,從而避免了由於bootrom程序在升級過程中由於突然斷電或者其他突發因素,導致升級失敗,造成嵌入式系統無法正常工作的情況,減少了維護過程,可以在不升級bootrom程序的情況下,順利地完成對升級後的應用程式的啟動。

本方法應用於固化了bootrom程序的嵌入式系統中,該系統運行bootrom程序,應用程式及與其相匹配的加載程序。

基於本方法,具體的,首先bootrom程序上電啟動,根據配置在bootrom程序中的默認參數完成系統初始化工作;bootrom程序根據默認的加載參數,找到加載程序,並啟動和運行加載程序。其中,加載程序本身由文件頭,加載程序本身及應用程式組成。在文件頭的生成過程中,包含了加載程序的大小,應用程式的偏移位置,加密算法,加密密鑰,應用程式是否壓縮的信息。因此加載程序運行時可以根據文件頭中的這些信息解析並執行的相應操作完成應用程式的提取,解密及解壓縮等操作,並將應用程式放置到正確的可執行位置。

其次為應用程式的運行準備好運行環境和運行參數。最後加載程序執行跳轉指令,跳轉到應用程式的開始位置,開始執行應用程式,從而完成嵌入式系統的啟動過程。其中,加載程序需要滿足bootrom的設計規範,可以被bootrom程序識別,加載並運行,同時加載程序本身能夠理解應用程式及其包含的數據結構,應用程式本身作為一段數據添加到加載程序。

詳細的,系統啟動步驟如下:

1、系統上電後,bootrom程序完成系統自檢及初始化,完成系統初始運行參數設置;

2、bootrom程序加載並啟動加載程序;加載程序本身能夠被bootrom程序識別,並加載程序自身可以識別應用程式的數據結構,應用程式作為一個數據段附加在加載程序中;

3、加載程序運行並為應用程式準備運行環境和運行參數;加載程序從自身的數據段中對應用程式進行提取。如果應用程式是壓縮的或加密的,加載程序還需對該提取後的進行解壓縮或解密;

4、加載程序將應用程式放置到正確的位置;

5、運行應用程式使得嵌入式系統或設備正常運行被對外提供相應的服務;

6、系統啟動完成。

現有技術中,由於bootrom程序和應用程式之間存在對應關係,當應用程式升級時,則bootrom程序也需要相應的升級。而在實際應用中,應用程式的升級沒有風險且相對較為頻繁,新增功能或對原有功能的問題修復等都有可能引起一次應用程式升級操作。但是,對於bootrom程序來說,其本身是非常敏感並且重要的程序,對bootrom程序的頻繁升級操作會帶來比較大的風險,因此實際場景下要求對bootrom程序的升級次數越少越好,如非必要情況下最好不對bootrom程序進行升級操作。本方法在應用程式升級的前提下,可以不對bootrom程序進行升級,便可以啟動升級後的應用程式,從而使得該系統可以正常的工作。

本方法中,在bootrom程序和可執行的應用程式之間設置一加載程序。其中,加載程序被編譯成能夠被bootrom程序識別,且其自身能夠理解應用程式的數據結構。在系統或設備啟動過程中,bootrom程序先加載並運行加載程序,並將應用程式作為加載程序的一段數據,加載程序負責加載應用程式並為應用程式準備運行環境和運行參數,進而啟動應用程式,使得系統最終可以正常運行並對外提供相應的服務,完成系統啟動過程。

本方法的優點包括:通過使用加載程序可以解耦和消除bootrom程序和應用程式之間的密切關係;即當應用程式升級時,不需要升級bootrom程序,避免了bootrom程序由於應用程式的升級而引起的頻繁升級和繁瑣的操作;避免了由於bootrom程序在升級過程中由於突然斷電或者其他突發因素,導致升級失敗,造成嵌入式系統無法正常工作的情況;減少了維護維護風險,簡化應用程式升級過程。

以上對本發明所提供的一種基於bootrom的嵌入式系統啟動方法進行了詳細介紹。本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想。應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以對本發明進行若干改進和修飾,這些改進和修飾也落入本發明權利要求的保護範圍內。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀