<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > uboot啟動(dòng)過(guò)程簡(jiǎn)要分析筆記

          uboot啟動(dòng)過(guò)程簡(jiǎn)要分析筆記

          作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò) 收藏
          uboot啟動(dòng)類似于pc機(jī)中bios的啟動(dòng)過(guò)程,簡(jiǎn)要說(shuō)明如下;

          第一階段

          本文引用地址:http://www.ex-cimer.com/article/201611/322117.htm

          1:cup內(nèi)硬件初始化(屏蔽所有中斷,設(shè)置cup的時(shí)鐘,存儲(chǔ)控制器初始化,指示燈初始化狀態(tài)為滅,關(guān)閉CPU內(nèi)存指令/緩存);

          2:拷貝第二階段代碼到RAM中以備第二階段代碼的執(zhí)行;

          3:設(shè)置好堆棧指針存放第二階段代碼的入口地址;

          進(jìn)入第二階段

          當(dāng)用戶按下任意鍵時(shí)進(jìn)入下載模式(此過(guò)程只為開(kāi)發(fā)人員所用得到),如果一段時(shí)間內(nèi)用戶沒(méi)有任何操作,自動(dòng)進(jìn)入的啟動(dòng)加載模式如下(此過(guò)程是為了加載操作系統(tǒng)內(nèi)核鏡像和文件系統(tǒng)鏡像):

          4:對(duì)arm開(kāi)發(fā)板上硬件資源初始化(至少包含一個(gè)串口初始化,因?yàn)榧虞d操作系當(dāng)中通常需要通過(guò)彩屏接受串口發(fā)來(lái)的Linux內(nèi)核版本信息,以及硬件的驅(qū)動(dòng)的準(zhǔn)備情況等;做到人機(jī)交互)

          5:階段2的代碼檢測(cè)RAM存在的區(qū)域和容量大小并將其映射到(CPU的整個(gè)地址)地址空間中;

          6:將操作系統(tǒng)鏡像以及文件系統(tǒng)鏡像從Flash讀取到RAM中;(經(jīng)過(guò)一段時(shí)間的學(xué)習(xí)突然發(fā)現(xiàn)具體操作中了解了前面幾個(gè)步驟并沒(méi)有什么卵用僅僅是教科書中的一些內(nèi)容 )

          7:在啟動(dòng)操作系統(tǒng)內(nèi)核之前,需要設(shè)置操作系統(tǒng)內(nèi)核的啟動(dòng)參數(shù)(如Linux中的ATAG_MEM,ATAG——CNDLINE,等等);

          8:哈哈,終于要進(jìn)行操作系統(tǒng)內(nèi)核啟動(dòng)了,引導(dǎo)程序并將執(zhí)行權(quán)交給操作系統(tǒng);



          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();