桌面電腦剛加電時,乙個叫做bios的軟體程式立刻獲得了處理器的控制權。(歷史上,bios是basic input/output software的縮寫,但現在這個單詞已經有了自身的含義,因為其完成的功能比以前複雜多了。)bios可能實際儲存在一塊快閃儲存器中,便於公升級bios程式。
bios是乙個複雜的系統配置軟體,它擁有硬體架構的底層資訊。當電腦加電時,bios首先獲得處理器的控制權。它的主要任務是初始化硬體,特別是記憶體子系統,並且從pc的硬碟驅動器中載入作業系統。
在典型的嵌入式系統中,引導引導程式(bootloader)完成與bios相同的功能。對於定製嵌入式系統,你必須在開發計畫中預留出時間,開發針對具體硬體板卡的引導引導程式。幸運的是,有幾個很好的開源引導引導程式可供選擇,你可以按照專案需求進行定製。
下面列出一些引導引導程式在系統加電時完成的重要任務:
初始化關鍵的硬體,比如sdram控制器、i/o控制器和圖形控制器。
初始化系統記憶體,並準備將控制權移交給作業系統。
為外設控制器分配必要的系統資源,比如記憶體和中斷電路。
提供乙個定位和載入作業系統映象的機制。
載入作業系統,並將控制權移交給它,同時傳遞必要的啟動資訊。這些資訊可能包括記憶體總容量、時鐘頻率、串列埠速率和其他與底層硬體相關的配置資料。
需要注意的是:如果你的嵌入式系統基於定製的硬體平台,這些引導引導程式的功能必須由你,也就是系統的設計者來提供。
區別:與桌面pc的bios不同,大多數的嵌入式系統都採用這樣一種架構:當linux核心掌握控制權時,引導引導程式就不復存在了。linux核心要求收回那些之前被引導引導程式所占用的記憶體和系統資源。將控制權交回給引導引導程式的唯一方法就是重啟目標板。
bootloader和bootstrap的區別
bootloader和bootstrap的區別 在 embedded linux primer 上看到的,其實還有一些分歧和不精確的地方,比如bootstrap 和bootstrap loader似乎在pc上還有區別,不過還是不影響理解了 又如redboot redhat embedded debu...
bootloader和bootstrap的區別
在 embedded linux primer 上看到的,其實還有一些分歧和不精確的地方,比如bootstrap 和bootstrap loader似乎在pc上還有區別,不過還是不影響理解了 又如redboot redhat embedded debug and bootstrap 本質是乙個boo...
關於BSP,BIOS,和bootloader區別
bsp是板級支援包,是介於主機板硬體和作業系統之間的一層,應該說是屬於作業系統的一部分,主要目的是為了支援作業系統,使之能夠更好的執行於硬體主機板。bsp是相對於作業系統而言的,不同的作業系統對應於不同定義形式的bsp,例如vxworks的bsp和linux的bsp相對於某一cpu來說儘管實現的功能...