本發明專利技術提供一種固件的加載方法及裝置,涉及嵌入式Linux領域,以解決現有技術中存在的,固件的加載不夠靈活的問題,該方法,包括:客戶端進行固件更新,根據固件的加載類型指示信息,選擇對應的加載方式,對更新的固件進行加載,加載方式包括,重新啟動嵌入式操作系統對更新的固件進行加載,和不重新啟動嵌入式操作系統對更新的固件進行加載,由于根據固件的加載類型指示信息選擇加載的方式,使得固件的加載變得較為靈活。
【技術實現步驟摘要】
本專利技術涉及嵌入式Linux領域,特別涉及一種固件的加載方法及裝置。
技術介紹
嵌入式系統是:以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應于系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用計算機系統。可以這樣認為,嵌入式系統是一種專用的計算機系統,作為裝置或設備的一部分。通常,嵌入式系統是一個控制程序存儲在非易失性隨機訪問存儲器NVRAM中的嵌入式處理器控制板,NVRAM可以是閃存flash、EROM或EPR0M,后續文檔以flash為例進行說明。事實上,所有帶有數字接口的設備,如通信系統、手表、微波爐、錄像機、汽車等,都使用嵌入式系統。所有嵌入式系統都面臨更新的固件重新加載的需求,固件(Firmware)就是寫入flash中的程序,通俗的理解就是“固化的軟件”,在客戶端對固件更新完成后只能夠通過重啟整個嵌入式操作系統來完成對更新固件的加載,而單一的系統重啟方式有加載時間比較長等缺點,固件的加載不夠靈活。由此可見現有技術中存在如下問題:固件的加載不夠靈活。
技術實現思路
本專利技術的目的是針對現有技術中存在的,固件的加載不夠靈活的問題,提供一種固件的加載方法及裝置。本專利技術實施例提供一種固件的加載方法,包括:客戶端進行固件更新;客戶端根據固件的加載類型指示信息,選擇對應的加載方式,對更新的固件進行加載,加載方式包括,重新啟動嵌入式操作系統對更新的固件進行加載,和不重新啟動嵌入式操作系統對更新的固件進行加載。進一步,客戶端進行固件更新具體為:客戶端進行固件下載;客戶端將下載的固件寫入內存空間,更新非易失性隨機訪問存儲器中的固件,寫入固件的內存空間為通過用戶程序將固件在非易失性隨機訪問存儲器中的地址空間映射到內存中的地址空間。進一步,客戶端進行固件下載具體為:客戶端接收服務器下發的固件更新命令后,延時下載固件。進一步,客戶端進行固件下載,并設置與下載固件對應的更新標志位;還包括:非易失性隨機訪問存儲器中的固件更新完成后或固件下載失敗后,客戶端取消對應的更新標志位,并據此加載該更新標志位對應的固件。進一步,還包括:客戶端接收服務器發送的加載命令,加載命令中包括加載類型指示信息。進一步,還包括:客戶端根據固件的加載類型指示信息,選擇對應的加載方式,對更新的固件進行加載,其中,若固件的加載類型指示信息為系統重新加載,更新的固件為系統程序文件,則客戶端選擇重新啟動嵌入式操作系統的方式進行加載,若固件的加載類型指示信息為應用程序重新加載,更新的固件為應用程序文件,則客戶端不重新啟動嵌入式操作系統,通過重新啟動該更新的應用程序的方式進行加載,若固件的加載類型指示信息為數據文件重新加載,更新的固件為應用程序調用的數據文件,則客戶端不重新啟動嵌入式操作系統,通知相關應用程序重新讀取該數據文件進行加載。進一步,客戶端接收服務器發送的加載命令具體為:當更新的固件為應用程序文件時,客戶端接收服務器發送的加載命令中,包括更新的應用程序所對應的進程標識信息;通過重新啟動該更新的應用程序的方式進行加載具體為:客戶端判斷加載命令中的進程標識信息是否為,之前獲取的正在運行的應用程序的進程標識信息,若是,則客戶端釋放為具有該進程標識信息的進程分配的資源,并終止具有該進程標識信息的進程,重新啟動更新的應用程序進行加載,否則,加載失敗。本專利技術實施例還提供一種固件的加載裝置,包括:更新模塊,用于進行固件更新;加載模塊,用于根據固件的加載類型指示信息,選擇對應的加載方式,對更新的固件進行加載,加載方式包括,重新啟動嵌入式操作系統對更新的固件進行加載,和不重新啟動嵌入式操作系統對更新的固件進行加載。進一步,更新模塊,還用于進行固件下載,將下載的固件寫入內存空間,更新非易失性隨機訪問存儲器中的固件,寫入固件的內存空間為通過用戶程序將固件在非易失性隨機訪問存儲器中的地址空間映射到內存中的地址空間。進一步,更新模塊,還用于接收服務器下發的固件更新命令后,延時下載固件。進一步,下載模塊,還用于進行固件下載,并設置與下載固件對應的更新標志位;加載模塊,還用于非易失性隨機訪問存儲器中的固件更新完成后或固件下載失敗后,取消對應的更新標志位,并據此加載該更新標志位對應的固件。進一步,還包括:接收模塊,用于接收服務器發送的加載命令,加載命令中包括加載類型指示信息。進一步,加載模塊,還用于根據固件的加載類型指示信息,選擇對應的加載方式,對更新的固件進行加載,其中,若固件的加載類型指示信息為系統重新加載,更新的固件為系統程序文件,則選擇重新啟動嵌入式操作系統的方式進行加載,若固件的加載類型指示信息為應用程序重新加載,更新的固件為應用程序文件,則不重新啟動嵌入式操作系統,通過重新啟動該更新的應用程序的方式進行加載,若固件的加載類型指示信息為數據文件重新加載,更新的固件為應用程序調用的數據文件,則不重新啟動嵌入式操作系統,通知相關應用程序重新讀取該數據文件進行加載。進一步,接收模塊,還用于當更新的固件為應用程序文件時,接收服務器發送的加載命令中,包括更新的應用程序所對應的進程標識信息;加載模塊,還用于判斷加載命令中的進程標識信息是否為,之前獲取的正在運行的應用程序的進程標識信息,若是,則釋放為具有該進程標識信息的進程分配的資源,并終止具有該進程標識信息的進程,重新啟動更新的應用程序進行加載,否則,加載失敗。由于根據固件的加載類型指示信息選擇加載的方式,使得固件的加載變得較為靈活。附圖說明圖1表示本專利技術實施例提供的方法流程圖;圖2表示本專利技術實施例提供的裝置結構圖。具體實施例方式下面結合實施例和附圖對本專利技術進行說明,為了解決現有技術中的,固件的加載不夠靈活的問題,本專利技術實施例提供一種固件的加載方法及裝置。本專利技術實施例提供一種固件的加載方法,如圖1所示,包括如下步驟:步驟101、客戶端進行固件更新。步驟102、客戶端根據固件的加載類型指示信息,選擇對應的加載方式,對更新的固件進行加載,加載方式包括,重新啟動嵌入式操作系統對更新的固件進行加載,和不重新啟動嵌入式操作系統對更新的固件進行加載。前述的步驟就是固件升級的步驟,整個升級過程分為兩個階段:固件更新過程和固件加載過程。更新過程是指客戶端將更新固件下載到本地寫入對應存儲空間的過程。加載過程是指在更新結束后對更新后的固件加載的過程。這兩個過程分別是客戶端收到服務器的更新命令和加載命令來觸發的。服務器與客戶端建立tcp連接,服務器向客戶端下發固件更新命令,客戶端識別固件更新命令后,采取相應的更新動作完成更新,更新完成后根據服務器下發的固件加載命令按要求加載固件。整個過程的具體描述如下:客戶端上電啟動,用于固件更新加載的應用程序實時讀取配置文件獲得需要監視的程序列表,即獲取哪些應用程序正在運行。通過該列表可以明確哪些應用程序是有可能被更新或者重新加載的。程序列表中對于每個應用程序的描述包含如下信息:應用程序名稱,應用程序的標識號,列表中應用程序所使用的與用于更新加載的應用程序的通信端口。以下是對程序列表信息中字段的解釋:程序名稱是用來查詢進程ID所需要的,比如應用程序名稱為a.0ut,如果a.0ut已經運行,通過與已經運行的進程的名稱做比較就可以獲得該進程的ID。舉例完成。應用程序的標識號是預先定義的用來標識不同程序的本文檔來自技高網...
【技術保護點】
一種固件的加載方法,其特征在于,包括:客戶端進行固件更新;客戶端根據固件的加載類型指示信息,選擇對應的加載方式,對更新的固件進行加載,加載方式包括,重新啟動嵌入式操作系統對更新的固件進行加載,和不重新啟動嵌入式操作系統對更新的固件進行加載。
【技術特征摘要】
1.一種固件的加載方法,其特征在于,包括: 客戶端進行固件更新; 客戶端根據 固件的加載類型指示信息,選擇對應的加載方式,對更新的固件進行加載,加載方式包括,重新啟動嵌入式操作系統對更新的固件進行加載,和不重新啟動嵌入式操作系統對更新的固件進行加載。2.根據權利要求1所述的方法,其特征在于,客戶端進行固件更新具體為: 客戶端進行固件下載; 客戶端將下載的固件寫入內存空間,更新非易失性隨機訪問存儲器中的固件,寫入固件的內存空間為通過用戶程序將固件在非易失性隨機訪問存儲器中的地址空間映射到內存中的地址空間。3.根據權利要求2所述的方法,其特征在于,客戶端進行固件下載具體為: 客戶端接收服務器下發的固件更新命令后,延時下載固件。4.根據權利要求2所述的方法,其特征在于,客戶端進行固件下載,并設置與下載固件對應的更新標志位; 還包括: 非易失性隨機訪問存儲器中的固件更新完成后或固件下載失敗后,客戶端取消對應的更新標志位,并據此加載該更新標志位對應的固件。5.根據權利要求1所述的方法,其特征在于,還包括: 客戶端接收服務器發送的加載命令,加載命令中包括加載類型指示信息。6.根據權利要求5所述的方法,其特征在于,還包括: 客戶端根據固件的加載類型指示信息,選擇對應的加載方式,對更新的固件進行加載,其中,若固件的加載類型指示信息為系統重新加載,更新的固件為系統程序文件,則客戶端選擇重新啟動嵌入式操作系統的方式進行加載,若固件的加載類型指示信息為應用程序重新加載,更新的固件為應用程序文件,則客戶端不重新啟動嵌入式操作系統,通過重新啟動該更新的應用程序的方式進行加載,若固件的加載類型指示信息為數據文件重新加載,更新的固件為應用程序調用的數據文件,則客戶端不重新啟動嵌入式操作系統,通知相關應用程序重新讀取該數據文件進行加載。7.根據權利要求6所述的方法,其特征在于,客戶端接收服務器發送的加載命令具體為: 當更新的固件為應用程序文件時,客戶端接收服務器發送的加載命令中,包括更新的應用程序所對應的進程標識信息; 通過重新啟動該更新的應用程序的方式進行加載具體為: 客戶端判斷加載命令中的進程標識信息是否為,之前獲取的正在運行的應用程序的進程標識信息,若是,則客戶端釋放為具有該進程標識信息的進程分配的資源,并終止具有該進程標識信息的...
【專利技術屬性】
技術研發人員:周斐,張鑫,喬美生,趙巍,王文,魏金光,張強,
申請(專利權)人:北京市三希電子科技開發公司,
類型:發明
國別省市:北京;11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。