System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及終端故障恢復領域,更具體地,涉及一種終端的固件啟動方法和裝置。
技術介紹
1、終端的固件是指存儲于終端自身的存儲空間中的軟件部分,其本身是軟件,由于其固化到終端的非易失性存儲器中,通常被稱為固件。以農機為例,通過對固件升級,可以修復固件中的缺陷或增加農機的功能。
2、然而,在升級后,固件可能由于升級失敗導致啟動失敗,還可能由于環境因素導致啟動失敗。鑒于此,如何合理地恢復固件的應用,成為需要解決的問題。
技術實現思路
1、本申請提供一種終端的固件啟動方法和裝置,在終端啟動固件存在故障時,能夠合理地恢復固件的應用,能夠適用于不同的場景。
2、第一方面,提供了一種終端的固件啟動方法。終端的存儲空間包括第一存儲區域、第二存儲區域和第三存儲區域,第一存儲區域用于存儲固件的第一版本,第二存儲區域用于存儲固件的第二版本,第三存儲區域用于存儲固件的出廠燒錄版本。
3、該方法包括:獲取固件在第三版本下的連續啟動失敗次數的計數值,第三版本為上一次啟動固件時所采用的版本;根據該計數值,確定固件的啟動版本和固件的啟動時延。
4、其中,根據計數值,確定固件的啟動版本和固件的啟動時延,包括:在該計數值小于或等于第一閾值時,將第三版本確定為啟動版本,且根據第一時延方式確定啟動時延;在該計數值大于第一閾值且小于第二閾值時,將第三版本確定為啟動版本,且根據第二時延方式確定啟動時延;或,在該計數值大于或等于第二閾值時,將啟動版本由第三版本回滾至存儲于存儲空間中
5、本申請中,基于上一次啟動固件所采用的版本的連續啟動失敗次數,確定本次固件啟動所采用的版本以及時延。在因固件啟動失敗而連續重啟的情況下,通過控制啟動時延,一方面,對于環境因素所引發的偶發性啟動故障,當環境因素恢復正常后,固件能夠自行恢復運轉,能夠避免將該故障錯誤歸因于固件版本故障,能夠避免對于固件版本的誤回退。另一方面,對于固件版本故障所導致的必然性啟動故障,能夠通過固件版本的回退實現終端的正常運行。由此,能夠適應不同場景下的使用需求。
6、一些可能的實現方式中,根據第一時延方式確定啟動時延,可以包括:將基礎時延確定為啟動時延。
7、一些可能的實現方式中,根據第二時延方式確定啟動時延,可以包括:根據計數值、基礎時延和時延公差確定啟動時延。
8、一些可能的實現方式中,基礎時延可以為零。
9、一些可能的實現方式中,用于存儲第三版本的存儲區域可以對應于第一索引,用于存儲前一版本的存儲區域可以對應于第二索引;固件的運行程序可以用于根據啟動索引啟動固件。將第三版本確定為啟動版本,可以包括:將第一索引確定為啟動索引。或,將啟動版本由第三版本回滾至存儲于存儲空間中的第三版本的前一版本,包括:將啟動索引由第一索引更改為第二索引。
10、一些可能的實現方式中,存儲空間可以未存儲第二版本;第三版本可以為第一版本,且存儲于該存儲空間中的第三版本的前一版本可以為出廠燒錄版本。
11、一些可能的實現方式中,存儲空間可以存儲有第一版本、第二版本和出廠燒錄版本;第三版本為第一版本,且存儲于該存儲空間中的第三版本的前一版本可以為第二版本。
12、一些可能的實現方式中,該方法還可以包括:獲取固件的待寫入版本;在固件以啟動版本成功啟動時,將待寫入版本存儲至目標存儲區域。該目標存儲區域可以為第一存儲區域或第二存儲區域,且目標存儲區域未存儲該啟動版本。
13、一些可能的實現方式中,該方法還可以包括:在固件以第三版本成功啟動時,將第三版本下的連續啟動失敗次數的計數值清零。
14、第二方面,提供了一種裝置,該裝置可以包括用于實現第一方面及其任一可能的實現方式中的方法的模塊或單元。
15、示例性地,該裝置可以包括獲取單元和處理單元。該獲取單元可以用于:獲取固件在第三版本下的連續啟動失敗次數的計數值;該處理單元可以用于:根據計數值,確定固件的啟動版本和固件的啟動時延。
16、關于固件的啟動版本、啟動時延、第三版本等內容的描述,可以參照上述第一方面的相關記載。
17、第三方面,提供了一種裝置。該裝置包括至少一個處理器,該至少一個處理器與至少一個存儲器耦合,該至少一個存儲器用于存儲計算機程序或指令。該至少一個處理器用于從至少一個存儲器中調用并運行該計算機程序或指令,使得該裝置執行第一方面及其任一可能的實現方式中的方法。
18、第四方面,提供了一種終端。該終端包括如第三方面及其任一可能的實現方式中的裝置。例如,該終端可以為無人農用機械上所設置的終端。
本文檔來自技高網...【技術保護點】
1.一種終端的固件啟動方法,其特征在于,所述終端的存儲空間包括第一存儲區域、第二存儲區域和第三存儲區域,所述第一存儲區域用于存儲所述固件的第一版本,所述第二存儲區域用于存儲所述固件的第二版本,所述第三存儲區域用于存儲所述固件的出廠燒錄版本;
2.根據權利要求1所述的方法,其特征在于,所述根據第一時延方式確定所述啟動時延,包括:將基礎時延確定為所述啟動時延。
3.根據權利要求1所述的方法,其特征在于,所述根據第二時延方式確定所述啟動時延,包括:
4.根據權利要求2或3所述的方法,其特征在于,所述基礎時延為零。
5.根據權利要求1至3中任一項所述的方法,其特征在于,用于存儲所述第三版本的存儲區域對應于第一索引,用于存儲所述前一版本的存儲區域對應于第二索引,所述固件的運行程序用于根據啟動索引啟動所述固件,
6.根據權利要求1至3中任一項所述的方法,其特征在于,所述存儲空間未存儲所述第二版本,所述第三版本為所述第一版本且所述前一版本為所述出廠燒錄版本。
7.根據權利要求1至3中任一項所述的方法,其特征在于,所述存儲空
8.根據權利要求1至3中任一項所述的方法,其特征在于,所述方法還包括:
9.根據權利要求1至3中任一項所述的方法,其特征在于,所述方法還包括:
10.一種裝置,其特征在于,包括至少一個處理器,所述至少一個處理器與至少一個存儲器耦合,用于執行所述存儲器中存儲的計算機指令,以使得所述裝置執行如權利要求1至9中任一項所述的方法。
11.一種終端,其特征在于,包括如權利要求10所述的裝置。
...【技術特征摘要】
1.一種終端的固件啟動方法,其特征在于,所述終端的存儲空間包括第一存儲區域、第二存儲區域和第三存儲區域,所述第一存儲區域用于存儲所述固件的第一版本,所述第二存儲區域用于存儲所述固件的第二版本,所述第三存儲區域用于存儲所述固件的出廠燒錄版本;
2.根據權利要求1所述的方法,其特征在于,所述根據第一時延方式確定所述啟動時延,包括:將基礎時延確定為所述啟動時延。
3.根據權利要求1所述的方法,其特征在于,所述根據第二時延方式確定所述啟動時延,包括:
4.根據權利要求2或3所述的方法,其特征在于,所述基礎時延為零。
5.根據權利要求1至3中任一項所述的方法,其特征在于,用于存儲所述第三版本的存儲區域對應于第一索引,用于存儲所述前一版本的存儲區域對應于第二索引,所述固件的運行程序用于根據啟動索引啟動所述固件,
...
【專利技術屬性】
技術研發人員:蔡墩清,
申請(專利權)人:昆山寰安電子科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。