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) |
評論熱議
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章