五、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即可。