OK6410編譯U_BOOT,使之支持DM9000AE(一)

步驟如下:


#tar zxf uboot1.26_FORLINX_6410.tgz  –C  /home/FOLINX_SHARE/uboot1.1.6_256M      解壓,解壓到/home/FOLINX_SHARE/uboot1.1.6_256M目錄下

#cd  /home/FOLINX_SHARE/uboot1.1.6_256M                進入/home/FOLINX_SHARE/uboot1.1.6_256M目錄


  移植的原因:

由於OK6410所用的網卡是DM9000AE的,而飛凌提供的U_BOOT的網卡驅動是CS8900,所以在U_BOOT中要改。

修改的方法參見:http://bbs.witech.com.cn/thread-4704-1-1.html

ok6410 u-boot dm9000 驅動補丁 patch
解壓ok6410 或 ok6410b 對應的u-boot源代碼
下載附件,覆蓋u-boot源文件裏面的同名文件,然後
打開文件 include/configs/smdk6410.h
找到
#ifdef  CONFIG_DRIVER_SMC911X   
#undef  CONFIG_DRIVER_CS8900   
#define CONFIG_DRIVER_SMC911X_BASE      0x18800300
#else
#define CONFIG_DRIVER_CS8900    0       /* wehave a CS8900 on-board */
#define CS8900_BASE            0x18800300
#define CS8900_BUS16            1      /* the Linux driver does accesses as shorts */
#endif
替換爲
#define CONFIG_DRIVER_DM9000AE  1
#define CONFIG_DRIVER_DM9000    1
#define CONFIG_DM9000_BASE      (0x18000000)
#define DM9000_IO              (CONFIG_DM9000_BASE)
#define DM9000_DATA             (CONFIG_DM9000_BASE+0x4)
//#define CONFIG_DM9000_DEBUG     1
#define CONFIG_DM9000_USE_16BIT 1

make smdk6410_config   配置
make 編譯,把編好的u-boot.bin寫到開發板裏面就可以用網卡了

 

附件:D:\嵌入式學習資料\ARM11  u-boot-dm9000-patch


u_boot.bin下載到開發板的方法:

         參見OK6410-A開發板LINUX2.6.28用戶手冊 製作用於一鍵燒寫LINUX的SD卡的方法。


OK6410編譯U_BOOT,使之支持DM9000AE 並支持NFS(二)

由於項目中的需要,之前使用的linux2.6.28的OK6410交叉環境破壞了,重新燒寫linux2.6.36,使之支持QT4.7的。

後來要修改回來,使之支持NFS掛載,那麼就要修改u_boot.bin,使之支持DM9000AE的。按照以前的方法,出現如下錯誤:

進入linux系統(2.6.36)以後發現:一大片s3c-nand: ECC uncorrectable error detected 提示。
請問:原因是什麼? 如何解決?
s3c-nand: ECC uncorrectable error detected
s3c-nand: ECC uncorrectable error detected
s3c-nand: ECC uncorrectable error detected
s3c-nand: ECC uncorrectable error detected

····

參考網上的解決:

部分用戶第一次燒寫linux && Android系統的時候會遇到s3c-nand: ECC uncorrectable error detected這樣的問題,出現這樣的問題的時候請按照下面的步驟解決:

1.uboot命令行中運行下面命令:

nand erase 0

該命令將刪除整塊nandflash。

2.使用SD啓動的uboot重新燒寫各個鏡像文件。

請按照下面的步驟調試:

1.使用uboot下使用nand erase 0擦除flash。

2.使用SD啓動的uboot燒寫nand啓動的uboot。

3.使用nand啓動的uboot燒寫linux內核與cramfs。

我編譯的Uboot是飛凌linux2.6.26中自的,在linux2.6.36當中,無法編譯成功,開發環境爲ubuntu10.04,交叉工具鏈爲gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72)

編譯好後,利用SD一鍵燒寫,可以了··················


u-boot.bin 是自己修改過的,支持DM9000
zImage和cramfs的飛凌自帶的

爲了能夠掛載NFS和根文件系統。在uboot狀態下修改參數如下:

setenv ipaddr 192.168.0.50

setenv serverip 192.168.0.47

setenv gatewayip 192.168.0.1

setenv bootdelay 3

setenv bootargs console=ttySAC0,115200 root=/dev/nfs nfsroot=192.168.0.47:/sheng/filesystem,proto=tcp,nfsvers=3,nolock ip=192.168.0.50




此外,以上操作,無關內核的事,故不用修改內核的任何東西

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章