S3C440B0X的bootload設(shè)計(jì).ppt_第1頁(yè)
S3C440B0X的bootload設(shè)計(jì).ppt_第2頁(yè)
S3C440B0X的bootload設(shè)計(jì).ppt_第3頁(yè)
S3C440B0X的bootload設(shè)計(jì).ppt_第4頁(yè)
S3C440B0X的bootload設(shè)計(jì).ppt_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、S3C440B0X的bootload設(shè)計(jì),組員:李知周,全源源,吳亞軍,引子,1999年4月26日全球不計(jì)其數(shù)的電腦在上一天正常關(guān)機(jī)之后再也沒有啟動(dòng)起來(lái)。它們所表現(xiàn)的故障都是一樣的,就好像硬件壞了一樣,計(jì)算機(jī)再也沒有一點(diǎn)反應(yīng),成了一堆垃圾。這一切就是被認(rèn)為有史以來(lái)最危險(xiǎn)、破壞力最強(qiáng)的計(jì)算機(jī)病毒之一CIH所造成的,引子,思考: CIH破壞的是什么? 真的像傳說(shuō)的那樣能破壞硬件嗎,引子,首先,CIH破壞的不是硬件,它破壞的僅僅是軟件。 CIH破壞的軟件就是bootload(包括了在bios內(nèi)的與硬盤上的bootload,bootload,Bootload從字面上講就是啟動(dòng)裝載程序,這一程序在系統(tǒng)的

2、啟動(dòng)過(guò)程中扮演了非常重要的角色。 提出問(wèn)題: Bootload為何如此重要? Bootload為何能決定系統(tǒng)的生死,bootload,原因有五: Bootload是系統(tǒng)運(yùn)行的第一個(gè)程序。 Bootload是啟動(dòng)操作系統(tǒng)的第一步。 Bootload是軟件層次結(jié)構(gòu)中的第一層。 Bootload是軟件對(duì)硬件系統(tǒng)的第一次測(cè)試。 Bootload是軟件的第一個(gè)用戶界面。 有那么多個(gè)第一,其重要性不言而喻,Bootload是系統(tǒng)運(yùn)行的第一個(gè)程序,Bootload程序通常是存放在系統(tǒng)復(fù)位完成之后pc指針?biāo)赶虻牡胤健K?,在?fù)位完后, Bootload程序?qū)⒈坏谝粋€(gè)執(zhí)行,用來(lái)初始化硬件,裝載操作系統(tǒng)鏡像等等

3、工作。如果第一個(gè)運(yùn)行的程序被破壞無(wú)法運(yùn)行,后續(xù)程序就不可能沒有辦法運(yùn)行了,Bootload是啟動(dòng)操作系統(tǒng)的第一步,操作系統(tǒng)的映像是通過(guò)bootload載入到內(nèi)存中的。在操作系統(tǒng)啟動(dòng)之前,bootload將操作系統(tǒng)的映像文件拷貝到sram中,并將pc指針的控制權(quán)交給sram操作系統(tǒng),接下來(lái)才是操作系統(tǒng)的啟動(dòng),Bootload是軟件層次結(jié)構(gòu)中的第一層,作為Bootload程序,提供一個(gè)低層的驅(qū)動(dòng)是有益的。Bootload是根據(jù)硬件定制,通過(guò)在bootload里增加一個(gè)抽象層接口,使得操作系統(tǒng)可以在一個(gè)相對(duì)抽象的層次上操作硬件,實(shí)現(xiàn)細(xì)節(jié)的隱藏,降低系統(tǒng)程序員的編程難度,Bootload是軟件對(duì)硬件系

4、統(tǒng)的第一次測(cè)試,在啟動(dòng)的過(guò)程中,比較重要的一個(gè)環(huán)節(jié)就是對(duì)系統(tǒng)硬件進(jìn)行測(cè)試。測(cè)試的重中之重就是對(duì)sram的測(cè)試。有必要強(qiáng)調(diào)的是sram的損毀會(huì)直接導(dǎo)致操作系統(tǒng)崩潰。Bootload是運(yùn)行在flashrom里的,不受sram影響,由他來(lái)完成sram的測(cè)試再合適不過(guò)了,Bootload是軟件的第一個(gè)用戶界面,任何程序沒有用戶界面,不能向使用者反饋信息,不能接受使用者的命令是不可想象的。作為系統(tǒng)第一個(gè)運(yùn)行的程序,同樣要有用戶界面。自然,這個(gè)用戶界面也就是第一個(gè)用戶界面了,工欲善其事,必先利其器論語(yǔ)魏靈公,想開發(fā)出一個(gè)好的bootload,必須首先明確bootload設(shè)計(jì)的主導(dǎo)思想。 同樣本次課件不是完

5、全專注于過(guò)于細(xì)節(jié)化的技術(shù),而是介紹設(shè)計(jì)bootload的設(shè)計(jì)方法與設(shè)計(jì)思想,設(shè)計(jì)的主導(dǎo)思想,高度的可靠性。 完善的自我維護(hù)能力。 完善的硬件管理。 簡(jiǎn)單有效的交互界面。 完善的錯(cuò)誤報(bào)告能力。 短小精悍,實(shí)例研究,Sandstone 一個(gè)最小的bootload 引自: ARM System Developers Guide Designing and Optimizing System Software. 代碼下載:http:/,Sandstone執(zhí)行流程,執(zhí)行復(fù)位異常。 開始初始化硬件。 存儲(chǔ)器重映射。 初始化通信硬件。 引導(dǎo)裝載復(fù)制映像文件和轉(zhuǎn)交控制權(quán),第一步,執(zhí)行復(fù)位異常,系統(tǒng)的啟動(dòng)從復(fù)位

6、異常開始。默認(rèn)的中斷向量表中只有一個(gè)復(fù)位向量有用,它是真正被執(zhí)行的第一條指令,其他中斷向量都跳轉(zhuǎn)到一個(gè)無(wú)限循環(huán)過(guò)程。 復(fù)位向量處一般是一個(gè)轉(zhuǎn)向下一步工作的跳轉(zhuǎn)語(yǔ)句。 整個(gè)向量表被放在flashrom的0 x00000000處,第二步,開始初始化硬件,在這一步執(zhí)行以下操作: 關(guān)閉cpu的cache。 關(guān)閉cpu的寫緩沖。 初始化led,顯示當(dāng)前的系統(tǒng)狀態(tài),第三步,存儲(chǔ)器重映射,剛復(fù)位時(shí)的存儲(chǔ)空間影射表,第三步,存儲(chǔ)器重映射,完成重映射后的存儲(chǔ)空間影射表,第四步,初始化通信硬件,最簡(jiǎn)單的通信硬件是串口 在這一步,串口被初始化 9600波特,無(wú)奇偶校驗(yàn),1位停止,無(wú)數(shù)據(jù)流控制。 串口輸出Sandst

7、one的提示符: Sandstone Firmware(0.01) + booting payload,第五步,引導(dǎo)裝載,最后一步 將有效載荷(操作系統(tǒng)的映像文件)復(fù)制到sram的0 x00000000處。 將pc的控制權(quán)交給有效載荷 至此,整個(gè)Sandstone完成運(yùn)行,Sandstone,Sandstone的不足: 沒有與用戶交互界面。 沒有任何調(diào)試功能。 沒有flash的燒寫功能。 沒有硬件系統(tǒng)的全面自檢與設(shè)置程序。 沒有向操作系統(tǒng)提供一個(gè)硬件抽象層次的軟件借口,站在巨人的肩上,If I have seen further it is by standing on the shoulde

8、rs of Giants. From: Letter to Robert Hooke (15 February 1676) Isaac Newton,巨人們,目前被廣泛使用的bootload是 Redboot 由redhat公司開發(fā)的通用型bootload ARM Firmware Suite ARM公司專門為基于ARM的嵌入式系統(tǒng)開發(fā)的固件包 u-boot 由開源社區(qū)開發(fā)的通用型bootload,Redboot,Redboot功能介紹 引自Reboot Userrs Guide Ver1.5 July 2001 支持通過(guò)腳本配置啟動(dòng)。 通過(guò)網(wǎng)口或串口實(shí)現(xiàn)簡(jiǎn)單命令行界面。 集成gdb調(diào)試工具。

9、 硬件抽象層配置,包括時(shí)間日期、ip地址等。 支持Nandflash的燒寫。 支持上電自檢功能,Redboot,Redboot功能的使用方法: Redboot功能所有功能是通過(guò)簡(jiǎn)單命令行界面下命令的形式提供給用戶使用的。通過(guò)簡(jiǎn)單命令行界面,輸入各種命令來(lái)完成包括硬件配置,Redboot命令行,load file-v-d-b location-r-m xmodem|ymodem|tftp|disk-h host_IP_ad-dress 將file下載到location處。 dump-b-l 顯示出起始位置為location長(zhǎng)度為length的內(nèi)存空間的內(nèi)容,Redboot命令行,go-w timelocation 在等待time時(shí)間后從location處執(zhí)行 ping-v-n-l-t-r -i-h 測(cè)試網(wǎng)絡(luò)的命令,Redboot命令行,cacheON|OFF 開關(guān)cache的命令 Reset 重起系統(tǒng) 所有的命令可以

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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)論