新四季網

一種自動燒寫嵌入式設備固件的方法及其系統的製作方法

2023-07-13 06:30:01 3

一種自動燒寫嵌入式設備固件的方法及其系統的製作方法
【專利摘要】本發明公開了一種自動燒寫嵌入式設備固件的方法及其系統,用於燒寫包含BootLoader的串口嵌入式設備的固件,方法包括:根據各型號的固件編寫配置文件,所述配置文件的內容包括,各固件通過串口輸出的配置提示信息和根據所述配置提示信息應該輸入的命令或配置信息;將嵌入式設備通過串口連接到計算機上並上電,順次從所述串口獲取所述嵌入式設備的配置提示信息;從所述配置文件中,查找與所述嵌入式設備的配置提示信息相匹配的配置提示信息,通過所述串口將所述配置文件中,根據所述配置提示信息應該輸入的命令或配置信息寫入到所述嵌入式設備固件,直到燒寫全部完成。本發明能夠減少大量的重複勞動同時減少出錯的可能性。
【專利說明】一種自動燒寫嵌入式設備固件的方法及其系統
【技術領域】
[0001]本發明涉及嵌入式【技術領域】,尤其涉及一種自動燒寫嵌入式設備固件的方法及其系統。
【背景技術】
[0002]隨著信息化技術的發展,嵌入式系統因其高效、低成本、高可靠性、豐富的代碼以及應用程式可擴展性、可移植性等一系列優點,目前已越來越成為工業系統和民用系統的主力軍,尤其在信息化產品中,越來越多地應用到嵌入式系統。嵌入式系統可應用於人類工作與生活的各個領域,具有極其廣闊的應用前景。嵌入式系統在傳統的工業控制和商業管理領域已經具有廣泛的應用空間,如智能工控設備、P0S/ATM機、IC卡等;在家庭領域更具有廣泛的應用潛力,如機頂盒、數位電視、WebTV、網絡冰箱、網絡空調等眾多消費類和醫療保健類電子設備等;此外還有在多媒體手機、袖珍電腦、掌上電腦、車載導航器等方面應用,將極大地推動嵌入式技術深入到生活和工作的方方面面。
[0003]目前在嵌入式系統的開發和使用過程中,經常要實現將對應的固件燒寫到嵌入式系統中。所謂固件(firmware),就是文件,固化在存儲介質上的文件。而文件,其實就是數據。所謂燒寫,就是寫數據,把文件,如固件或數據,寫到存儲介質上。存儲介質,主要是指嵌入式系統中存放固件(firmware)的地方,如Nor Flash> Nand Flash、SD/MMC卡等方式。
[0004]在嵌入式系統中需要燒寫的固件通常包括BootLoader、作業系統內核(Kernel)、文件系統(rootfs)。目前嵌入式系統的通常燒寫方式是,將系統通過串口接到PC上,啟動串口通訊程序(如超級終端),然後給嵌入式系統上電,等待BootLoader啟動,然後在串口通訊程序中根據BootLoader啟動後的提示信息輸入各種命令,例如擦除存儲介質、下載內核或文件系統、燒寫內核或文件系統等,完成系統的燒寫。由於目前有多個廠家的BootLoader可供使用,如常見的U-boot、RedBoot等,這些廠家的BootLoader的操作命令各不相同,而且命令本身的格式也很複雜,需要設置各種參數,手動輸入很容易出錯。特別是在調試或生產過程中燒寫多臺設備時,需要進行大量的重複勞動。而且有些系統的設置不能重複,如MAC地址的設置,每臺設備必須有唯一的MAC地址,這就更增加了手動輸入的勞動量,同時增大了出錯的可能性。

【發明內容】

[0005]本發明的目的在於提出一種自動燒寫嵌入式設備固件的方法及其系統,能夠減少大量的重複勞動同時減少出錯的可能性。
[0006]為達此目的,本發明採用以下技術方案:
[0007]一種自動燒寫嵌入式設備固件的方法,用於燒寫包含BootLoader的串口嵌入式設備的固件,包括:
[0008]根據各型號的固件編寫配置文件,所述配置文件的內容包括,各固件通過串口輸出的配置提示信息和根據所述配置提示信息應該輸入的命令或配置信息;[0009]將嵌入式設備通過串口連接到計算機上並上電,順次從所述串口獲取所述嵌入式設備的配置提示信息;
[0010]從所述配置文件中,查找與所述嵌入式設備的配置提示信息相匹配的配置提示信息;
[0011]通過所述串口將所述配置文件中根據所述配置提示信息應該輸入的命令或配置信息寫入到所述嵌入式設備固件,直到燒寫全部完成。
[0012]進一步地,所述嵌入式設備固件為BootLoader、BootLoader加作業系統內核,BootLoader加文件系統,或BootLoader加作業系統內核加文件系統。
[0013]進一步地,所述配置信息包括:啟動參數、IP位址和/或MAC地址。
[0014]進一步地,所述配置文件為文本文件、XML文件或其他私有格式文件。
[0015]進一步地,所述嵌入式設備包含的BootLoader包括U-boot或RedBoot。
[0016]根據本發明的同一構思,本發明還提供了一種自動燒寫嵌入式設備固件的系統,用於燒寫包含BootLoader的串口嵌入式設備的固件,包括:
[0017]配置文件編寫模塊,用於根據各型號的固件編寫配置文件,所述配置文件的內容包括,各固件通過串口輸出的配置提示信息和根據所述配置提示信息應該輸入的命令或配
置信息;
[0018]提示信息讀取模塊,用於將嵌入式設備通過串口連接到計算機上並上電,從所述串口獲取所述嵌入式設備的配置提示信息;
[0019]匹配寫入模塊,用於從所述配置文件編寫模塊編寫的配置文件中,查找與所述提示信息讀取模塊所讀取的配置提示信息相匹配的配置提示信息,通過所述串口將所述配置文件中,根據所述配置提示信息應該輸入的命令或配置信息寫入到所述嵌入式設備固件。
[0020]進一步地,所述嵌入式設備固件包括BootLoader、BootLoader加作業系統內核,BootLoader加文件系統,或BootLoader加作業系統內核加文件系統。
[0021]進一步地,所述配置信息包括:啟動參數、IP位址和/或MAC地址。
[0022]進一步地,所述配置文件編寫模塊編寫的所述配置文件為文本文件、XML文件或其他私有格式文件。
[0023]進一步地,所述嵌入式設備包含的BootLoader為U-boot或RedBoot。
[0024]本發明通過串口自動獲取BootLoader的輸出信息,並根據不同的信息自動輸入相應的命令來完成嵌入式系統的燒寫和配置,如啟動參數、IP位址、MAC地址等。該方法可以兼容不同廠家的BootLoader,免除了手動輸入的複雜性和易出錯性,同時具有很強的靈活性,如IP/MAC地址自動遞增,避免重複等問題。
【專利附圖】

【附圖說明】
[0025]圖1是本發明具體實施例一所述的自動燒寫嵌入式設備固件的方法流程圖;
[0026]圖2是本發明具體實施例二所述的自動燒寫嵌入式設備固件的系統結構框圖。
【具體實施方式】
[0027]下面結合附圖並通過【具體實施方式】來進一步說明本發明的技術方案。
[0028]實施例一[0029]圖1是本實施例所述的自動燒寫嵌入式設備固件的方法流程圖,如圖1所示,本實施例所述的自動燒寫嵌入式設備固件的方法包括:
[0030]S101、根據各型號的固件編寫配置文件。
[0031]在嵌入式系統中需要燒寫的固件通常包括BootLoader、作業系統內核(Kernel)、文件系統(rootfs)。
[0032]BootLoader是在作業系統內核運行之前運行的一段小程序。通過這段小程序,我們可以初始化硬體設備、建立內存空間的映射圖,從而將系統的軟硬體環境帶到一個合適的狀態,以便為最終調用作業系統內核准備好正確的環境。
[0033]作業系統內核(Kernel)是指作業系統的核心部分。它由作業系統中用於管理存儲器、文件、外設和系統資源的那些部分組成。作業系統內核通常運行進程,並提供進程間的通信。
[0034]文件系統是作業系統用於明確磁碟或分區上的文件的方法和數據結構;即在磁碟上組織文件的方法。也指用於存儲文件的磁碟或分區,或文件系統種類。作業系統中負責管理和存儲文件信息的軟體機構稱為文件管理系統,簡稱文件系統。嵌入式系統的應用程式和所需的數據都存儲在文件系統中。
[0035]由於固件燒寫必須保證BootLoader已配置好並能良好運行,所以,所述嵌入式設備固件為BootLoader、BootLoader加作業系統內核,BootLoader加文件系統,或BootLoader加作業系統內核加文件系統。
[0036]不同的類型的固件操作命令各不相同,而且命令本身的格式也不同,例如,目前有多個廠家的BootLoader可供使用,如常見的U_boot、RedBoot等,這些廠家的BootLoader的操作命令各不相同,而且命令本身的格式也不同,因此需要根據各型號的固件的不同的配置提示信息和根據所述配置提示信息應該輸入的命令或配置信息,以使本方法可以兼容不同廠家的BootLoader,免除了手動輸入的複雜性和易出錯性,同時具有很強的靈活性,如IP/MAC地址自動遞增,避免重複等問題。
[0037]配置文件可以是文本文件、XML或任何其他私有格式。配置文件的內容為該BootLoader通過串口輸出的顯示信息和根據該顯示信息應該輸入的命令或配置信息。以下以常用的BootLoader — U-Boot,配置文件以文本文件為例加以說明:
[0038]U-Boot啟動時會通過配置提示信息(串口輸出信息):Hit any key to stopautoboot,此時應按任意鍵停止繼續啟動,以便輸入配置信息和其他命令(如燒寫命令)。因此配置文件可以寫為:
[0039]DisplayMsgl=Hit any key to stop autoboot
[0040]InputCmdl=\n
[0041]DisplayMsgl=Hit any key to stop autoboot 表不從串 口輸出的顯不信息,InputCmdl=\n表示根據該顯示信息應該輸入的命令,\n為C/C++語言中的回車命令。
[0042]輸入回車命令後,串口會輸出顯示信息:BBG U-Boot>,此時就可以根據需要輸入配置信息或其他命令了。如配置MAC地址的命令為:setenv ethaddr xx:xx:xx:xx:xx:xx,因此配置文件可以寫為:
[0043]DisplayMsgl=Hit any key to stop autoboot
[0044]InputCmdl=\n[0045]DisplayMsg2=BBG U_Boot>
[0046]InputCmd2=setenv ethaddr xx:xx:xx:xx:xx:xx
[0047]再如擦除命令為:erase start end (擦除Flash從地址start到地址end),貝丨J配置文件為:
[0048]DisplayMsgl=Hit any key to stop autoboot
[0049]InputCmdl=\n
[0050]DisplayMsg2=BBG U_Boot>
[0051]InputCmd2=setenv ethaddr xx:xx:xx:xx:xx:xx
[0052]DisplayMsg3=BBG U_Boot>
[0053]InputCmd3=erase start end
[0054]因此配置文件就是由配置提示信息(串口輸出信息)和配置/命令對組成的。
[0055]S102、將嵌入式設備通過串口連接到計算機上並上電。
[0056]S103、從串口順次獲取固件的配置提示信息。
[0057]該步驟的作用是獲取嵌入式設備從串口輸出的信息,將該信息與配置文件預設的信息進行比對,如果對比失敗,則繼續讀取下一條信息。如果對比成功,則讀取配置文件中的相應命令,再通過串口將該命令輸入到BootLoader,從而實現嵌入式系統的自動燒寫和配置。比如,嵌入式系統的燒寫和配置過程通常包括:根據串口信息輸入命令進入BootLoader配置模式、輸入配置命令(如配置IP和MAC地址等)、輸入擦除Flash的命令、輸入燒寫內核和文件系統的命令,這些信息都要預先輸入配置文件,軟體運行時會根據串口信息自動選取相應的命令進行配置和燒寫。
[0058]另外該步驟還可以批量設置IP或MAC地址,如設置IP或MAC的地址範圍,每燒寫或配置一個設備後,地址自動加一,或根據配置文件中的預設規則進行遞增,從而保證了 IP或MAC地址的唯一性,降低了人工手動操作的易錯性。
[0059]S104、從配置文件中查找與該配置提示信息相匹配的配置提示信息。
[0060]S105、從配置文件中讀取對應的命令或配置信息。
[0061]S106、將命令或配置信息寫入固件。
[0062]嵌入式系統中存放固件的地方有多種,如Nor Flash、Nand Flash、SD/MMC卡等方式。
[0063]S107、判斷燒寫是否全部完成,若是則燒寫完畢,結束,否則返回步驟S103。
[0064]實施例二
[0065]圖2是本實施例所述的自動燒寫嵌入式設備固件的系統結構框圖,如圖2所示,本實施例所述的自動燒寫嵌入式設備固件的系統包括:
[0066]配置文件編寫模塊201,用於根據各型號的固件編寫配置文件,所述配置文件的內容包括,各固件通過串口輸出的配置提示信息和根據所述配置提示信息應該輸入的命令或
配置信息。
[0067]在嵌入式系統中需要燒寫的固件通常包括BootLoader、作業系統內核(Kernel)、文件系統(rootfs)。
[0068]BootLoader是在作業系統內核運行之前運行的一段小程序。通過這段小程序,我們可以初始化硬體設備、建立內存空間的映射圖,從而將系統的軟硬體環境帶到一個合適的狀態,以便為最終調用作業系統內核准備好正確的環境。
[0069]作業系統內核(Kernel)是指作業系統的核心部分。它由作業系統中用於管理存儲器、文件、外設和系統資源的那些部分組成。作業系統內核通常運行進程,並提供進程間的通信。
[0070]文件系統是作業系統用於明確磁碟或分區上的文件的方法和數據結構;即在磁碟上組織文件的方法。也指用於存儲文件的磁碟或分區,或文件系統種類。作業系統中負責管理和存儲文件信息的軟體機構稱為文件管理系統,簡稱文件系統。嵌入式系統的應用程式和所需的數據都存儲在文件系統中。
[0071]由於固件燒寫必須保證BootLoader已配置好並能良好運行,所以,所述嵌入式設備固件為BootLoader、BootLoader加作業系統內核,BootLoader加文件系統,或BootLoader加作業系統內核加文件系統。
[0072]不同的類型的固件操作命令各不相同,而且命令本身的格式也不同,例如,目前有多個廠家的BootLoader可供使用,如常見的U-boot、RedBoot等,這些廠家的BootLoader的操作命令各不相同,而且命令本身的格式也不同,因此需要根據各型號的固件的不同的配置提示信息和根據所述配置提示信息應該輸入的命令或配置信息,以使本方法可以兼容不同廠家的BootLoader,免除了手動輸入的複雜性和易出錯性,同時具有很強的靈活性,如IP/MAC地址自動遞增,避免重複等問題。
[0073]配置文件可以是文本文件、XML或任何其他私有格式。配置文件的內容為該BootLoader通過串口輸出的顯示信息和根據該顯示信息應該輸入的命令或配置信息。以下以常用的BootLoader — U-Boot,配置文件以文本文件為例加以說明:
[0074]U-Boot啟動時會通過配置提示信息(串口輸出信息):Hit any key to stopautoboot,此時應按任意鍵停止繼續啟動,以便輸入配置信息和其他命令(如燒寫命令)。因此配置文件可以寫為:
[0075]DisplayMsgl=Hit any key to stop autoboot
[0076]InputCmdl=\n
[0077]DisplayMsgl=Hit any key to stop autoboot 表不從串口輸出的顯不信息,InputCmdl=\n表示根據該顯示信息應該輸入的命令,\n為C/C++語言中的回車命令。
[0078]輸入回車命令後,串口會輸出顯示信息:BBG U-Boot>,此時就可以根據需要輸入配置信息或其他命令了。如配置MAC地址的命令為:setenv ethaddr xx:xx:xx:xx:xx:xx,
因此配置文件可以寫為:
[0079]
【權利要求】
1.一種自動燒寫嵌入式設備固件的方法,用於燒寫包含BootLoader的串口嵌入式設備的固件,其特徵在於,包括: 根據各型號的固件編寫配置文件,所述配置文件的內容包括,各固件通過串口輸出的配置提示信息和根據所述配置提示信息應該輸入的命令或配置信息; 將嵌入式設備通過串口連接到計算機上並上電,順次從所述串口獲取所述嵌入式設備的配置提示信息; 從所述配置文件中,查找與所述嵌入式設備的配置提示信息相匹配的配置提示信息; 通過所述串口將所述配置文件中根據所述配置提示信息應該輸入的命令或配置信息寫入到所述嵌入式設備固件,直到燒寫全部完成。
2.如權利要求1所述的自動燒寫嵌入式設備固件的方法,其特徵在於,所述嵌入式設備固件包括BootLoader、BootLoader加作業系統內核,BootLoader加文件系統,或BootLoader加作業系統內核加文件系統。
3.如權利要求1或2所述的自動燒寫嵌入式設備固件的方法,其特徵在於,所述配置信息包括:啟動參數、IP位址和/或MAC地址。
4.如權利要求3所述的自動燒寫嵌入式設備固件的方法,其特徵在於,所述配置文件為文本文件、XML文件或其他私有格式文件。
5.如權利要求3所述的自動燒寫嵌入式設備固件的方法,其特徵在於,所述嵌入式設備包含的 BootLoader 為 U-boot 或 RedBoot。
6.一種自動燒寫嵌入式設備固件的系統,用於燒寫包含BootLoader的串口嵌入式設備的固件,其特徵在於,包括: 配置文件編寫模塊,用於根據各型號的固件編寫配置文件,所述配置文件的內容包括,各固件通過串口輸出的配置提示信息和根據所述配置提示信息應該輸入的命令或配置信息; 提示信息讀取模塊,用於將嵌入式設備通過串口連接到計算機上並上電,順次從所述串口獲取所述嵌入式設備的配置提示信息; 匹配寫入模塊,用於從所述配置文件編寫模塊編寫的配置文件中,查找與所述提示信息讀取模塊所讀取的配置提示信息相匹配的配置提示信息,通過所述串口將所述配置文件中,根據所述配置提示信息應該輸入的命令或配置信息寫入到所述嵌入式設備固件。
7.如權利要求6所述的自動燒寫嵌入式設備固件的系統,其特徵在於,所述嵌入式設備固件包括BootLoader、BootLoader加作業系統內核,BootLoader加文件系統,或BootLoader加作業系統內核加文件系統。
8.如權利要求6或7所述的自動燒寫嵌入式設備固件的系統,其特徵在於,所述配置信息包括:啟動參數、IP位址和/或MAC地址。
9.如權利要求8所述的自動燒寫嵌入式設備固件的系統,其特徵在於,所述配置文件編寫模塊編寫的所述配置文件為文本文件、XML文件或其他私有格式文件。
10.如權利要求8所述的自動燒寫嵌入式設備固件的系統,其特徵在於,所述嵌入式設備包含的 BootLoader 為 U-boot 或 RedBoot。
【文檔編號】G06F9/445GK103914324SQ201310005610
【公開日】2014年7月9日 申請日期:2013年1月8日 優先權日:2013年1月8日
【發明者】苗琦龍 申請人:海爾集團公司, 青島海爾智能家電科技有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀