五、U-BOOT安裝後出現的三個問題
(一)ASK:自己作的扳子,最近調試時出現了一個問題,就是如下所示:
U-Boot 1.1.1----www.21spacetime.net (Aug 22 2008 - 12:04:08)
U-Boot code: 0C700000 -> 0C721338 BSS: -> 0C755C84
RAM Configuration:
Bank #0: 0c000000 8 MB
## Unknown FLASH on Bank 0 - Size = 0x00000000 = 0 MB
Flash: 0 kB
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
## Booting image at 00050000 ...
Bad Magic Number
ANSWER:原因就是無法正確顯示FLASH容量,修改步驟如下:
自己用的是sst39VF6401B
1.修改board/hfrk/common flash.c 在static ulong flash_get_size (vu_long *addr, flash_info_t *info)中增加目標板芯片
case (CFG_FLASH_WORD_SIZE)SST_ID_39VF6401B: /* add by liyingxiang */
info->flash_id += FLASH_SST39VF6401B; /* flash id unkonw */
info->sector_count = 128;
info->size = 0x00800000;
break; /* => 8 MB */
2.修改u-boot/include/flash.h 增加flash的型號說明。
#define SST_ID_39VF6401B 0x236D236D /* 39xVF3201 (8M = 4K *1024K x 16bit --changed by liyingxiang */
#define FLASH_SST39VF6401B 0x236D /* SST 39VF6401B ID (4M ) added by liyingxiang*/
3.修改u-boot/include/configs/hfrks3c44b0.h文件
#define PHYS_FLASH_SIZE 0x00800000 /* 8 MB ---- changed by liyingxiang */
經過上述修改,一切都搞定了,搞了幾天原因在於自己沒有找到正確的ID號,自己一直用的ID號是6401的,而不是6401B的(原來這個是有區別的)。
現在改完之後看看還是比較爽的阿。呵呵
U-Boot code: 0C700000 -> 0C7212E4 BSS: -> 0C755C30
RAM Configuration:
Bank #0: 0c000000 8 MB
Flash: 8 MB
曾經一度就是這個原因導致我無法下載uclinux,無法擦除FLASH的程序區,強烈的BS自己不嚴謹的態度。
(二)關於s3c44b0 *** Warning - bad CRC, using default environment問題的解決
這是下載U-BOOT之後遇到的一個小問題,但是網上查了若干資料都不能得到有效的解決辦法:
現在問題如下所示:
U-Boot 1.1.1----www.21spacetime.net (Aug 27 2008 - 16:06:54)
U-Boot code: 0C700000 -> 0C7212E4 BSS: -> 0C755C30
RAM Configuration:
Bank #0: 0c000000 8 MB
Flash: 8 MB
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
就是一個警告:*** Warning - bad CRC, using default environment,解決辦法就是在U-BOOT的shell
環境下輸入SAVE即可,原因是以前啓動時是沒有保存參數,現在保存好了之後,問題迎刃而解。
hfrks3c44b0=>save
Saving Environment to Flash...
Un-Protected 1 sectors
Erasing Flash...
done
Erased 1 sectors
Writing to Flash... done
Protected 1 sectors
hfrks3c44b0=>
(三)關於超級終端無法正確顯示的問題:
該問題可能是由於串口的線路上的串擾造成,可以適當降低波特率,將其值改爲19200,該問題就可以解決了。需要在U-BOOT下修改其參數:set baudrate 19200之後save即可。