40楼#
发布于:2007-05-28 17:41
我没有在4.2上面测试过,从网友的反馈得知4.2上不能直接用2048做SECTOR_SIZE,那就需要模拟成小页,512bytes/page,256pages/block.做成这样的话就肯定在什么版本上都能运行了。模拟成小页的我一开始也是这么做的,系统也已经运行了,后来觉得效率可能差一些,所以就改成现在这个样子的。
|
|
41楼#
发布于:2007-05-28 17:35
#ifndef SECTOR_SIZE
#define SECTOR_SIZE (GetBytesPerSector()) #endif #ifndef PAGES_PER_BLOCK #define PAGES_PER_BLOCK (GetSectorsPerBlock()) #endif #ifndef SECTOR_TO_BLOCK #ifndef LOG_2_PAGES_PER_BLOCK #define LOG_2_PAGES_PER_BLOCK (GetLog2PagesPerBlock(NAND_PAGE_CNT)) #endif #define SECTOR_TO_BLOCK(sector) ((sector) >> LOG_2_PAGES_PER_BLOCK ) #endif #ifndef BLOCK_TO_SECTOR #ifndef LOG_2_PAGES_PER_BLOCK #define LOG_2_PAGES_PER_BLOCK (GetLog2PagesPerBlock(NAND_PAGE_CNT)) #endif #define BLOCK_TO_SECTOR(block) ((block) << LOG_2_PAGES_PER_BLOCK ) #endif #ifndef BADBLOCKMARK #define BADBLOCKMARK 0x00 #endif |
|
42楼#
发布于:2007-05-23 15:46
引用第3楼zhengshijie于2007-01-16 13:21发表的 : 高手看看 #ifndef SECTOR_SIZE #define SECTOR_SIZE 512 #endif #ifndef PAGES_PER_BLOCK #define PAGES_PER_BLOCK 32 #endif #ifndef BADBLOCKMARK #define BADBLOCKMARK 0x00 #endif #ifndef SECTOR_TO_BLOCK #define SECTOR_TO_BLOCK(sector) ((sector) >> 5 ) #endif #ifndef BLOCK_TO_SECTOR #define BLOCK_TO_SECTOR(block) ((block) << 5 ) #endif 是不是也要做相应的修改呀 #ifndef SECTOR_SIZE #define SECTOR_SIZE 2048 #endif #ifndef PAGES_PER_BLOCK #define PAGES_PER_BLOCK 64 #endif #ifndef BADBLOCKMARK #define BADBLOCKMARK 0x00 #endif #ifndef SECTOR_TO_BLOCK #define SECTOR_TO_BLOCK(sector) ((sector) >> 6 ) #endif #ifndef BLOCK_TO_SECTOR #define BLOCK_TO_SECTOR(block) ((block) << 6 ) #endif |
|
43楼#
发布于:2007-05-17 23:05
好人啊
|
|
|
44楼#
发布于:2007-05-06 15:03
thank you! it's so kind of you!
|
|
45楼#
发布于:2007-04-28 10:42
no no
|
|
46楼#
发布于:2007-04-19 18:38
#define CMD_READ2 0x50 // Read2
楼主,代码里你用到这个命令码,在你测试过的K9F1G08芯片手册里可根本没有这个命令码可以用的.这个是那种32M的老芯片里的.你是怎么理解的? |
|
47楼#
发布于:2007-04-17 10:11
正准备换NANDFLASH,学习学习
|
|
48楼#
发布于:2007-04-11 22:51
木有用
要调整读写的顺序 |
|
|
49楼#
发布于:2007-04-02 16:22
请问一下,我直接调整了fmd.h中PSectorInfo结构体的顺序,把BAD标志放在第一个位置,这样有问题吗?
|
|
50楼#
发布于:2007-03-29 17:33
to jasonshi:
BAD 标志位置请看源码,已经根据大页的做了相应的改动。 MBR和512的一样,bootpart.cpp,bootpart.h都不改动,逻辑上还是512/sector.这个问题前面已经讨论过。 to chunpengkai: 请确认一下spare区的读写,sectorinfo的读写是否OK,因为创建分区的时候会把sectorinfo写到spare区域,如果所有读写都没有问题,保证FMD_GetInfo()提供的是你FLASH信息。应该没有什么问题了。 |
|
51楼#
发布于:2007-03-29 12:20
请问一下搂主,大页NAND在格式化成binfs时,MBR怎么写?
还有,大页NAND一般坏块标志是OOB的前两个字节,可是FLASHINFO定义的坏块标志是在第6个字节。这个怎么办? |
|
52楼#
发布于:2007-03-27 23:51
谢谢
同时有个问题请教一下 我用的是K9F1G16,使用的2440,用WINCE4.2,在驱动中没有使用你的代码,但是我在FMD_INIT中,分几次人为增加了,读写和擦除操作,通过U-BOOT来验证,发现操作是正常的,但是在CE下,不能对其进行格式化,也无法识别,请问问题应该怎样解决 |
|
53楼#
发布于:2007-03-25 22:03
好!谢谢!
|
|
54楼#
发布于:2007-03-02 09:53
改128M Nand后的问题
首先非常感谢郑世杰的无私奉献,我的系统终于可以启动了.改128M Nand后的问题如下: 1 Windows CE Firmware Init INFO: Initializing system interrupts... INFO: Initializing system clock(s)... INFO: Initializing driver globals area... SDMMC config set rGPGCON: 286a5aa OEMInit Done... Sp=ffffc7cc 系统启动到这里有时就不动了,是什么原因 2 USB同步不了了,以前64M的时候是可以的,想不能换大页Flash后和USB有何关联? |
|
|
55楼#
发布于:2007-02-14 15:36
sjf2440.exe里没有1G08的信号,需要自己修改源码,要修改的东西也不是很多,我也是刚改好!
|
|
56楼#
发布于:2007-02-05 16:48
to waterman:
谢谢指出问题4,是我的coding错误,可以参考FMD_ReadSector1208()改正过来。 问题3,实际应用过程中,我并没有碰到出错,所以我把ECC去掉了,你认为有必要就自己加好了。 问题1,你想做成512,也无需修改FAL,你也改不了FAL,你没有它的源码。 你看到存储管理里是2K的,有什么疑问吗?它显示的是你的FLASH信息。 你最后的疑问是什么呢?因为没看过你的代码不知道你到底怎么做的。我的驱动已经验证过了是可行的。 |
|
57楼#
发布于:2007-02-05 11:33
zhengshijie大虾:
我有些疑问:按你所说,FAL可以自动识别是large page,然后再remap 到sector (512B), 但是我按照你说的走了一遍,结果WINCE的storage manager始终是把flash Disk的sector 看成2KB大小。 问题如下: 1。如我们所知,FAL+FMD will package as DISK Driver(FlashDrv.dll), in the diver, it will provide 如下接口:DISK_Init,DISK_GetInfo. 文件系统会得知flash disk的sector 的大小。 所以,如果要将large page 做成512B sector size,是否要修改FAL 2. 如果不需要修改FAL,那么是否需要其他配置。 3. 你的驱动没有提到ECC,nand flash很容易出错,这个东东怎么办? 4.在你的驱动中,在读一个FMD_ReadSector1G08,如果读多个sector一次,那么sectorinfo可能会被覆盖。 最后明确一下,将large page (2KB)nand flash安装上去,我已经做成功,只需要将FMD的驱动按照large page flash driver修改一下即可,然后解决一下文件系统的一些小问题(wince 4.2,文件系统有兼容性问题在2KB sector)。所以我只能将2KB page size 安装成2KB sector。 但是我无法做到将2KB page 配置成 512B,而不损失空间,或者修改FAL,或者违反flash的写特性(large page nand flash,一个物理页最多能写8次) 如果能及时回答将非常,谢谢,大家可以多交流。 |
|
58楼#
发布于:2007-02-02 14:36
可是我的是pxa270的CPU,要怎么改呀
|
|
59楼#
发布于:2007-01-31 17:17
我用压缩包里的sjf2440.exe 测试k9f1g08却无法识别,提示无法读出flash id,不知为何,有没有人遇到这个问题
|
|