• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 快速了解嵌入式Linux開機啟動流程

    快速了解嵌入式Linux開機啟動流程

    作者: 時間:2018-05-22 來源:網絡 收藏

      關于的開機啟動流程網上有很多資料,這里我們僅進行一個簡單的介紹,旨在讓人能快速了解整個啟動流程。

    本文引用地址:http://www.czjhyjcfj.com/article/201805/380283.htm

      整個開機流程可以歸結為以下幾點:

    1.jpg

      首先分個介紹:

      ROM Code(芯片內固化好的一段代碼),起最初的引導功能,包括初始化時鐘、片內RAM、相關外設等,讀取引腳配置信息等;

      U-Boot(Universal Boot Loader),初始化相關硬件設備,引導系統加載內核鏡像的一段程序;

      Kernel,負責存儲器、文件、外設等的管理,以及進程通信、調度等;

      文件系統,負責文件的管理;

      應用,就是各個應用程序。

      為形象點說明,我們將整個流程比作開一輛車子,我們把上面那幅圖進行更改:

    2.jpg

      上電后CPU執行內部固化好的一段代碼(ROM Code),初始化相關外設,根據外部引腳的信息,選擇從哪個存儲設備讀取U-Boot(emmc、TF卡......),然后將U-Boot加載到內存上運行,U-Boot完成相關外設配置后,將Kernel加載到內存上,至此,由Kernel負責剩下的任務。

      這里ROM Code是上電后最先執行的動作,就相當一個啟動引導的過程;U-Boot除了初始外設外,還有很重要的一點就是為Kernel初始化相關內存空間,為其加載做準備,這其實就相當于要使發動機發動,要先為它提供能源;有了發動機沒設備,空有動力也做不了什么實質的事,相反,沒有發動機提供動力,設備動不起來,這里其實就揭示著Kernel和文件系統密不可分的關系;當一切準備就緒后,我們就可以在上面編寫、運行應用相關的程序(開車)。



    關鍵詞: 嵌入式Linux

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 芦溪县| 桂阳县| 满洲里市| 琼海市| 大埔县| 清河县| 连江县| 山阳县| 贞丰县| 徐州市| 怀仁县| 寿光市| 舒城县| 无极县| 时尚| 马关县| 涟源市| 邢台县| 荣成市| 墨脱县| 大宁县| 阿拉善盟| 东明县| 阿坝县| 汝南县| 陆良县| 通州区| 苗栗市| 信阳市| 平邑县| 威宁| 台湾省| 怀来县| 临海市| 平昌县| 通榆县| 信丰县| 石景山区| 井陉县| 濉溪县| 分宜县|