pimpyan
驱动牛犊
驱动牛犊
  • 注册日期2005-07-22
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分250分
  • 威望26点
  • 贡献值0点
  • 好评度25点
  • 原创分0分
  • 专家分0分
阅读:3430回复:5

紧急求助。关于flash和文件系统

楼主#
更多 发布于:2007-09-28 10:55
各位大牛好。我又来问问题了。
我把我的问题详细描述一下,请有时间的大牛帮在下看一下:
1,我有一块32MB的S29GL512/256/128N MirrorBit? Flash
2,我按照datasheet把CE public下的strara下的fmd.cpp修改了
3,我的目标就是像论坛里另一位兄弟问的那样把flash里剩余的一些空间作为一个目录挂载到文件系统下去。

我做了如下事情:
1,修改了原来的驱动,对照datasheet
2,加入了fat文件系统,加入了存储设备管理器,加入了分区管理

现在情况如下:
1,CE开机后可以在设备管理器里看到flash但是大小与扇区大小 都不对。
2,没有看到挂载到我指定的目录里
3,开机出现如下信息:
Loading partition driver mspart.dll hModule=879B7E30
0x879e5a38: Driver mspart.dll loaded
0x879e5a38: FLASHDRV.DLL:L2P_GetPhysicalSectorAddr() - Secondary table doesn't exist for logical sector 0x0!!!
0x879e5a38: FLASHDRV.DLL:ReadFromMedia() - Unable to determine physical sector address for logical sector 0x00000000
0x879e5a38: Opened the store hStore=000D1950
0x879e5a38: FLASHDRV.DLL:L2P_GetPhysicalSectorAddr() - Secondary table doesn't exist for logical sector 0x0!!!
0x879e5a38: FLASHDRV.DLL:ReadFromMedia() - Unable to determine physical sector address for logical sector 0x00000000
0x879e5a38: NumSec=13 BytesPerSec=65504 FreeSec=0 BiggestCreatable=0
0x879e5a38: 1,INFO: FMD_ReadSector: dwNumSectors 0x1
0x879e5a38: Read :0xffffffff 0xff 0xff 0xffff
/////////////上面这条Read是我加入的打印Read SectortInfo的信息 dwNumSectors 是sector序号
0x879e5a38: SignBlock::ulBlockAddress 0xbfd00000 ulSignatureStart 0xbfd1ffe0
0x879e5a38: Exception 002 Thread=879e5a38 Proc=279e5c4a 'filesys.exe'
0x879e5a38: AKY=00000003 PC=017519f0(stratad.dll+0x000119f0) RA=017519dc(stratad.dll+0x000119dc) BVA=000e2000
0x879e5a38: Exception 000 Thread=879e5a38 Proc=279e5c4a 'filesys.exe'
0x879e5a38: AKY=00000003 PC=03f37d68(coredll.dll+0x00037d68) RA=81115e68(NK.EXE+0x00015e68) BVA=00000000
0x879e5a38: FLASHDRV.DLL:CP_StartCompactor() - There aren't any DIRTY sectors left; the compactor can't be started
0x879e5a38: FLASHDRV.DLL:SM_GetNextFreeSector() - Unable to start compactor in critical situation!!!
0x879e5a38: FLASHDRV.DLL:SM_GetNextFreeSector() - Unable to reclaim any free sectors in a critical compaction stage.  Media must be full.
0x879e5a38: FLASHDRV.DLL:WriteToMedia() - Unable to get next free physical sector address for writing!  The media is full...
0x879e5a38: FLASHDRV.DLL:WriteToMedia() failed.
0x879e5a38: FLASHDRV.DLL:L2P_GetPhysicalSectorAddr() - Secondary table doesn't exist for logical sector 0x0!!!
0x879e5a38: FLASHDRV.DLL:ReadFromMedia() - Unable to determine physical sector address for logical sector 0x00000000

跪请各位老大帮在下指点一条明路
程序员中的李铁!
wenzai
驱动中牛
驱动中牛
  • 注册日期2002-04-16
  • 最后登录2011-03-04
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望424点
  • 贡献值0点
  • 好评度309点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-09-28 11:30
eboot里分区时是按512字节做的,而你的flash驱动不是,你需要改成一致的
pimpyan
驱动牛犊
驱动牛犊
  • 注册日期2005-07-22
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分250分
  • 威望26点
  • 贡献值0点
  • 好评度25点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-09-28 11:54
谢谢楼上,但是我没有用eboot引导啊。我是用yamon引导的。
如果在flash里改成按512字节、分区。具体要怎么做?请指点一下,谢谢
程序员中的李铁!
guoguor
驱动小牛
驱动小牛
  • 注册日期2004-10-10
  • 最后登录2012-03-06
  • 粉丝0
  • 关注0
  • 积分1023分
  • 威望203点
  • 贡献值0点
  • 好评度117点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-05-22 11:28
现在问题解决了吗?我也遇到了相同的问题。我的flash大小不对,但是sector大小是512Byte
一个小虾米,加油......
gooogleman
驱动牛犊
驱动牛犊
  • 注册日期2007-03-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望179点
  • 贡献值0点
  • 好评度18点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-09-27 10:01
我也遇到了这样的问题
很是郁闷
SM_GetNextFreeSector---------是微软的函数不开源的
希望正在做这些事情的人一起交流。QQ402955982(晚上才上)MSN:wogoyixikexie@live.cn(白天上)
WINCEqq 群39063007
xmuwyq
驱动牛犊
驱动牛犊
  • 注册日期2008-06-02
  • 最后登录2009-01-07
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望9点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-10-20 11:42
不知道大家用的flash是nor吗?
游客

返回顶部