这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » TFFS中SECTOR,PAGE,unit都是什么概念?

共3条 1/1 1 跳转至

TFFS中SECTOR,PAGE,unit都是什么概念?

菜鸟
2007-07-07 19:38:27     打赏

最近在调试TFFS,由于我使用的nandflash的页为2048字节,这与dosfs中sector默认的512字节不一样,但我在flcustom.h中看到SECTOR_SIZE_BITS默认是9(也就是说SECTOR_SIZE是2的9次方),但也可以自己改,于是我改成了11。同时,由于ftllite.c文件中的writesector()函数默认是按照SECTOR_SIZE那么大去写,这样在dosfs格式化时候,它的主引导区的大小为512,它会调用writesector()去写,也就是它本身没有2048字节的数据,而却非要写2048,这样就会出现地址越界的错误。于是我为writesector()及其相关的一些函数增加了一个length的入口参数,当格式化时length传入实际写入的字节数,而在其他地方length依旧是SECTOR_SIZE。

按照上面的做法,格式化加载都没有问题,只是在写多个文件后,只能读出第一个,反过来也一样,也就是只有第一次读的文件可以读出来。

偶然一次我在makefile文件中将ftllite.o去掉了,结果编译之后格式化、加载256M(整片flash有512M)读写文件都正常,只是再格一点的话加载均不能成功。

我很疑惑,因为ftllite.c ftl.c dosformat.c fatlite.c文件中都用到了SECTOR_SIZE,而当时makefile文件中除了ftllite.c其他都编译了,也就是在ftllite.c文件中SECTOR_SIZE为512,而其他都是2048.不知道这样怎么也能成功,但我也觉得在读写大文件时候应该有问题。

所以我想请教高手,TFFS中的SECTOR和page是否是一个概念,是否要求一样大。同时unit和block是否一样呢?谢谢

p.s.上面写的比较混乱,请包涵




关键词: SECTOR     是什么     概念    

菜鸟
2009-10-07 17:47:14     打赏
2楼
unit好像和block是一样吧?

菜鸟
2009-10-10 15:46:25     打赏
3楼
我也想问。

在mtd里的 xxx_mtd_sector_size是怎么指定的?跟flash芯片的sector大小有什么关系?

还有,那个map函数到底是什么意思?看了半天也没搞清楚,怎么就见到一个返回指针?

这个far0 *是什么?

谢谢!

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]