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

NAND 驱动已经挂载在文件系统下后,在应用程序中调用FMD_OEMIoControl函数,问题已经自己解决

楼主#
更多 发布于:2007-09-24 10:57
CE6.0下。

调用hDisk = OpenStore(pszDiskName)获取存储设备的指针,其中pszDiskName为注册表中FLASH驱动注册的键名,我此处定义为MsFlash,并非Folder所定义的值;

然后直接调用
DeviceIoControl(hDisk, IOCTL_DISK_GETINFO, NULL, 0, pDiskInfo, sizeof(DISK_INFO), &cbReturned, NULL)。

通过DeviceIoControl,会调用DSK_IOControl,根据不同的操作码,执行相应操作。
DSK_IOControl中有调用钩子,间接调用FMD_OEMIoControl
zhuxiaofeng
驱动小牛
驱动小牛
  • 注册日期2007-04-06
  • 最后登录2010-04-15
  • 粉丝0
  • 关注0
  • 积分1013分
  • 威望243点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-09-24 12:11
这是CE6.0下面的。
CE5.0下面也行??

在CE6.0下面做CETK测试的时候,用openstore可以打开。
但是CE5.0下面就不行。
做一个出色的程序员!
zzjlovece
驱动牛犊
驱动牛犊
  • 注册日期2006-06-01
  • 最后登录2012-01-06
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望117点
  • 贡献值0点
  • 好评度84点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-10-22 15:42
Re:NAND 驱动已经挂载在文件系统下后,在应用程序中调用FMD_OEMIoContro
simon5430大侠,能不能分享一下您是如何调试CE6下面的nand驱动的 ?
比如说source文件需要如何改?需要链接哪几个库文件?具体的源代码相当5.0需要修改哪些地方?
我现在把5.0下面的nand移植到6.0下面,总是Prefetch Abort ,根据调制信息定位下去确实链接的微软的库文件报错了(DSK_Init   10007fb0 f   fal:falmain.obj),请问我需要如何修改呢?
谢谢了。
simon5430
驱动牛犊
驱动牛犊
  • 注册日期2007-04-06
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望67点
  • 贡献值0点
  • 好评度29点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-10-26 11:23
不好意思,我这边的ARM9是公司自己做的SOC,不是三星或者哪个厂商的,所以NAND控制器也不一样,驱动就完全不一样了。
游客

返回顶部