ARM开发心得之遇到问题(三)

 

五、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-BOOTshell

环境下输入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即可。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值