linux 移植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。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值