新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 利用SD卡實現嵌入式Linux系統的自動升級

        利用SD卡實現嵌入式Linux系統的自動升級

        作者: 時間:2012-12-06 來源:網絡 收藏

        (2)判斷中是否有內核映像文件
        如果存在,則將其燒寫到Flash相應的分區當中。實現這個功能需要使用到中的run_command函數,由于kernel的映像文件一般不會超過5 MB,所以在燒寫kernel的時候不需要檢查映像文件的大小。檢查內核映像文件是否存在也是通過執行命令的方式,如果存在,那么Env環境變量fileexist的值就是YES,并且此時的內核映像已經存在于SDRAM當中,可以直接通過命令燒寫到Flash相應的分區當中。具體的代碼如下:
        e.JPG
        (3)判斷中是否有文件系統映像文件
        如果存在,則寫入到相應的Flash分區當中。本實驗設備上使用的文件系統是Yaffs2,通過命令燒寫Yaffs2文件系統的時候,必須要知道它的實際大小。由于升級很可能導致文件系統大小的變化,所以這里必須將讀取到SDRAM當中的文件大小記錄下來,這個工作在中已經完成,我們只需要通過getenv(filesize)就可以獲得載入SDRAM當中的文件大小,其他的步驟和燒寫內核映像是一樣的。具體代碼如下:
        f.JPG
        經過上面3個步驟修改的Uboot程序可支持的功能,需要注意這段代碼應該放在Uboot自動加載系統之前,推薦將這些代碼放在main_loop函數中。

        結語
        本文通過定制擴展Uboot實現了用SD卡方式進行嵌入式設備操作系統的,這種方式不但克服了傳統升級方式的局限性,而且具有一定商業價值。目前,該方法經過調試,系統運行正常。顯然,要通過SD卡實現系統升級,需要嵌入式設備具有SD卡接口,因此,它并不適合所有的嵌入式系統,但是這種實現機制可供借鑒。

        本文引用地址:http://www.104case.com/article/148225.htm
        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        linux相關文章:linux教程



        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 闽侯县| 南城县| 静海县| 大连市| 张掖市| 普兰店市| 剑河县| 山西省| 泾源县| 塔城市| 大渡口区| 建水县| 安宁市| 濮阳县| 长春市| 噶尔县| 将乐县| 宜君县| 衡南县| 饶阳县| 井冈山市| 南宫市| 安义县| 玛沁县| 临清市| 惠水县| 香港 | 保山市| 正定县| 兴山县| 文化| 莱芜市| 镇原县| 大洼县| 连云港市| 城口县| 华蓥市| 渝中区| 图木舒克市| 肇庆市| 宝丰县|