精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英創信息技術Linux主板系統還原方案

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-02-07 11:08 ? 次閱讀

為了滿足用戶對于系統安全性保障的要求,英創公司推出了針對Linux主板的系統還原方案,該方案依靠一個外部存儲器件,可以使用U盤或者TF卡。用戶只需要將英創公司提供的內核、文件系統鏡像文件和用戶程序拷貝到U盤或者TF卡中就可以了,U盤和TF卡需要是fat32文件系統格式。用戶可以通過英創公司提供的庫文件,在應用程序中設置u-boot的參數來實現還原的方案,下面首先詳細介紹整個流程:

bootloader階段

主板啟動后,作為Bootloader的u-boot會打開看門狗,并檢查環境變量bootstate的值,默認情況bootstate的值為0,說明系統還原的功能沒有啟用。將bootstate的值設置為1就可以啟用該功能。

同時用戶可以設置允許的最大嘗試啟動次數bootnum,如果bootstate的值小于等于bootnum那么u-boot會將bootstate的值加1后進行正常啟動,如果bootstate的值大于bootnum,說明連續啟動(bootnum-1)次失敗,u-boot開始進入還原的流程。通過對于bootnum的設置,可以防止板卡對于系統還原的誤判,比如在啟動中突發的異常斷電等情況造沒有正常啟動完成,流程可參考下圖:

u-boot流程

還原的固件可以通過U盤或者TF卡存放,u-boot中通過環境變量system-recovery來判斷從哪一種設備中讀取固件,system-recovery等于system-recovery-usb則u-boot會通過U盤進行還原,如果system-recovery等于system-recovery-sd則u-boot會通過TF卡進行還原,用戶可以根據實際情況配置。

Kernel階段

進入到kernel啟動之后,系統的運行模式下會重新初始化并使能看門狗,如果系統啟動正常,板卡在啟動完成后,英創公司提供的程序boot_recovery會自行啟動,檢測u-boot中bootstate的值,如果大于bootnum,說明系統經過了還原,初始化程序會將U盤或者TF卡中存放的用戶的應用程序和文件拷貝到/mnt/nandflash目錄,然后將bootstate的值置為1(注意,需要拷貝的程序和文件必須放在U盤或者TF卡的update文件夾下)。如果檢測到bootstate的值小于bootnum,那么說明板卡正常啟動,將bootstate的值置為1后退出程序,執行正常啟動過程。考慮到啟動過程中可能會遇到斷電或者供電不穩等特殊情況,造成板卡啟動失敗,可以將bootnum的值適當增大。最后系統會根據用戶配置自動啟動應用程序,這時需要用戶的應用程序第一時間接管看門狗并開始喂狗,否則等到看門狗超時系統還是會重新啟動。

如果遇到系統啟動不正常的情況,不會執行到程序boot_recovery,所以bootstate的值不會改變,等待看門狗超時(60s)后,系統便會重啟,反復嘗試次(bootnum-1)次后,進入到還原流程,整個過程可參考下圖:

Kernel流程

還原流程

當u-boot檢測到bootstate的值大于等于bootnum,就會進入到還原流程。這時u-boot將根據配置讀取U盤或者TF卡中的內核和文件系統鏡像文件,擦除NandFlash對應的位置重新燒寫進去,燒寫完成后啟動系統,為了防止燒寫過程中出現意外情況,所以并沒有修改bootstate的值,而是等到系統完全啟動后執行程序boot_recovery中再來修改bootstate的值。

在板卡中英創公司通過專門的庫librecovery.so,給用戶提供了對系統還原參數的查詢和設置接口,這樣就能夠自定義系統還原后的操作。ibrecovery.so中提供的接口函數為:

int recovery_config(int cmd, char *s);

可以根據cmd的值來執行不同的操作,具體定義如下:

#define GET_BOOT_STATE 0 //查詢bootstate的值
#define SET_BOOT_STATE 1 //設置bootstate的值
#define SET_BOOT_MAXNUM 2 //設置最大啟動次數
#define GET_BOOT_MAXNUM 3 //查詢最大啟動次數
#define SET_WAY_RECOVERY 4 //設置系統還原方式
#define GET_WAY_RECOVERY 5 //查詢系統還原方式

下面通過boot_recovery中的部分代碼來說明函數接口的使用,首先是查詢bootstate的值,判斷板卡是否使能系統還原,如果沒有使能就退出:

recovery_config(GET_BOOT_STATE, buf);
if(!strlen(buf))
return 0;
i1 = atoi(buf);
printf("%d\n", i1);
if(!i1)
return 0;

如果使能就判斷是正常啟動還是進行了系統還原,如果進行了系統還原,就根據系統還原的方式,將U盤或者TF卡中update文件夾的內容拷貝到/mnt/nandflash中,并且把bootstate的值設置為1:

recovery_config(GET_BOOT_MAXNUM, buf);
if(i1 > (atoi(buf) + 1))
{
recovery_config(GET_WAY_RECOVERY, buf);
s = strstr(buf, "usb");
if(s != NULL)
system("cp /mnt/usb1/update/* /mnt/nandflash/ -r");
s = strstr(buf, "sd");
if(s != NULL)
system("cp /mnt/sdcard/update/* /mnt/nandflash/ -r");
}
sprintf(buf, "%d", 1);
recovery_config(SET_BOOT_STATE, buf);

如果用戶有一些需要自行設置的參數,可以在應用程序中進行設置,比如最大的嘗試啟動次數和系統還原的方式,都可以在應用程序的開始設置一遍。

如果對此方案感興趣的客戶,可以直接和英創的工程師連續,索取相關文件和程序。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11231

    瀏覽量

    208937
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6085

    瀏覽量

    35218
收藏 人收藏

    評論

    相關推薦

    linux是實時系統還是分時操作系統

    系統就難以滿足實時性需求,但是目前linux社區已經增加了較多版本的實時性補丁,給linux內核打上實時補丁后其實時性會得到大幅度提升,那么我們一起來看看兩者的區別。 如下分享一下:“linu
    的頭像 發表于 11-11 11:43 ?315次閱讀

    國產工控主板,信產業發展新引擎

    在當今科技飛速發展的時代,信產業正成為國家戰略的重要支撐。而我們的國產工控主板,以其卓越的性能和可靠的品質,為信產業的發展注入強大動力。國產工控主板在信
    的頭像 發表于 11-06 10:29 ?157次閱讀

    中科達榮獲2024年軟件和信息技術服務優秀企業

    及前百家企業”名單。中科達憑借非凡的技術實力與持續的創新能力,成功入選“2024年度軟件和信息技術服務競爭力百強企業”以及“2024年軟件和信息技術服務優秀企業”。
    的頭像 發表于 10-30 11:44 ?387次閱讀

    國產化背景下的工控主板發展現狀

    ,是信息技術應用創新產業的簡稱,于2016年“信工委會”(信息技術應用創新工作委員會)提出,目的就是要推動我們國內軟硬件關鍵技術的研發
    的頭像 發表于 09-21 16:15 ?333次閱讀

    梯度科技入選2023年信息技術應用創新解決方案名單

    日前,工業和信息化部網絡安全產業發展中心(工業和信息化部信息中心)在天津舉辦2024信息技術應用創新發展大會暨解決方案應用推廣大會。會上正式
    的頭像 發表于 09-09 16:29 ?392次閱讀

    兆芯金融方案入選工信部2023年信息技術應用創新典型解決方案

    近日,由工信部網絡安全產業發展中心等主辦的2024信息技術應用創新發展大會暨解決方案應用推廣大會在天津、浙江、福建、山東四地聯動同步召開,會上公布了2023年信息技術應用創新解決方案
    的頭像 發表于 08-05 16:12 ?654次閱讀

    龍芯中科“基于國產芯片級密碼安全的新一代信云解決方案”入選2023年工信部信典型案例

    近日,由工業和信息化部信息技術發展司和多地工信部門聯合組織的2024信息技術應用創新發展大會暨解決方案應用推廣大會在天津成功舉辦。大會現場,龍芯中科“基于國產芯片級密碼安全的新一代信
    的頭像 發表于 07-22 15:34 ?953次閱讀
    龍芯中科“基于國產芯片級密碼安全的新一代信<b class='flag-5'>創</b>云解決<b class='flag-5'>方案</b>”入選2023年工信部信<b class='flag-5'>創</b>典型案例

    智慧醫院信息化建設方案

    智慧醫院 信息化建設方案是醫療機構實現數字化轉型、提升醫療服務水平的重要舉措。通過整合信息技術、數據管理、智能化系統等資源,智慧醫院信息化建
    的頭像 發表于 07-17 14:17 ?858次閱讀

    翼輝信息入選2023年信息技術應用創新解決方案名單

    近日,2023 年(第五屆)信息技術應用創新解決方案公布遴選名單,歷經資格初審、技術中評、區域評議、終評預審,翼輝以“面向工業領域嵌入式操作系統 SylixOS 解決
    的頭像 發表于 04-28 11:37 ?527次閱讀
    翼輝<b class='flag-5'>信息</b>入選2023年<b class='flag-5'>信息技術</b>應用創新解決<b class='flag-5'>方案</b>名單

    芯盾時代中標西安西熱電站信息技術有限公司!

    芯盾時代中標西安西熱電站信息技術有限公司!芯盾時代基于完整的身份安全產品體系,增強客戶的業務系統、網絡設備和安全設備等認證安全強度
    的頭像 發表于 04-09 11:32 ?469次閱讀

    龍芯中科三項信方案入圍工信部2023年信息技術應用創新應用示范案例名單

    近日,工業和信息化部通報了2023年信息技術應用創新解決方案征集遴選結果,本次共評選出典型解決方案173個、應用示范案例83個、單項創新案例64個。
    的頭像 發表于 03-07 16:45 ?866次閱讀
    龍芯中科三項信<b class='flag-5'>創</b><b class='flag-5'>方案</b>入圍工信部2023年<b class='flag-5'>信息技術</b>應用創新應用示范案例名單

    RX78M組 EtherCAT ETG.5003示例程序固件信息技術

    電子發燒友網站提供《RX78M組 EtherCAT ETG.5003示例程序固件信息技術.pdf》資料免費下載
    發表于 02-21 14:22 ?1次下載
    RX78M組  EtherCAT ETG.5003示例程序固件<b class='flag-5'>信息技術</b>

    軟通動力與捷技術簽訂戰略合作協議

    近日,軟通動力信息技術(集團)股份有限公司(以下簡稱“軟通動力”)與寧波捷技術股份有限公司(以下簡稱“捷技術”)正式簽訂戰略合作協議,并
    的頭像 發表于 02-03 16:35 ?1084次閱讀

    知音WTR096A-16S語音芯片:引領喊話器聲音還原新時代

    隨著科技的不斷發展,聲音在各種場景中扮演著至關重要的角色。在喊話器領域,唯知音的WTR096A-16S語音芯片以其卓越的性能和聲音還原度的提高,為喊話器應用帶來了全新的體驗。1.聲音還原度的升級
    的頭像 發表于 12-06 09:26 ?562次閱讀
    唯<b class='flag-5'>創</b>知音WTR096A-16S語音芯片:引領喊話器聲音<b class='flag-5'>還原</b>新時代

    Linux系統中的FBE實現方案和特點

    Linux系統FBE 從Linux系統軟件架構看,典型FDE和FBE實現方案分布如下圖,包括基于dm-crypt的軟件FDE
    的頭像 發表于 11-29 11:23 ?1013次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>系統</b>中的FBE實現<b class='flag-5'>方案</b>和特點