• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種嵌入式設備的多級引導加載方法技術

    技術編號:8271281 閱讀:151 留言:0更新日期:2013-01-31 03:28
    本發明專利技術提供了一種嵌入式設備的多級引導加載方法,所述嵌入式設備的flash依次劃分為bootloader2分區、image分區和data配置區,所述多級引導加載方法包括步驟:在存儲區中添加bootloader1分區,該bootloader1分區具有升級bootloader2、引導bootloader2以及配置bootloader2的功能;設備上電后,先啟動bootloader1;在指定時間內,循環檢查是否有升級/配置bootloader2指令輸入,若無,則bootloader1引導bootloader2啟動,完成啟動流程;若有,則bootloader1對bootloader2進行升級/配置,升級/配置之后跳轉至bootloader2執行或者直接重啟設備。本發明專利技術實施例中不僅支持image和bootloader的多樣性,而且滿足嵌入式升級時的安全性要求。

    【技術實現步驟摘要】
    本專利技術涉及嵌入式
    ,尤其涉及一種嵌入式設備的多級引導加載方法
    技術介紹
    嵌入式設備具有兩個顯著的特點一個是盡量降低成本,需要裁減掉多余的軟硬件功能;一個是需要定制以滿足多樣化的需求,統一標準的方式難以滿足所有的需求。作為程序的主要部分image (程序鏡像,通常包括kernel (內核)和rootfs (根文件系統))也是多樣化的,隨著技術的發展image本身的形式在不斷發展,且有雙image,大小image等應用形式的出現,導致原有的bootloader (啟動加載程序)已經不能滿足新的要求,不能兼容,因此bootloader本身也需要進行升級。有時,有關的關鍵參數如MAC地址,產測配置嵌入到bootloader本身,在參數擴充或修改時也需要對bootloader進行升級。 嵌入式的bootloader通常是存儲在flash上的,而傳統的bootloader升級方法是在升級bootloader時,需要把bootloader在flash上對應的block上的數據擦除掉,再從ram寫入,這時可能因為斷電和其他意外導致升級終止,而bootloader所在的block由于尚未寫入數據或寫入不完全導致損壞,上電重啟就無法再從對應的flash block讀出bootloader代碼而無法運行,從而使嵌入式設備陷入癱瘓,俗稱變成了磚頭。這種情況維修和升級的成本都會很高,或者是永久性的損壞。因此必須找到一種方法來同時滿足靈活性和安全性的要求。
    技術實現思路
    本專利技術的目的在于提供一種嵌入式設備的多級引導加載方法,采用兩個bootloader級聯來引導image,同時支持image和bootloader的多樣性,又滿足嵌入式升級時的安全性要求,在bootloader升級失敗后仍然能夠引導運行。本專利技術的目的是通過以下技術方案實現的。一種嵌入式設備的多級引導加載方法,所述嵌入式設備的flash依次劃分為bootloader2分區、image分區和data配置區,所述多級引導加載方法包括步驟 在存儲區中添加bootloaderl分區,該bootloaderl分區具有升級bootloader2、引導bootloader2 以及配置 bootloader2 的功能; 設備上電后,先啟動bootloaderl ; 在指定時間內,循環檢查是否有升級/配置bootloaderf指令輸入,若無,則bootloaderl 引導 bootloader2 啟動,完成啟動流程;若有,則 bootloaderl 對bootloader2進行升級/配置,升級/配置之后跳轉至bootloaderf執行或者直接重啟設備。其中,所述bootloaderl分區和bootloader2分區位于不同flash上;其中,bootloaderl分區設于spi nor flash (串行外圍接口或非門的閃存)上,bootloader2分區設于nandfIash (與非門閃存)上。其中,所述bootloaderl分區和bootloader2分區位于同一 flash上。 其中,所述bootloaderl分區占用I個flash的I個block。其中,所述bootloaderl分區設置有寫保護。其中,bootloaderl引導bootloader2啟動的過程為 bootloaderl從約定的地址找到對應的block,再根據找到的地址讀入bootloader2的信息,讀取bootloader2的長度和預設校驗值信息; bootloaderl讀取出bootloader2的全部內容并計算其校驗值,將該校驗值和預設校驗值比較判斷得出該校驗值是否正確。如果校驗值正確則跳轉到bootloaderf可執行代碼所對應的地址,或跳轉到bootloaderf加載到內存并解壓后對應的地址執行,完成啟動流程;如果不正確,則bootloaderl轉換至升級模式,對bootloader2進行升級,升級后跳轉至bootloader2執行或者直接重啟設備。 其中,所述bootloaderl對bootloader2進行升級的方式包括三種串口升級方式、tftp (tftp簡單文件傳輸協議)協議升級方式、http (超級文本傳輸協議)或ftp (文件傳輸協議)協議升級方式。與現有技術相比,本專利技術實施例具有以下有益效果。本專利技術實施例中新增了一個bootloaderl分區,具有引導、配置、升級原有的bootloader2分區的功能,在設備系統啟動時bootloaderl分區與bootloader2分區級聯來進行引導加載,這樣在bootloader2在損壞或者升級失敗時,bootloaderl由于被寫保護而不會被損壞,因而bootloaderl可對bootloader2重新進行升級,不僅支持image和bootloader的多樣性,而且滿足嵌入式升級時的安全性要求。附圖說明圖I是現有的flash分布結構示意圖。圖2是本專利技術實施例提供的flash分布結構示意圖。圖3是本專利技術實施例提供的嵌入式設備的多級引導加載方法流程圖。圖4是本專利技術實施例提供的升級方法流程圖。具體實施例方式為了使本專利技術的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本專利技術進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本專利技術,并不用于限定本專利技術。請參閱圖1,現有的flash按順序依次劃分為一個bootloader分區、一個image分區(實際也可為多個image分區)和一個data配置區。其中bootloader分區用于存儲bootloader程序本身和bootloader所需要的配置參數;image分區通常包括kernel和rootfs兩部分;data配置區為可選,包括系統運行需要的配置參數和運行的記錄信息,有時可能包括在rootfs里。與現有的flash分布結構不同,本實施例中在現有的bootloader分區之前添加一個新的bootloader分區,新的flash分布結構如圖2所示,包括兩個bootloader分區(分別稱為bootloaderl分區和bootloader2分區)、一個image分區(實際也可為多個image分區)和一個data配置區。下面將對bootloaderl分區和bootloader2分區分別進行描述。bootloderl 分區具有引導 bootloader2、升級 bootloader2 以及配置bootloader2的有關參數的功能;其中的升級功能可以包含最基本的串口升級方式,也可以包含網口升級方式等更高級的方式,詳見下文。該bootloderl不支持直接引導或升級image和修改data配置區。bootloderl的大小受到限制,通常為I個flash的I個block大小,有時可能包括一個以上,所占flash空間比bootloder2要小很多。bootloader2分區保持現有單個bootloader的有關特性基本不變,其作用就是做一些基本的硬件、運行環境的初始化,解壓kenel部分的代碼,并把cpu的控制權交給kenel,從而實現對引導操作系統的kenrnel部分的引導,也包含升級自身和kernel,或bootloaderl除外的整個flash的功能。在實際應用中,b本文檔來自技高網...

    【技術保護點】
    一種嵌入式設備的多級引導加載方法,所述嵌入式設備的flash依次劃分為bootloader2分區、image分區和data配置區,其特征在于,所述多級引導加載方法包括步驟:在存儲區中添加bootloader1分區,該bootloader1分區具有升級bootloader2、引導bootloader2以及配置bootloader2的功能;設備上電后,先啟動bootloader1;在指定時間內,循環檢查是否有升級/配置bootloader2指令輸入,若無,則bootloader1引導bootloader2啟動,完成啟動流程;若有,則bootloader1對bootloader2進行升級/配置,升級/配置之后跳轉至bootloader2執行或者直接重啟設備。

    【技術特征摘要】
    1.一種嵌入式設備的多級引導加載方法,所述嵌入式設備的flash依次劃分為bootloader2分區、image分區和data配置區,其特征在于,所述多級引導加載方法包括步驟 在存儲區中添加bootloaderl分區,該bootloaderl分區具有升級bootloader2、引導bootloader2 以及配置 bootloader2 的功能; 設備上電后,先啟動bootloaderl ; 在指定時間內,循環檢查是否有升級/配置bootloaderf指令輸入,若無,則bootloaderl 引導 bootloader2 啟動,完成啟動流程;若有,則 bootloaderl 對bootloader2進行升級/配置,升級/配置之后跳轉至bootloaderf執行或者直接重啟設備。2.如權利要求I所述嵌入式設備的多級引導加載方法,其特征在于,所述bootloaderl分區和bootloader2分區位于不同flash上;其中,bootloaderl分區設于spi nor flash上,bootloader2 分區設于 nand flash 上。3.如權利要求I所述嵌入式設備的多級引導加載方法,其特征在于,所述bootloaderl分區和bootloader2分區位于同一 flash上。4.如權利要求I所述嵌入式設備的...

    【專利技術屬性】
    技術研發人員:劉宏鈞
    申請(專利權)人:深圳市共進電子股份有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 亚洲不卡中文字幕无码| 无码人妻啪啪一区二区| 在线精品自拍无码| 狠狠躁天天躁中文字幕无码| 国产高清不卡无码视频 | 国产在线观看无码免费视频| 国产激情无码一区二区三区| 午夜福利av无码一区二区| 免费无码黄十八禁网站在线观看| 精品无码国产污污污免费网站国产| 免费无遮挡无码永久视频| 久久av高潮av无码av喷吹| AAA级久久久精品无码片| 东京热人妻无码人av| 日韩专区无码人妻| 免费A级毛片无码无遮挡内射| 一本色道无码道在线观看| 成在人线AV无码免费| 人妻丰满熟妞av无码区| 亚洲精品无码不卡在线播放HE| 无码中文在线二区免费| 97久久精品亚洲中文字幕无码| 变态SM天堂无码专区| 一本色道无码道在线| 无码熟妇αⅴ人妻又粗又大| 无码播放一区二区三区| 日韩精品中文字幕无码一区| 亚洲AV无码久久精品狠狠爱浪潮 | 亚洲精品无码专区2| 无码一区二区三区AV免费| 日韩国产精品无码一区二区三区 | 久久久久亚洲AV无码专区网站 | 色欲AV无码一区二区三区 | 永久免费无码日韩视频| 亚洲AV无码成人精品区狼人影院| 免费A级毛片无码视频| 久久AV高潮AV无码AV| 无码射肉在线播放视频| 亚洲GV天堂无码男同在线观看| 久久久无码精品亚洲日韩京东传媒| 日韩乱码人妻无码中文字幕|