20楼#
发布于:2007-07-17 19:01
to zhuxiaofeng :
你挂载不上可以试试是不是分区格式不对造成的,在BP_OpenPartition中,分区一定要分成fat32的形式,我以前试过分成fat的格式,就挂不上,郁闷了好长一段时间! 你试一下,说不定是这个问题! |
|
21楼#
发布于:2007-07-17 20:21
谢谢,
BP_OpenPartition不是在Bootloader里面做? 我现在是想纯粹把nand flash当作一个文件系统来做, 只要出现盘符就行, 如果仅仅这样的话,该怎么做?? 谢谢 |
|
|
22楼#
发布于:2007-07-18 11:14
我知道你的意思,一般情况下是在eboot中做的,nand.c中会有,然后你按照上面他们给你改的注册表应该就能自动挂上出现盘符,5.0是盘符,4.2是文件夹。
或者你按照我给的分区代码和注册表设置分一个fat32分区是完全没有问题的, 你试一下吧! |
|
23楼#
发布于:2007-07-19 14:43
to all
现在nand能挂上,但是挂上之前花了很长时间在fmd_erase,fmd_readsector 和fmd_writesector 尤其是erase一个block后,会对block的每个sector进行read and writer,并且会对每个block erase2次 请问这种情况如何分析 |
|
|
24楼#
发布于:2007-07-19 14:46
by the way ,it is 2k nand
而且如果new folder,会去把所有block erase一遍 然后报错无法create folder 是否erase block后需要write cis 请各位大虾帮帮忙看看 |
|
|
25楼#
发布于:2007-07-19 15:02
只有第一次才会这样,是低级格式话,以后启动不会了。
|
|
26楼#
发布于:2007-07-19 15:49
楼上的意思是否 我所描述的现象正常?
但是创建一个文件夹,会把所有block erase一遍 这个应该不正常吧? |
|
|
27楼#
发布于:2007-07-20 08:49
这个我估计是你的erase函数有问题,你可以跟一下,是不是每次都返回false?
|
|
28楼#
发布于:2007-07-20 12:26
每次load driver后都有
0x8dfc88c8: Loading partition driver mspart.dll hModule=8DF9CE58 0x8dfc88c8: Driver mspart.dll loaded 0x8dfc88c8: FLASHDRV.DLL:L2P_GetPhysicalSectorAddr() - Secondary table doesn't exist for logical sector 0x0!!! 0x8dfc88c8: FLASHDRV.DLL:ReadFromMedia() - Unable to determine physical sector address for logical sector 0x00000000 0x8dfc88c8: Opened the store hStore=000B26D0 0x8dfc88c8: FLASHDRV.DLL:L2P_GetPhysicalSectorAddr() - Secondary table doesn't exist for logical sector 0x0!!! 0x8dfc88c8: FLASHDRV.DLL:ReadFromMedia() - Unable to determine physical sector address for logical sector 0x00000000 0x8dfc88c8: NumSec=65344 BytesPerSec=2048 FreeSec=0 BiggestCreatable=0 然后开始erase block, 而且每个block erase 2次,问题1 ,这正确否? erase完后,可以看到nand的盘符 但是会出现如下 0x8db45670: FLASHDRV.DLL:FMD_ReadSector() failed! 0x8db45670: FLASHDRV.DLL:ReadFromMedia() failed. 0x8db45670: Read/Write Sector failed (30) on Sector 17 0x8db45670: FATFS!FindNext: unexpected error (30) 0x8db45670: FATFS!FAT_FindFirstFileW(0x00000000,\*.*) returned 0xffffffff "" (30) 0x8db45670: SWP:FrameChanged sent to window 0x7C014340 which is not visible 问题2: 请多多指教 |
|
|
29楼#
发布于:2007-07-23 20:31
根据大家的建议,我把注册表修改成saint_bxg给的之后。第一次回低格,以后就不会再低格了,
但是现在我的驱动现在是从debug信息来看是挂上文件系统了, 因为在Debug信息里面已经出现了,Mount complete (E, index 4, flags 0x00000000) 但是在打开WinCE的mydevice的时候,会出现好像down掉了似的。 我debug了一下,他会去读nand的第124个sector,不知道为啥会读这个sector, 而且这时候 DMA中断产生不了。导致他会DOWN掉。 下面是debug信息,大家帮忙看看,谢谢各位兄弟了, Loading module smflash.dll at address 0x02830000-0x02844000 (RW data at 0x01EC0000-0x01EC0BA0) Loaded symbols for 'C:\WINCE500\PBWORKSPACES\WINBOND_NS\RELDIR\WINBOND_ARMV4I_DEBUG\SMFLASH.DLL' 4294769956 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FMD_init has been Enter! 4294769960 PID:4dfc330e TID:2dfa2996 0x8dfc6400: FMD: NF_TransferIstThread has been Setuped! 4294769969 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FMD: ReadID (Mfg=0XEC, Dev=0X75) 4294769971 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FLASHDRV.DLL:BuildupMappingInfo() - Enter. 4294769982 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: Block 0 is Bad! 4294770103 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FLASHDRV.DLL:L2P_GetPhysicalSectorAddr() - Secondary table doesn't exist for logical sector 0x0!!! 4294838914 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: >>> Loading module mspart.dll at address 0x03C50000-0x03C5E000 (RW data at 0x01FD7000-0x01FD74AC) Loaded symbols for 'C:\WINCE500\PBWORKSPACES\WINBOND_NS\RELDIR\WINBOND_ARMV4I_DEBUG\MSPART.DLL' 4294838916 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: Loading partition driver mspart.dll hModule=8DF99288 4294838917 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: Driver mspart.dll loaded 4294838986 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: Opened the store hStore=000B2A50 4294839009 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: NumSec=65344 BytesPerSec=512 FreeSec=0 BiggestCreatable=0 4294839009 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: Partition Part00 NumSectors=65342 4294839010 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: MSPART!PD_OpenPartition: dwStoreId=000B2A50, PartName=Part00 4294839031 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: >>> Loading module fatfsd.dll at address 0x03E40000-0x03E73000 (RW data at 0x01FF0000-0x01FF065C) Loaded symbols for 'C:\WINCE500\PBWORKSPACES\WINBOND_NS\RELDIR\WINBOND_ARMV4I_DEBUG\FATFSD.DLL' 4294839038 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FSD_MountDisk: mounting volumes for hDsk=000B4130 4294839064 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!OpenVolume: access time updates disabled 4294839064 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!OpenVolume: event logging enabled 4294839065 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!OpenVolume: automatic scanning disabled 4294839065 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!OpenVolume: write verify disabled 4294839066 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!OpenVolume: extra FAT on format disabled 4294839066 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!OpenVolume: force write through enabled 4294839068 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!OpenVolume: Codepage = 1 4294839071 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!OpenVolume: Number of path cache entries = 50 4294839103 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: >>> Loading module diskcache.dll at address 0x03E30000-0x03E39000 (RW data at 0x01FEE000-0x01FEE4F4) Loaded symbols for 'C:\WINCE500\PBWORKSPACES\WINBOND_NS\RELDIR\WINBOND_ARMV4I_DEBUG\DISKCACHE.DLL' 4294839106 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: CreateCache: Successful. Cache Size: 32 KB, Start: 1, End: 64. 4294839107 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: CreateCache: Successful. Cache Size: 64 KB, Start: 65, End: 65341. 4294840544 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!InitVolume: FAT version: 16 4294840544 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!InitVolume: Cluster Size (Sectors): 4 4294840544 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FATFS!InitVolume: TFAT enabled: FALSE 4294840548 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FS: Registering file system E, index 4, flags 0x00000000 4294840549 PID:4dfc330e TID:4dfc32ea 0x8dfc30a8: FS: Mount complete (E, index 4, flags 0x00000000) 在这之后如果我去打开winCE的mydevice: 他会去读第124个sector.不知道为啥?而且这时候中断产生不了, 谢谢各位大虾了。。 |
|
|
30楼#
发布于:2007-08-18 11:18
呵呵~
|
|
31楼#
发布于:2007-08-20 09:20
to all,
我在移植大页的NAND FLASH遇到一个很怪的问题。 我在存储管理器,可以看到正常的FLASH大小信息,但看不到分区信息。格式化后,可以看到分区信息,也能看到盘符,可以复制文件到这个盘符。但重启后,盘符看不到,里面的文件也看不到了。 当初以为原来看到的盘符和复制到里面的文件都是在内存里面,因为我的内存才64M,再格式化后,我复制了大于64M的文件放到该盘符下,也可以,那说明我复制的文件应该是在NAND FLASH中的。而且里面文件也应该是对的,因为我用来播放该盘符中的视频文件,也可以正常播放。 请大家讨论一下,相互进步。 也可以发邮件,交流一下。 liuzhd21@21cn.com |
|
上一页
下一页