打印

NAND flash升级linux后反复启动

[复制链接]
3802|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yinmeren|  楼主 | 2013-4-22 20:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作如下,问题依旧:
1,升级norflash的uboot
2,格式化nandflash
3,按照说明升级uboot,**,kernel,filesystem,升级filesystem打印如下:
Now, Downloading [ADDRESS:30000000h,TOTAL:53813770]
RECEIVED FILE SIZE:53813770 (648KB/S, 81S)

NAND erase: device 0 offset 0x640000, size 0xf9c0000
Skipping bad block at  0x03000000
Skipping bad block at  0x03020000
Skipping bad block at  0x03320000
Skipping bad block at  0x037a0000
Skipping bad block at  0x043c0000
Skipping bad block at  0x0a100000
Skipping bad block at  0x0b220000
Skipping bad block at  0x0b960000
Skipping bad block at  0x0cb40000
Erasing at 0xffe0000 -- 100% complete.
OK

NAND write: device 0 offset 0x640000, size 0x3352200

Bad block at 0x3000000 in erase block from 0x3000000 will be skipped
Bad block at 0x3020000 in erase block from 0x3020000 will be skipped
Bad block at 0x3320000 in erase block from 0x3320000 will be skipped
Bad block at 0x37a0000 in erase block from 0x37a0000 will be skipped
Writing data at 0x38a3800 -- 100% complete.
53813760 bytes written: OK

4,nandflash 启动反复打印如下信息:
---------------------------------------------+
| S3C2440A USB Downloader ver R0.03 2004 Jan  |
+---------------------------------------------+
USB: IN_ENDPOINT:1 OUT_ENDPOINT:3
FORMAT: <ADDR(DATA):4>+<SIZE(n+10):4>+<DATA:n>+<CS:2>
NOTE: Power off/on or press the reset button for 1 sec
      in order to get a valid USB device address.

Press Space key to Download Mode !
Booting Linux ...
Copy linux kernel from 0x00240000 to 0x30008000, size = 0x00300000 ... Copy Kernel to SDRAM done,NOW, Booting Linux......
data abort
pc : [<30008a48>]    lr : [<300080f0>]
sp : 302b1400  ip : 00000024  fp : 302b03e0
r10: 40000000  r9 : 30000000  r8 : 30008000
r7 : 0000270f  r6 : 302b03b8  r5 : 73c590d6  r4 : 30008000
r3 : 0000270f  r2 : 302c1410  r1 : 302b1410  r0 : 302c1410
Flags: nzCv  IRQs off  FIQs off  Mode SVC_32
Resetting CPU ...

*** Warning - bad CRC or NAND, using default environment

UPLLVal [M:38h,P:2h,S:2h]
MPLLVal [M:5ch,P:1h,S:1h]
CLKDIVN:5h
请问这个是什么问题啊?

相关帖子

沙发
yinmeren|  楼主 | 2013-4-22 20:38 | 只看该作者
下面是格式化时候的打印:
NAND scrub: device 0 whole chip
Warning: scrub option will erase all factory set bad blocks!
         There is no reliable way to recover them.
         Use this command only for testing purposes if you
         are sure of what you are doing!

Really scrub this NAND flash? <y/N> : y
Erasing at 0x280000 --   1% complete.
NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5
Erasing at 0x2e00000 --  18% complete.
NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5

NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5
Erasing at 0x30a0000 --  19% complete.
NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5
Erasing at 0x35c0000 --  21% complete.
NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5
Erasing at 0x4280000 --  26% complete.
NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5
Erasing at 0x9ea0000 --  62% complete.
NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5
Erasing at 0xb0a0000 --  69% complete.
NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5
Erasing at 0xb840000 --  72% complete.
NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5
Erasing at 0xca20000 --  79% complete.
NAND 256MiB 3,3V 8-bit: MTD Erase failure: -5
Erasing at 0xffe0000 -- 100% complete.
OK

使用特权

评论回复
板凳
jlass| | 2013-4-23 09:48 | 只看该作者
从你的描述来看应该是内核就没起来。
可能性比较多,内存的高位地址有问题,或者拷贝的速度太快,或者nand的写不好等等都有可能。
我建议你可以把内核的debug功能打开,可以适当的排除一些问题。

使用特权

评论回复
地板
zbhbyc| | 2013-4-23 10:04 | 只看该作者
nand里有坏块,建议换个nand试试

使用特权

评论回复
5
jlass| | 2013-4-23 10:09 | 只看该作者
zbhbyc 发表于 2013-4-23 10:04
nand里有坏块,建议换个nand试试

有坏块是很正常的事情,并不影响使用

使用特权

评论回复
6
francis_hao| | 2014-8-16 21:53 | 只看该作者
楼主问题解决了吗?我的现在也出现这种情况,烧录内核的时候检测到坏块并跳过了,我猜想是拷贝内核到ram的时候没有跳过坏块导致数据错误,但不知道怎么解决。

使用特权

评论回复
7
shell.albert| | 2014-8-16 22:22 | 只看该作者
如果Flash是好的话,那肯定就不是这的事。
以前碰到过使用emmc4.4的flash跟使用emmc4.5的使用就有区别,必须要修改drivers/mmc/core/mmc.c驱动程序跳过版本检测才能正常工作。你这个也有可能是旧驱动跟新芯片不兼容所致。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝