UBOOT-2012-10在OK6410平台的移植(四)uboot 2012.10 raise: Signal # 8 caught的问题

 Signal # 8 caught的问题:

网上可以找到资料说是arch/arm/cpu/arm1176/s3c64xx/timer.c里面的变量因为版本差异而不同的问题

可找到有DECLARE_GLOBAL_DATA_PTR的正确的timer.c替换掉或者自己动手打补丁。
打补丁的方法:

  正确的为timer1.c,需要修改的为timer.c

diff timer.c timer1.c > timer.patch

patch ./timer.c < timer.patch

打完补丁后编译可能会发现有提示关于timer的结构体及函数没有定义,这是因为新的timer.c里面的结构体定义跟#include <asm/arch/s3c6410.h>定义的不一样,主要就是大小写的问题。在这里我找了个新的S3C6410.h,里面关于外设寄存器的定义比原来从SMDK6400拷贝而来的那个smdk6410.h要全面的得多。

另外如果在driver/serial/s3c64xx.c里面也有结构体或函数未定义的问题。修改成和smdk6410.h里面一样就可以了。
打完补丁,屏蔽掉hang();

编译后下载运行:

U-Boot 2012.10 (Nov 06 2012 - 15:10:19) for SMDK6410



CPU: S3C6410@533MHz

Fclk = 533MHz, Hclk = 133MHz, Pclk = 66MHz (ASYNC Mode)

Board: SMDK6410

DRAM: 256 MiB

WARNING: Caches not enabled

Flash: *** failed ***

NAND: No oob scheme defined for oobsize 218

2048 MiB

*** Warning - bad CRC, using default environment


In: serial

Out: serial

Err: serial

Net: CS8900-0

Hit any key to stop autoboot: 0

SMDK6410 #
可以看到u-boot已经运行起来了,但有个NAND:  No oob scheme defined for oobsize 218的提示。而且网卡的驱动不对,ok6410开发板上的网卡芯片是DM9000而非cs8900,所以要修改驱动,使其支持DM9000。

 timer.c s3c6410.h.zip







阅读(2) | 评论(0) | 转发(0) |
评论热议
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章