利用SD卡實(shí)現(xiàn)嵌入式Linux系統(tǒng)的自動(dòng)升級(jí)
升級(jí)功能的擴(kuò)展主要在Uboot的第二階段完成,在Uboot完成外圍硬件設(shè)備初始化之后,檢測(cè)是否有SD卡插入,如果有,再檢測(cè)SD卡中是否有相應(yīng)的內(nèi)核或者文件系統(tǒng)映像。如果有相應(yīng)的映像文件,就進(jìn)行升級(jí)工作,升級(jí)完成后再啟動(dòng)新的系統(tǒng)。系統(tǒng)升級(jí)核心工作可以分為兩步,第一步是將相應(yīng)的映像文件讀取到SDRAM當(dāng)中;第二步則將SDRAM中的映像寫(xiě)入到相應(yīng)Flash分區(qū)當(dāng)中,詳細(xì)流程如圖2所示。本文引用地址:http://2s4d.com/article/148225.htm
2.3 具體實(shí)現(xiàn)
通過(guò)上面的分析可以看出,擴(kuò)展一個(gè)支持SD自動(dòng)升級(jí)功能的Uboot需要完成如下步驟。
(1)判斷是否存在SD卡
判斷SD卡是否存在,通過(guò)使用Uboot當(dāng)中提供的find_mmc_device函數(shù),這里只要判斷該函數(shù)的返回值即可知道SD卡是否存在,實(shí)現(xiàn)代碼如下:
linux相關(guān)文章:linux教程
評(píng)論