Linux系統(tǒng)移植(第2版):第3章 Bootloader移植_第1頁(yè)
Linux系統(tǒng)移植(第2版):第3章 Bootloader移植_第2頁(yè)
Linux系統(tǒng)移植(第2版):第3章 Bootloader移植_第3頁(yè)
Linux系統(tǒng)移植(第2版):第3章 Bootloader移植_第4頁(yè)
Linux系統(tǒng)移植(第2版):第3章 Bootloader移植_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第3章Bootloader移植3.1Bootloader介紹3.2Bootloader之U-Boot3.1Bootloader介紹3.1.1Bootloader與嵌入式Linux系統(tǒng)的關(guān)系3.1.2Bootloader基本概念3.1.3Bootloader啟動(dòng)過程3.1.1Bootloader與嵌入式Linux系統(tǒng)的關(guān)系從軟件的角度可將嵌入式Linux系統(tǒng)劃分成4個(gè)層次,4個(gè)層次由低層到高層分別如下所示。引導(dǎo)加載程序:內(nèi)核文件系統(tǒng)用戶應(yīng)用程序3.1.2

Bootloader基本概念Bootloader是在操作系統(tǒng)內(nèi)核運(yùn)行前執(zhí)行的一段小程序,類似在啟動(dòng)Windows系統(tǒng)前運(yùn)行的BIOS程序。通過這段小程序,完成了對(duì)必要硬件設(shè)備的初始化,創(chuàng)建內(nèi)核需要的信息并將這些信息通過相關(guān)機(jī)制傳遞給內(nèi)核,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),最終調(diào)用操作系統(tǒng)內(nèi)核,起到引導(dǎo)和加載內(nèi)核的功能。1.Bootloader的安裝媒介2.Bootloader啟動(dòng)過程分類3.Bootloader的操作模式1.Bootloader的安裝媒介系統(tǒng)每次加電或復(fù)位后,CPU都會(huì)固定從預(yù)先設(shè)定的地址上取指令?;贑PU構(gòu)建的嵌入式系統(tǒng)通常都有某種類型的固態(tài)存儲(chǔ)設(shè)備(比如ROM、EEPROM或FLASH等)被映射到這個(gè)預(yù)先設(shè)定的地址上。2.Bootloader啟動(dòng)過程分類Bootloader啟動(dòng)過程分為單階段和多階段兩種。相對(duì)單階段Bootloader而言,多階段Bootloader的功能更加復(fù)雜,可移植性更加優(yōu)越。從固態(tài)存儲(chǔ)設(shè)備上啟動(dòng)Bootloader一般可分為兩個(gè)階段的啟動(dòng)過程,即啟動(dòng)過程可以分為stage1和stage2兩部分。3.Bootloader的操作模式絕大部分Bootloader均包含兩種不同類型的操作模式,即“啟動(dòng)加載”模式和“下載”模式。啟動(dòng)加載模式下載模式3.1.3

Bootloader啟動(dòng)過程Bootloader的啟動(dòng)過程分為stage1和stage2兩個(gè)階段,通常stage1是用匯編語言完成,而stage2則用C語言來實(shí)現(xiàn),以便于在stage2階段實(shí)現(xiàn)更加復(fù)雜的功能和取得更好的代碼可讀性及可移植性。1.stage1完成的工作2.stage2完成的工作1.stage1完成的工作(1)基本的硬件初始化包括以下工作:屏蔽所有中斷。設(shè)置CPU速度和時(shí)鐘頻率。初始化RAM。初始化LED。關(guān)閉CPU內(nèi)部指令和數(shù)據(jù)cache燈。(2)準(zhǔn)備RAM空間加載stage2。(3)復(fù)制stage2到RAM中。(4)設(shè)置堆棧指針sp。(5)跳轉(zhuǎn)到stage2的C入口點(diǎn)。2.stage2完成的工作(1)使用匯編語言跳轉(zhuǎn)到main()入口函數(shù)。(2)初始化本階段要使用到的硬件設(shè)備。(3)檢測(cè)系統(tǒng)的內(nèi)存映射。(4)加載內(nèi)核映像文件和根文件系統(tǒng)映像文件。(5)設(shè)置內(nèi)核的啟動(dòng)參數(shù)。3.2Bootloader之U-Boot3.2.1U-Boot優(yōu)點(diǎn)3.2.2U-Boot的主要功能3.2.3U-Boot目錄結(jié)構(gòu)3.2.4U-Boot的編譯3.2.1U-Boot優(yōu)點(diǎn)U-Boot在目前的嵌入式開發(fā)中被廣泛采用,是因?yàn)槠渚哂泻芏鄡?yōu)點(diǎn)。其優(yōu)點(diǎn)包括以下幾點(diǎn):開放源碼;支持多種嵌入式操作系統(tǒng)內(nèi)核;支持多個(gè)處理器系列;較高的可靠性和穩(wěn)定性;高度靈活的功能設(shè)置;豐富的設(shè)備驅(qū)動(dòng)源碼;較為豐富的開發(fā)調(diào)試文檔與強(qiáng)大的網(wǎng)絡(luò)技術(shù)支持。3.2.2

U-Boot的主要功能U-Boot的功能非常強(qiáng)大,其主要功能如下。系統(tǒng)引導(dǎo)基本輔助功能設(shè)備驅(qū)動(dòng)上電自檢功能特殊功能3.2.3

U-Boot目錄結(jié)構(gòu)以U-Boot-1.1.6為例介紹其目錄結(jié)構(gòu)。共有27個(gè)文件可以分為3類。第1類目錄與處理器體系結(jié)構(gòu)或者開發(fā)板硬件直接相關(guān);第2類目錄是一些通用的函數(shù)或者驅(qū)動(dòng)程序;第3類目錄是U-Boot的應(yīng)用程序、工具或者文檔。3.2.4U-Boot的編譯本節(jié)主要以u(píng)-boot-2013.07為例介紹U-Boot編譯的主要步驟,針對(duì)的開發(fā)板是mini2440。其他版本的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論