Linux環境: Ubuntu 11.10
交叉編譯工具:arm-linux-gcc4.3.2
目標板:mini2440 Flash 256M
u-boot源代碼:由友善之臂提供,基於1.1.6版本修改後的FriendlyARM修改過的U-Boot.1.1.6
下載在Linux公社的1號FTP服務器裡,下載地址:
FTP地址:ftp://www.linuxidc.com
用戶名:www.linuxidc.com
密碼:www.muu.cc
在 2011年LinuxIDC.com\12月\Android_sdk_linux_x86.tar.gz 下載
下載方法見 http://www.linuxidc.net/thread-1187-1-1.html
下面馬上進入我們的編譯之旅!
1、解壓縮源碼包
這時候將會出現第一個問題:
3、make open24x0_config
配置板子資源
4、刪除Makefile.l文件,否則make的時候會出現一些錯誤
5、make
編譯出現錯誤:
之後編譯還是會出現問題。通過找查找論壇資料,一位網友提出make distclean可以解決問題!
make distclean
make open24x0_config
make
6、編譯成功
7、在display_banner()函數裡面加入自己的一些調試顯示信息
printf("###Hello u-boot!My name is care###n\");
8、再次編譯u-boot
9、將u-boot.bin燒寫到板子的0x33000000地址上
10、復位一下板子,通過超級終端可以看到調試信息
###hello u-boot!My name is care###
大功告成。
最近公司忙著趕項目,我負責的是之前沒有接觸過的u-boot 。浪費了3天時間,都是在做無用功。主要的原因是切入點不對,3天的時間主要都用來跟著網上的高手移植u-boot。對於源碼的閱讀反而不是很多。看到了一篇文章(http://www.linuxidc.com/Linux/2011-12/50150p2.htm),描述了作者初學u-boot的心得。很有體會,在此附上連接。希望對和我一樣的bootloader初學者能有幫助。