wince下将flash中的内容全部读出来~!

JasonBUG 2008-05-30 10:42:59
硬件:2410 ,64M nandflash,64M RAM

我现在在想在wince下将难道中的内容从地址0,到nandflash结束,全部读出来,
该怎么做!

就好像是给台式电脑做GHOST备份一样,不同的是NANDFLASH为空的地方我们也要读取!

紧急,谢谢
...全文
627 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
wenzhong8551 2009-06-20
  • 打赏
  • 举报
回复
路过,很好的点子,回去试试。
xqhrs232 2008-10-13
  • 打赏
  • 举报
回复
做个记号
gooogleman 2008-10-13
  • 打赏
  • 举报
回复
以前咋就这么多好帖子呢?现在牛人都不见了?
xjfox 2008-06-03
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 so927 的回复:]
引用 12 楼 jlctt 的回复:
修改FMD中FMD_OEMIoControl代码,开放FMD_ReadSector/FMD_WriteSector接口访问,然后用DeviceIoControl去访问整个NAND Flash.


明白您的意思了,我觉得也可以这样实现,谢谢提醒,

不过还有一个问题,我会不会把坏块也一起读出来了,每读一个块我是不是都需要检测一下是不是坏块呢
[/Quote]

是的,需要的
JasonBUG 2008-06-03
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 jlctt 的回复:]
修改FMD中FMD_OEMIoControl代码,开放FMD_ReadSector/FMD_WriteSector接口访问,然后用DeviceIoControl去访问整个NAND Flash.
[/Quote]

明白您的意思了,我觉得也可以这样实现,谢谢提醒,

不过还有一个问题,我会不会把坏块也一起读出来了,每读一个块我是不是都需要检测一下是不是坏块呢
LanceJin 2008-06-02
  • 打赏
  • 举报
回复
修改FMD中FMD_OEMIoControl代码,开放FMD_ReadSector/FMD_WriteSector接口访问,然后用DeviceIoControl去访问整个NAND Flash.
xiaohf702 2008-05-31
  • 打赏
  • 举报
回复
用bootloader读吧,读完后写到SD卡里,呵呵
sdssly 2008-05-31
  • 打赏
  • 举报
回复
这个可以实现,我是通过修改FMD的驱动来实现 nandflash有ECC数据,你读取的时候要分析一下

看看nandflash的datasheet和你的CPU的nandflash控制,也可以通过App直接操作实现
shuiyan 2008-05-31
  • 打赏
  • 举报
回复
是标准的流接口,其实还是用DSK驱动就行,只是你自己设计一个原来没有的IOCONTROL_CODE,通过Device的IOControl()函数传下去时,在NAND FLASH的驱动中的IOControl直接判断,如果满足,就将指定范围的数据都读到指定的地址空间。

9楼的有个小错误,NAND驱动的读函数里已经做了ECC校验了,通过FMD_NAND_READ这样的函数读出来的数据是不需要再ECC校验的。
sunrain_hjb 2008-05-30
  • 打赏
  • 举报
回复
如果是NOR Flash,我觉得这个想法还不错。
但NAND FLASH本身的结构就会影响到你的实现。

个人意见,仅供参考。
sxy_9761 2008-05-30
  • 打赏
  • 举报
回复
通过访问Nand Flash控制器应该可以的吧
xjfox 2008-05-30
  • 打赏
  • 举报
回复
恐怕只能自己写一个简单的flash driver,从头到尾读一遍了。wince的fat文件系统肯定是不能保证按flash的物理地址顺序读的。
载舟之水 2008-05-30
  • 打赏
  • 举报
回复
要看你的文件系统是否支持.因为文件系统只能识别被分区的地方,那没有分区的空白区域是无法通过WINCE API访问到的.一般flash都有专用的读写器直接复制芯片内容的,也就是生产时用来做母片的工具。
xjfox 2008-05-30
  • 打赏
  • 举报
回复
Nand flash的驱动,修改FMD_OEMIoControl函数
JasonBUG 2008-05-30
  • 打赏
  • 举报
回复
找了一下,我应该修改底层的什么驱动,来实现,是标准的流接口驱动吗,我没有看见IOCTL的
JasonBUG 2008-05-30
  • 打赏
  • 举报
回复
我试验一下
谢谢
shuiyan 2008-05-30
  • 打赏
  • 举报
回复
NAND上一层是DISK接口了,不会有相应的API供你读取所有内容的。

如果能修改驱动,那么就让驱动开放一个特殊的IOContrl Code给你,输入地址范围,输出是将地址范围内的数据全部放到指定的buf指针地址去。

19,503

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧