simon5430
驱动牛犊
驱动牛犊
  • 注册日期2007-04-06
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望67点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
阅读:3157回复:7

有谁搞过WINCE 6.0 R2下面新的MDD+PDD+FMDj架构的nand flash驱动?紧急

楼主#
更多 发布于:2008-04-03 15:31
CE 6.0 R2支持MLC nand,以前的FAL+FMD架构的算法不支持MLC驱动。

本人现在遇到了困难,在MDD里面出行了错误,FLASH驱动无法加载,打印如下:

FSDMGR!PNPThread: PNPThread starting!                                          
er\AutoLoad, FileSystem_t=Nand                                                  
FSDMGR!AutoLoadBlockDevice: Auto-loading block driver from "Drivers\BuiltIn\Nand
"FSDMGR!MountStore:Attaching new storage device "Nand"FSDMGR!MountStore: Failed
 mounting store "Nand"; error=8                        
FSDMGR!StoreDisk_t::~StoreDisk_t: deleting store (D0042630)FSDMGR!AutoLoadFileSy
stems: Unable to auto-load HKLM\System\StorageManager\AutoLoad\Nand; error=8FSDM
GR!STOREMGR_StartBootPhase BootPhase=1 (PrevBootPhase=0)                        
FSDMGR!AutoLoadFileSystems: CurrentBootPhase=1, LoadFlags=1              

PDD的源代码微软已经开发了,但是MDD只提供了LIB文件,无法进行定为。

另外,帮助文件也只有很少的信息,现在不知道该怎么弄了。 注册表的设置也不知道是否正确,

希望哪位调试过此驱动的高人指点一下。非常感谢。网上搜索到很少的一点点信息。

zhuxiaofeng
驱动小牛
驱动小牛
  • 注册日期2007-04-06
  • 最后登录2010-04-15
  • 粉丝0
  • 关注0
  • 积分1013分
  • 威望243点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-04-07 11:16
我调试过,
想先确定一下,你以前的FAL+FMD是否好用?
如果好用应该问题不大。
做一个出色的程序员!
microsun
论坛版主
论坛版主
  • 注册日期2002-11-11
  • 最后登录2014-07-18
  • 粉丝0
  • 关注0
  • 积分1052分
  • 威望1159点
  • 贡献值0点
  • 好评度848点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-04-07 22:49
根据错误信息,像是内存不足啊
学海无涯
carlward
驱动牛犊
驱动牛犊
  • 注册日期2006-08-08
  • 最后登录2010-06-22
  • 粉丝0
  • 关注0
  • 积分87分
  • 威望79点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-04-09 23:56
我还在学习WIN CE,没有动手改过,帮不了你哈。
simon5430
驱动牛犊
驱动牛犊
  • 注册日期2007-04-06
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望67点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-04-10 11:00
FAL+FMD的架构早调试过了,支持SLC的NAND flash,跑的一点问题都没有。

哪位调试过,帮帮忙。谢谢了。
tengyeyan
驱动牛犊
驱动牛犊
  • 注册日期2003-11-29
  • 最后登录2008-07-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-04-17 14:52
我做过的,能不能告知你的注册表设置?主要是注册表的修改
tengyeyan
驱动牛犊
驱动牛犊
  • 注册日期2003-11-29
  • 最后登录2008-07-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2008-04-17 15:06
将你的FMD与微软的PDD链接 成为一个DLL. 该DLL的DEF文件flashpdd.def需要下面的内容:
LIBRARY     FlashPdd

EXPORTS
        DSK_Init=FlashPdd_Init
        DSK_Deinit=FlashPdd_Deinit
        DSK_Open=FlashPdd_Open
        DSK_Close=FlashPdd_Close
        DSK_Read=FlashPdd_Read
        DSK_Write=FlashPdd_Write
        DSK_Seek=FlashPdd_Seek
        DSK_IOControl=FlashPdd_IoControl
        DSK_PowerDown=FlashPdd_PowerDown
        DSK_PowerUp=FlashPdd_PowerUp

另外在链接生成DLL时,不要忘记链接fmdhooklib.lib这个静态库。

注册表的设置:
驱动加载的时候,flashmdd.dll会先加载,然后flashmdd.dll会根据注册表来加载你的Nand Flash DLL(就是上面所提过的MDD+PDD, 假设该DLL名称为flashpdd_nand.dll).另外对于Windows CE 6.0 R2,微软针对Nand Flash设备提供了一个新的partition driver,叫做flashpart.dll,以取代传统的mspart.dll。所以在注册表的设置中也需要将这点体现出来。

Sample Registry setting:

[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\FlashDisk]
    "Name"="NAND FLASH"
    "Folder"="NAND Flash"
    "AutoPart"=dword:1
    "AutoFormat"=dword:1
    "PartitionDriver"="flashpart.dll"


[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\NAND_Flash]
    "Profile"="FlashDisk"
    "IClass"=multi_sz:"{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
    "Order"=dword:0
    "FriendlyName"="Samsung NAND FLASH Driver"
    "Dll"="flashmdd.dll"
    "FlashPddDll"="flashpdd_nand.dll"
    "Prefix"="DSK"
simon5430
驱动牛犊
驱动牛犊
  • 注册日期2007-04-06
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望67点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2008-04-21 16:03
谢谢tengyeyan,我早已经搞定了。

这样大家都知道该如何进行MDD+PDD+FMD的配置了,哈哈。
游客

返回顶部