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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Linux系統(tǒng)下的Bootloader詳解

          Linux系統(tǒng)下的Bootloader詳解

          作者: 時間:2016-11-26 來源:網(wǎng)絡(luò) 收藏
          對于計算機(jī)系統(tǒng)來說,從開機(jī)上電到操作系統(tǒng)啟動需要一個引導(dǎo)過程。嵌入式Linux系統(tǒng)同樣離不開引導(dǎo)程序,這個引導(dǎo)程序就叫作Bootloader。在這里我們就為大家詳細(xì)介紹Bootloader,Bootloader是在操作系統(tǒng)運行之前執(zhí)行的一段小程序。通過這段小程序,我們可以初始化硬件設(shè)備、建立內(nèi)存空間的映射表,從而建立適當(dāng)?shù)南到y(tǒng)軟硬件環(huán)境,為最終調(diào)用操作系統(tǒng)內(nèi)核做好準(zhǔn)備。
          對于嵌入式系統(tǒng),Bootloader是基于特定硬件平臺來實現(xiàn)的。因此,幾乎不可能為所有的嵌入式系統(tǒng)建立一個通用的Bootloader,不同的處理器架構(gòu)都有不同的Bootloader。Bootloader不但依賴于CPU的體系結(jié)構(gòu),而且依賴于嵌入式系統(tǒng)板級設(shè)備的配置。對于2塊不同的嵌入式板而言,即使它們使用同一種處理器,要想讓運行在一塊板子上的Bootloader程序也能運行在另一塊板子上,一般也都需要修改Bootloader的源程序。
          反過來,大部分Bootloader仍然具有很多共性,某些Bootloader也能夠支持多種體系結(jié)構(gòu)的嵌入式系統(tǒng)。例如,U-Boot就同時支持PowerPC、ARM、MIPS和X86等體系結(jié)構(gòu),支持的板子有上百種。通常,它們都能夠自動從存儲介質(zhì)上啟動,都能夠引導(dǎo)操作系統(tǒng)啟動,并且大部分都可以支持串口和以太網(wǎng)接口。
          本章將對各種Bootloader總結(jié)分類,分析它們的共同特點。以U-Boot為例,詳細(xì)討論Bootloader的設(shè)計與實現(xiàn)。
          Bootloader的啟動
          Linux系統(tǒng)是通過Bootloader引導(dǎo)啟動的。一上電,就要執(zhí)行Bootloader來初始化系統(tǒng)??梢酝ㄟ^第4章的Linux啟動過程框圖回顧一下。
          系統(tǒng)加電或復(fù)位后,所有CPU都會從某個地址開始執(zhí)行,這是由處理器設(shè)計決定的。比如,X86的復(fù)位向量在高地址端,ARM處理器在復(fù)位時從地址0x00000000取第一條指令。嵌入式系統(tǒng)的開發(fā)板都要把板上ROM或Flash映射到這個地址。因此,必須把Bootloader程序存儲在相應(yīng)的Flash位置。系統(tǒng)加電后,CPU將首先執(zhí)行它。
          主機(jī)和目標(biāo)機(jī)之間一般有串口可以連接,Bootloader軟件通常會通過串口來輸入輸出。例如:輸出出錯或者執(zhí)行結(jié)果信息到串口終端,從串口終端讀取用戶控制命令等。
          Bootloader啟動過程通常是多階段的,這樣既能提供復(fù)雜的功能,又有很好的可移植性。例如:從Flash啟動的Bootloader多數(shù)是兩階段的啟動過程。從后面U-Boot的內(nèi)容可以詳細(xì)分析這個特性。
          大多數(shù)Bootloader都包含2種不同的操作模式:本地加載模式和遠(yuǎn)程下載模式。這2種操作模式的區(qū)別僅對于開發(fā)人員才有意義,也就是不同啟動方式的使用。從最終用戶的角度看,Bootloader的作用就是用來加載操作系統(tǒng),而并不存在所謂的本地加載模式與遠(yuǎn)程下載模式的區(qū)別。


          關(guān)鍵詞: Linux系統(tǒng)Bootloade

          評論


          技術(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); })();