主题 : wince6无法加载,附串口调试信息! 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 10617
精华: 0
发帖: 38
金钱: 210 两
威望: 54 点
贡献值: 0 点
综合积分: 76 分
注册时间: 2009-11-10
最后登录: 2015-09-22
楼主  发表于: 2012-02-21 19:25

 wince6无法加载,附串口调试信息!

用Tiny6410安装后的工程简单裁剪了一下,编译了一个系统,烧写到板子上,运行不起来,
我是WIN7系统
调试信息如下:

WinCE 6.0 nboot for Mini6410

Reading...Launch Windows CE...
Windows CE Kernel for ARM (Thumb Enabled) Built on Sep 14 2011 at 17:32:03
[OAL] ++OEMInit()
[OAL] S3C6410_APLL_CLK   : 532000000
[OAL] ARMCLK : 532000000
[OAL] HCLK   : 133000000
[OAL] PCLK   : 66500000
[OAL] InitializeGPIO()
[OAL] InitializeCLKSource()
[OAL] InitializeCLKGating()
[OAL] InitializeBlockPower()
DCache: 128 sets, 4 ways, 32 line size, 16384 size
ICache: 128 sets, 4 ways, 32 line size, 16384 size
+OALArgsInit()
SocID:0x36410101
Arguments area is initialized
-OALArgsInit()
+OALTimerInit( 1, 33249, 0 )
-OALIntrRequestSysIntr(irq = 38, sysIntr = 16)
[OAL] --OEMInit()
-[FMD:INF] FMD_Init() : Read ID = 0x449510DA
[FMD] FMD_Init() : NUM_OF_BLOCKS = 2048
[FMD] FMD_Init() : PAGES_PER_BLOCK = 64
[FMD] FMD_Init() : SECTORS_PER_PAGE = 4
[FMD] FMD_Init() : type is SLC1
[FMD] FMD_OEMIoControl() : IOCTL_FMD_GET_INTERFACE
级别: 新手上路
UID: 63576
精华: 0
发帖: 8
金钱: 40 两
威望: 8 点
贡献值: 0 点
综合积分: 16 分
注册时间: 2012-02-21
最后登录: 2012-07-06
1楼  发表于: 2012-02-21 20:51
楼主,我和你遇到一模一样的问题,只是我用的是MLC flash,也是卡在[FMD] FMD_OEMIoControl() : IOCTL_FMD_GET_INTERFACE这里了。


WinCE 6.0 nboot for Mini6410

Reading...Launch Windows CE...
Windows CE Kernel for ARM (Thumb Enabled) Built on Jan 25 2012 at 17:30:19
[OAL] ++OEMInit()
[OAL] S3C6410_APLL_CLK   : 532000000
[OAL] ARMCLK : 532000000
[OAL] HCLK   : 133000000
[OAL] PCLK   : 66500000
[OAL] InitializeGPIO()
[OAL] InitializeCLKSource()
[OAL] InitializeCLKGating()
[OAL] InitializeBlockPower()
DCache: 128 sets, 4 ways, 32 line size, 16384 size
ICache: 128 sets, 4 ways, 32 line size, 16384 size
+OALArgsInit()
SocID:0x36410101
Arguments area is initialized
-OALArgsInit()
+OALTimerInit( 1, 33249, 0 )
-OALIntrRequestSysIntr(irq = 38, sysIntr = 16)
[OAL] --OEMInit()
-[FMD:INF] FMD_Init() : Read ID = 0x507284D5
[FMD] FMD_Init() : NUM_OF_BLOCKS = 2048
[FMD] FMD_Init() : PAGES_PER_BLOCK = 128
[FMD] FMD_Init() : SECTORS_PER_PAGE = 16
[FMD] FMD_Init() : type is MLC2
[FMD] FMD_OEMIoControl() : IOCTL_FMD_GET_INTERFACE
级别: 新手上路
UID: 10617
精华: 0
发帖: 38
金钱: 210 两
威望: 54 点
贡献值: 0 点
综合积分: 76 分
注册时间: 2009-11-10
最后登录: 2015-09-22
2楼  发表于: 2012-02-21 22:35
期待解决方案啊,而且我发现nandflash的驱动好像还没有开源呢?
级别: 新手上路
UID: 10617
精华: 0
发帖: 38
金钱: 210 两
威望: 54 点
贡献值: 0 点
综合积分: 76 分
注册时间: 2009-11-10
最后登录: 2015-09-22
3楼  发表于: 2012-02-22 01:24
找到原因了,因为我打了wince6 2011年全年补丁,网上有说是因为9月份更新了FSDMGR。

其中:

Component: FSDMGR

110907_KB2557486 - The mount store operation is updated to avoid holding on the lock while the mount is being attempted on any store.  

The file(s) with the new source code changes for this component can be found in the directory %_WINCEROOT%\:

private\winceos\coreos\storage\fsdmgr\stgapi.cpp
private\winceos\coreos\storage\fsdmgr\storedisk.cpp
private\winceos\coreos\storage\fsdmgr\storemain.cpp
private\winceos\coreos\storage\fsdmgr\storemain.hpp

该补丁说明

这个补丁包在这边的环境下,会导致启动不了,
现在还在查找具体哪些代码引起的


只要还原这个代码文件,然后重新编译一下,就可以运行了!
级别: 新手上路
UID: 63576
精华: 0
发帖: 8
金钱: 40 两
威望: 8 点
贡献值: 0 点
综合积分: 16 分
注册时间: 2012-02-21
最后登录: 2012-07-06
4楼  发表于: 2012-02-22 17:48
嗯,确实是这个问题,打了最新补丁的WinCE和原有的nandflash驱动不兼容,而且nandflash驱动还不开源,都没法修改。

旧版代码文件可以在WINCE600\Updates\Backup目录下找到,覆盖掉新文件后需要到WINCE600\PRIVATE\WINCEOS\COREOS\STORAGE\FSDMGR目录下去build一下,在WINCE600\PUBLIC\COMMON\OAK\LIB\ARMV4I\RETAIL目录生成新的fsdmgr_lib.lib才可以,否则在使用blddemo -q命令编译系统时还是用的旧的库函数。