⑴ Uboot編譯為什麼沒有生成elf格式的文件
1、通過gcc編譯出來的是elf文件
2、通過objcpy可以把elf文件轉換為bin文件
CC=ppc-gcc
LD=ppc-ld
OBJCOPY=ppc-obj
$(CC)-g$(CFLAG)-cboot.S
#先將boot.S文件生成boot.o
$(LD)-g-Bstatic-T$(LDFILE)
-Ttext0x12345600boot.o
--start-group-Mapboot.map-oboot.elf
#再將boot.o生成boot.elf
$(OBJCOPY)-Obinary-R.note-R.comment-Sboot.elfboot.bin
#接著將boot.elf轉換為boot.bin
#使用-Obinary(或--out-target=binary)輸出為原始的二進制文件
#使用-R.note(或--remove-section)輸出文件中不要.note這個section,縮小了文件尺寸
#使用-S(或--strip-all)輸出文件中不要重定位信息和符號信息,縮小了文件尺寸
⑵ 編譯Uboot是不是要在linux上安裝ELDK
我的之前也是可以編譯內核,但是u-boot有問題,不過我的問題是找不到 lgcc ,最後發現是頂層Makefile中的」$(shell $(CC) $(CFLAGS) -print-libgcc-file-name) )「這一句無法執行成功,直接替換為lgcc所在路徑就可以編譯成功。
⑶ uboot怎麼樣才可以編譯成自己的u-boot.bin
按照uboot移植手冊,修改源代碼,然後用交叉編譯工具編譯,就會生成uboot.bin文件了。
⑷ ubuntu 編譯uboot需要哪些工具,哎,新手,詳細點哦,親
1.首先安裝基本編譯環境:sudo apt-get install build-essential
2:先把交叉編譯環境包放到你的共享目錄,(我這里的版本是:arm-linux-gcc-4.4.3.tar.gz)
3:進行解壓 tar zxvf arm-linux-gcc-4.4.3.tar.gz -C (要解壓的路徑)
比如:tar zxvf arm-linux-gcc-4.4.3.tar.gz -C ~/ (root 用戶的工作目錄)
4:然後設置環境變數:export PATH=$PATH:~/opt/FriendlyARM/toolschain/4.4.3/bin
5:要想系統啟動自動載入環境變數:
1:普通用戶:vim .bashrc 在最後添加你的環境變數:export PATH=$PATH:~/opt/FriendlyARM/toolschain/4.4.3/bin
2:root用戶:vim .bashrc 在最後添加你的環境變數:export PATH=$PATH:~/opt/FriendlyARM/toolschain/4.4.3/bin
⑸ 編譯android過程中,uboot報錯
uboot是引導程序,android是系統,兩者之間是兩個獨立工程,使用Uboot的目的只是為了引導Andriod的Linux內核和ramdisk(如果有需要使用ramdisk的話)。如果uboot通過屏蔽通過 ****.h文件中拿掉一些宏定義,使uboot編譯通過。那麼Andriod編譯時候,也應該對一下宏進行屏蔽。
⑹ 在WINDOWS下編譯UBOOT需要什麼工具,還有過程
我是這樣做的,我在win7下安裝了virtualbox虛擬機,然後再虛擬機上安裝了一個ubuntu的linux系統,然後安裝交叉編譯器GCC,然後就可以在uboot源碼目錄下直接編譯了。。。先配置uboot 然後make,就自己編譯了。。。windows平台下不知道能不能編譯,你網路看看或者等待其它大神幫你。。。陪LZ等答案哈
⑺ 為什麼編譯uboot,編譯內核
內核有很多文件,受眾都不一樣。比如李納斯把一些分布式文件系統的代碼(Lustre)也弄進內核源代碼了,很多時候這些內核文件是不需要的,像基於linux系統的手機就不需要Lustre的功能,所以你下載源代碼(linux-kernel)後要自己編譯,只提取你自己需要的東西,這樣可以減少空間佔有量。
底層開發的內容有很多,驅動開發,比如各種廠商的硬碟(西數、三星等等),驅動文件是不一樣的,這時你可以寫一個自己的驅動文件,同時支持各種廠商的硬碟,然後廠商硬碟升級,驅動信息改變了,這是你要跟上變化,修改自己的驅動文件,這個過程叫「維護」。
個人觀點,僅供參考
⑻ uboot編譯問題
要用export指定環境變數和編譯器例如
Export PATH=$PATH:/opt/freescale/usr/local/gcc-4.1.78-eglibc-2.5.78-1/powerpc-e300c3-linux-gnu/bin
Export CROSS_COMPILE=powerpc-e300c3-linux-gnu-
⑼ uboot也是用交叉編譯工具編譯的吧 為什麼用交叉編譯工具中沒有make命令呢 該怎樣生效 make
在頂層的makefile中把這段中的examples\目錄刪掉
SUBDIRS = tools \
examples \
post \
post/cpu
試試看 其實編譯進去也沒有任何影響的
從你的截圖看病不是examples的問題,估計可能是你的交叉編譯安裝有問題或者你的u-boot已經在別人的電腦上編譯過了,所以出現問題。看看交叉編譯的環境變數有沒有問題,再不行重裝試試
⑽ uboot用什麼編譯軟體啊 請盡量說的詳細些
用arm-linux-gcc(如果你的處理器是ARM的話),具體有好多版本,一般都是直接用開發板公司提供的,這樣比較保證,因為重新編譯一個編譯器還是比較麻煩的事(想自己編譯一個編譯器的話,就用Cross tools吧)。