鑒於u-boot的2010.09版本之後的結構發生很大變化,特別是它啟動步驟的改變,使得支持Nand flash啟動支持的困難,我嘗試了幾次,最後從Nand flash啟動後uboot的指令卻無法支持了,而2010.09版本是U-boot結構發生改變的最後一個版本,其中已添加了S3C2440的支持(不像以前的版本需要在很多文件中的CONFIG_S3C2410後加上CONFIG_S3C2440),於是選擇它作為fl2440的bootloader。
相關閱讀:
U-Boot源代碼下載地址 http://www.linuxidc.com/Linux/2011-07/38897.htm
FL2440的U-boot-2010.09移植(一)http://www.linuxidc.com/Linux/2012-06/63755.htm
FL2440的U-boot-2010.09移植(二)http://www.linuxidc.com/Linux/2012-06/63756.htm
FL2440的U-boot-2010.09移植(三)DM9000網卡及開發板相關配置 http://www.linuxidc.com/Linux/2012-07/64155.htm
FL2440的U-boot-2010.09移植(四) 添加NOR FLash啟動支持 http://www.linuxidc.com/Linux/2012-07/64156.htm
FL2440的U-boot-2010.09移植(五)uboot架構中NAND FLash驅動修改 http://www.linuxidc.com/Linux/2012-07/64157.htm
FL2440的U-boot-2010.09移植(六)NAND FLash啟動支持 http://www.linuxidc.com/Linux/2012-07/641587.htm
FL2440的U-boot-2010.09移植(七)LCD的支持 http://www.linuxidc.com/Linux/2012-07/641587.htm
針對FL2440開發板的u-boot-2010.09版本補丁 http://www.linuxidc.com/Linux/2012-07/64116.htm
在Uboot中添加fl2440開發板的支持
1、打開U-boot-2010.09解壓目錄下的boards.cfg在smdk2410後添加fl2440的配置選項:
2、在/board子目錄中建立自己的開發板fl2440目錄
www.linuxidc.com @linuxidc:~/Desktop/uboot/u-boot-2010.09$ cd board
www.linuxidc.com @linuxidc:~/Desktop/uboot/u-boot-2010.09/board$ mkdir fl2440
www.linuxidc.com @linuxidc:~/Desktop/uboot/u-boot-2010.09/board$ cp -arf samsung/smdk2410/* fl2440/
www.linuxidc.com @linuxidc:~/Desktop/uboot/u-boot-2010.09/board$ cd fl2440/
www.linuxidc.com @linuxidc:~/Desktop/uboot/u-boot-2010.09/board/fl2440$ mv smdk2410.c fl2440.c
還要記得修改自己的開發板fl2440目錄下的Makefile文件28行,不然編譯時會出錯:
修改Makefile的依賴文件
COBJS := smdk2410.o flash.o 為 COBJS := fl2440.o flash.o
3、在include/configs/中建立開發板的配置頭文件
www.linuxidc.com @linuxidc:~/Desktop/uboot/u-boot-2010.09$ cp include/configs/smdk2410.h include/configs/fl2440.h
(4)添加fl2440的配置文件,測試編譯能否成功
配置
www.linuxidc.com @linuxidc:~/Desktop/uboot/u-boot-2010.09$ make fl2440_config
Configuring for fl2440 board...
測試編譯
www.linuxidc.com @linuxidc:~/Desktop/uboot/u-boot-2010.09$ make
正常情況下應該輸出成功了
注意:如果編譯時出現以下錯誤(這是編譯器的問題,沒出錯就不要修改):
uses hardware FP, whereas u-boot uses software FP
修改的方法:cpu/arm920t/config.mk的21行:PLATFORM_RELFLAGS += -fno-common -ffixed-r8 #-msoft-float ,刪除msoft-float項。然後clean一下,重新make