当前位置: 代码迷 >> WinCE >> K9K8G08U0D-SCB0升级替K9K8G08U0E时系统起不来
  详细解决方案

K9K8G08U0D-SCB0升级替K9K8G08U0E时系统起不来

热度:146   发布时间:2016-04-28 12:01:32.0
K9K8G08U0D-SCB0升级为K9K8G08U0E时系统起不来
大家好,我们目前在用的是K9K8GU0D,现在打算换为K9K8GU0E,都是FLASH,块、页大小这些都是一样的,但换为新的之后系统无法完全正常启动,停在下面的串口信息处:
Windows CE Kernel for ARM (Thumb Enabled) Built on Oct 20 2009 at 18:39:19
INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0xb
+OEMInit()
DCache: 128 sets, 4 ways, 32 line size, 16384 size
ICache: 128 sets, 4 ways, 32 line size, 16384 size
FCLK:400000000, HCLK:133333333, PCLK:66666666
+OALArgsInit()
Arguments area has some values.
-OALArgsInit()
-OEMInit()
OEMGetExtensionDRAM
pm default--->init()
pm default--->PlatformLoadTimeouts()
pm default--->PlatformLoadTimeouts():read value of timeouts
PowerStateManager::PlatformLoadTimeouts: ACSuspendTimeout -1, ACTimeoutToSystemIdle 300000, ACUserIdleTimeout 60000
PowerStateManager::PlatformLoadTimeouts: BattSuspendTimeout 300000,BattTimeoutToSystemIdle 180000, BattUserIdleTimeout60000 
#### FMD_DRIVER:::FMD_OEMIoControl IOCTL (0x71f8c).
FMD_OEMIoControl: IOCTL_FMD_GET_INTERFACE 
#### FMD_DRIVER:::FMD_INIT  111111
 (NAND ID:0xecd3) --> OK.
 NUM_OF_BLOCKS    = 8192 
 PAGES_PER_BLOCK  = 64 
 SECTORS_PER_PAGE = 4 
NUMBLOCKS : 8192(0x2000), SECTORSPERBLOCK = 64(0x40), BYTESPERSECTOR = 2048(0x800) 
#### FMD_DRIVER:::FMD_OEMIoControl IOCTL (0x71c24).
FMD_OEMIoControl: unrecognized IOCTL (0x71c24).
OEM: Not clearing storage
MECC Uncorrectable error(0x90c4)
#### FMD_DRIVER:::FMD_LB_READSECTOR 7
MECC Uncorrectable error(0x90c4)
#### FMD_DRIVER:::FMD_LB_READSECTOR 7
OEM: Not clearing storage
MECC correctable error(0x8c83). Byte:387, bit:3
MECC correctable error(0x8c83). Byte:475, bit:5
MECC correctable error(0x8c83). Byte:346, bit:6
MECC correctable error(0x8c83). Byte:219, bit:0
MECC Uncorrectable error(0x93de)
#### FMD_DRIVER:::FMD_LB_READSECTOR 7
MECC Uncorrectable error(0x93de)
#### FMD_DRIVER:::FMD_LB_READSECTOR 7
麻烦大家帮忙分析下,先谢谢了。
------解决方案--------------------
timing?
------解决方案--------------------
感觉像是你的SECTOR 7 有问题,ecc检验无法纠正。
MECC Uncorrectable error(0x93de) 出现这个是无法纠正吧?

我不知道是否理解正确。
------解决方案--------------------
你有没有标记坏块??烧写的时候跳过坏块,并标记。
FMD_LB_READSECTOR 7 《------为啥七是固定的,我还以为是sector的序号。

另外你检测一些两块片子有啥参数不一样的。

------解决方案--------------------
看一下这个ECC校验部分,看看两者的校验方式是不是有差别
还有就是这个ECC写入到冗余区是否正确,ECC格式是否正确等
关键就这几个了,当然,也不排除Flash坏掉的问题

LZ可以都试试
------解决方案--------------------
如果是时间,看看
#define NAND_TACLS           (7)
#define NAND_TWRPH0        (7)
#define NAND_TWRPH1        (7)
几个宏的值,这几个宏会影响读写等操作。不过不知道你的bsp是不是这个名字。
不过一般我见过的bsp中都是设置最大值7,好像没啥好改。

我以前在2440遇到过这样的情况,新nandflash多次重启后就有坏块,启动不了或者出现严重错误。后来还是在ecc下功夫弄好的。
------解决方案--------------------
从技术手册上看,除了时序没其他区别了,调整一下  TACLS, TWRPH0,TWRPH1 这个几个参数试试.