dunken 发表于 2012-12-8 01:29:44

U-BOOT下载错误!

本帖最后由 dunken 于 2012-12-8 01:30 编辑

关于TQ提供的U-BOOT的BUG问题
当U-BOOT的大小超过25KB时,会发生启动代码下载不完全的问题。
#define MTDIDS_DEFAULT "nand0=nandflash0"
#define MTDPARTS_DEFAULT "mtdparts=nandflash0:256k(bios)," ...

希望能把它调大点,不然对于下载大于256KB的启动代码就不好搞!
问题一:
ARM2440 > usbslave
USB host is connected. Waiting a download.
get downloadFileSize = 193282 !!
Now, Downloading
RECEIVED FILE SIZE:193282 (188KB/S, 1S)
ARM2440 > nand erase 0x0 0x40000
NAND erase: device 0 offset 0x0, size 0x40000
Erasing at 0x20000 -- 100% complete.
OK
当使用命令“nand write.jffs2 0x30000000 bios $(filesize)”出现错误如下:
ARM2440 > nand write.jffs2 0x30000000 bios $(filesize)
NAND write: device 0 offset 0x0, size 0x2f2f8
Attempt to write non page aligned data
193272 bytes written: ERROR
当使用命令“nand write.jffs2 0x30000000 bios”则正常下载!
ARM2440 > nand write.jffs2 0x30000000 bios
NAND write: device 0 offset 0x0, size 0x60000
393216 bytes written: OK
ARM2440 >
命令“nand write.jffs2 0x30000000 bios $(filesize)”在我原来的U-BOOT-1.3.4中没有问题!希望高手能解决下!
关于这个“filesize”还真不知道怎么弄!

问题二:
怎样将U-BOOT-2010.06版本中的dm9000网卡驱动移植到U-BOOT-2010.09?
U-BOOT-2010.09的网卡驱动好像有问题,而2010.06没问题!
在使用“tftpboot ”下载时,等待不到2秒钟,就自动重启了!



embedsky_lhh 发表于 2012-12-8 09:22:31

$(filesize) 这个你要在USB下载完成之后根据接收的数据包总长度,设置下这个环境变量,第二个问题,你修改下tftp超时时间试试。如果还是不行,可以对比下bank初始化和他们的地址配置对了么?

Linux_Cult 发表于 2012-12-8 10:50:36

$(filesize)这个你要在USB下载完成之后根据接收的数据包总长度,也就是你要烧写的uboot镜像的实际大小!
出错是因为你的uboot镜像的实际大小不是NAND页大小的整数倍造成的,你可以在NAND 的写函数中处理一下传入的size参数,使之是NAND页大小的整数倍。

dunken 发表于 2012-12-8 22:10:04

Linux_Cult 发表于 2012-12-8 10:50 static/image/common/back.gif
$(filesize)这个你要在USB下载完成之后根据接收的数据包总长度,也就是你要烧写的uboot镜像的实际大小!
出 ...

嗯谢谢提示   我再去整改下 试一试   

dunken 发表于 2012-12-8 22:13:21

embedsky_lhh 发表于 2012-12-8 09:22 static/image/common/back.gif
$(filesize) 这个你要在USB下载完成之后根据接收的数据包总长度,设置下这个环境变量,第二个问题,你修改 ...

dm9000_halt函数已经屏蔽了
还有
注释了dm9000_init函数中的
#if 0
i = 0;
while (!(phy_read(1) & 0x20)) { /* autonegation complete bit */
udelay(1000);
i++;
if (i == 10000) {
   printf("could not establish link\n");
   return 0;
}
}
#endif

不知道这样修改对不对,BANK4设置的一样的

Linux_Cult 发表于 2012-12-10 10:41:17

你不是USB烧写么,你怎么改DM9000了呢?其实你只要改common/cmd_nand.c
页: [1]
查看完整版本: U-BOOT下载错误!