ok6410平台移植uboot时发生Signal # 8 caught的问题
2013-05-24 14:00
441 查看
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。
网上可以找到资料说是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。
相关文章推荐
- UBOOT-2012-10在OK6410平台的移植(四)uboot 2012.10 raise: Signal # 8 caught的问题
- 移植u-boot-2010.03问题 --- raise: Signal # 8 caught
- U-boot2012.10 移植之Signal # 8 caught的问题
- 移植64位发生的问题(跟cltq指令有关)
- 解决Android平台移植ffmpeg的一揽子问题
- Cocos打包移植Android平台问题集锦
- UBOOT-2012-10在OK6410平台的移植(九)MMC驱动
- 古怪问题:vs2003程序 在繁体平台下控件位置发生变化
- S3C6410嵌入式应用平台构建(五)——linux-3.14.4移植到OK6410-(Nand分区问题)
- 64位平台编译常见问题汇总(个人移植问题仅供参考)
- ARM平台下的Qt移植:移植相关问题和解决方法
- UBOOT-2012-10在OK6410平台的移植(八)LCD输出
- ShareSDK向iOS平台移植时问题及解决办法
- 移植linux2.635到s3c2416平台(NANDFLASH问题)
- uboot--内核移植,再次遇到make distclean的问题
- UBOOT-2012-10在OK6410平台的移植从SD卡启动
- UBOOT-2012-10在OK6410平台的移植(七)关于NAND启动
- 解决《 Linux3.6.7在OK6410平台的移植》文章的错误问题
- 解决Android平台移植ffmpeg的一揽子问题
- ok6410 中qt4.4.3的移植过程中一些问题及解决方案