2013年9月1日 星期日

U-Boot Source Code

Das U-Boot Source Code

  • The current source code is available through the git repository at git.denx.de.
  • Released Versions (and some special snapshots) are available from the DENX FTP server
  • Snapshots are available using the clever "snapshot" feature of the git server (see the "snapshot" link after all commit entries).
    ALERT! NOTE: even though the download will be a bzip2 compressed tarball, and the file on your disk will be named "*.tar.bz2", you may find that it's actually not compressed at all. This is a "feature" of your web browser, and we cannot do anything to help it.
  • www.denx.de also hosts the Custodian git trees
  • CVS is no longer supported.
  • The old project page at SourceForge is no longer used and dead.
Download U-Boot source code:
FTP server  : ftp://ftp.denx.de/pub/u-boot/
http://www.denx.de/wiki/U-Boot/WebHome


說明:
U-Boot 是一種啟動程式(bootloader or bootcode)
啟動程式(bootloader)於電腦或其他計算機應用上,是指引導操作系統啟動的程式。啟動程式啟動方式與程式視應用機型種類。例如在普通PC上,引導程式通常分為兩部分:第一階段引導程式位於主開機紀錄,用於引導位於某個分割上的第二階段引導程式,如NTLDRGNU GRUB等。
BIOS 開機完成後,bootloader就接手初始化硬體設備、建立記憶體空間的對映,以便為作業系統內核準備好正確的軟硬體環境。
簡單的bootloader的虛擬組譯碼,如其後的八個指令:
0: 將P暫存器的值設為8
1: 檢查紙帶({paper tape)讀取器,是否已經可以進行讀取
2: 如果還不能進行讀取, 跳至1
3: 從紙帶讀取器,讀取一byte至累加器
4: 如為帶子結尾,跳至8
5: 將暫存器的值,儲存至P暫存器中的數值所指定的位址
6: 增加P暫存器的值
7: 跳至1 但是隨著電腦作業系統越來越複雜,位於MBR的空間已經放不下引導作業系統的代碼,於是就有了第二階段的引導程式,而MBR中代碼的功能也從直接引導作業系統變成了引導第二階段的引導程式。

Das U-Boot 簡介
Das U-Boot 是一個主要用於嵌入式系統開機載入程式,可以支援多種不同的計算機系統結構,包括PPCARMAVR32MIPSx8668kNiosMicroBlaze。這也是一套在GNU通用公共許可證之下發布的自由軟體
Das U-Boot可以在x86電腦上建構,但這部x86電腦必須安裝有可支援特定平台結構的交互發展GNU工具鏈,例如crosstoolEmbedded Linux Development Kit (ELDK)或OSELAS.Toolchain
功能

支援的檔案系統

 歷史

這個計畫起源於 Magnus Damm.[1] 在 8xx PowerPC 架構下寫的開機載入程式8xxROM。1999 年十月,Wolfgang Denk 將計畫移轉到 SourceForge.net,但 SourceForge.net 不允許數字開頭的專案名稱,所以改名為 PPCBoot。PPCBoot 在 2000年 7 月 19 日第一次公開發布 0.4.1 版。
連結

下面的參考了這篇文章,http://blog.csdn.net/makethyme/archive/ 2007/06/30 /1672456.aspx我又加入了一些交叉編譯需要的檔,可以讓用戶自己先現在好。這樣速度快。
  
下載了最新的U-BOOT- 1.3.2,採用3.4.13.3.2版本的交叉工具編譯有軟浮點的問題,
本來想通過網上找個做好的交叉工具,但是一直沒有找到。只有一份介紹製作交叉
工具的文章。最後只能通過這種方式製作一份。下面把我的製作過程寫下來。
1
)以root登陸,創建一個cross的普通用戶。
2
)創建目錄/opt/crosstool/並修改並修改其ownercross。是因為此crosstool不能以root安裝,而須以username安裝,安裝過程會讀寫此目錄,故需要修改屬主。
3
)以用戶cross登陸
4
創建目錄/home/cross/downloads這個目錄將來用於自動從網上下載gcc, binutiltyglibc等。如果自己已經下載了這些套裝軟體,也放在這個目錄下,這樣就不用程式自動從網上下載了。
   
建議客戶先下載。做這個交叉工具需要以下幾個檔:
    binutils-2.15.tar.bz2
    gcc-3.4.5.tar.gz
    glibc-2.3.6.tar.gz
    glibc-linuxthreads-2.3.6.tar.gz
    linux-2.6.8.tar.gz
    linux-libc-headers-2.6.12.0.tar.bz2
   
以上幾個檔採用迅雷下載比較快。下載後放到downloads下麵。
5
http://kegel.com/crosstool/下載crosstool-0.43.tar.gz到目錄/opt/crosstool
6
cd /opt/crosstool tar xzvf crosstool-0.43.tar.gz
7
進入crosstool-0.43目錄,執行sh demo-arm-softfloat.sh然後生成了交叉編譯工具。我看了一下,壓縮之後大約170M,沒有辦法上傳了。所以建議通過上述方式自己建一個。
編譯測試沒有問題。

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。