阅读:1897回复:9
关于NandFlash令我迷惑的问题,请高手指点!
最近我在做WinCE下NandFlash的驱动,从64M换成128M、1G、2G容量的。驱动基本上能运行起来了,并且文件能正确地拷入拷出,但当文件大小接近或是超过对应NandFlash的容量时,拷了一段时间之后系统会提示空间不足,但奇怪的是当系统重启之后NandFlash图标消失了,控制面板里的StorageMannger也打不开,再重启也没用!
我的系统没有用到eboot,只用到了Nboot,NandFlash里存放的依次是Nboot、NK及一些空余空间、WinCE可用空间。驱动只能寻址WinCE可用空间。还有一点是第一次起用NandFlash时系统需要很长一段时间识别NandFlash.以上两个问题往各位指点! |
|
|
沙发#
发布于:2007-06-09 07:41
1.当FLASH空间快用满时文件系统就会崩溃,所以不要把它用到太满.
2.还有一点是第一次起用NandFlash时系统需要很长一段时间识别NandFlash. 这是系统在做格式化,是正常的. |
|
|
板凳#
发布于:2007-06-09 10:58
关于NandFlash令我迷惑的问题,请高手指点!
对于识别NandFlash问题我大概明白了,但是当文件拷的太满时文件系统崩溃就不大明白为什么,按照一般的想法即使文件拷不下也不能导致NandFlash消失呀,顶多不给拷啊。 |
|
|
地板#
发布于:2007-06-09 17:27
请问如何控制以达到:
“1.当FLASH空间快用满时文件系统就会崩溃,所以不要把它用到太满” |
|
地下室#
发布于:2007-06-11 11:08
你的驱动里面返回的sector数量是多少?是根据CSD返回的值填得么?
|
|
5楼#
发布于:2007-06-13 23:31
驱动里面返回的sector数量我没有追踪过,至于你说的CSD我不清楚是什么。2440对NandFlash的驱动中,读写函数都有一个判断“if((DWORD) pSectorBuff&0x3)”,然后根据这个判断来选取不同的读写方式,pSectorBuff是FMD_ReadSector()、FMD_WriteSector()的参数,读出或写入数据的首地址。不知道这个判断有什么作用?!
|
|
|
6楼#
发布于:2007-06-14 07:41
if((DWORD) pSectorBuff&0x3), 这个是用来判断地址是不是DWORD对齐的.
|
|
|
7楼#
发布于:2007-08-18 11:30
拷贝文件时难道没有去判断磁盘空间够不够,磁盘空间不够的话就不要执行
|
|
8楼#
发布于:2007-08-22 12:46
FLASH写满时候你可以跟踪一下,看看FLASH的MBR是不是被冲掉或修改掉了.如果MBR被冲掉,系统是识别不出来的.
|
|
|
9楼#
发布于:2007-08-22 12:49
就是FLASH的文件系统结构中,FAT的描述数据被冲掉了.
|
|
|