FATFS 中diskio.c文件中,FLASH_SECTOR_COUNT的定义疑问

2019-10-15 22:16发布

本帖最后由 qiuyutears 于 2016-1-6 19:58 编辑

//对于W25Q64
//前4.8M字节给fatfs用,4.8M字节后~4.8M+100K给用户用,4.9M以后,用于存放字库,字库占用3.09M.                                             
u16            FLASH_SECTOR_COUNT= 9832;        //4.8M字节,默认为W25Q64
#define FLASH_BLOCK_SIZE           8             //每个BLOCK有8个扇区

以上是diskio.c文件开头,我有个疑问:
FLASH_SECTOR_COUNT定义成了9832扇区.(每扇区512字节,2个扇区1024为1K)我计算了一下,9832扇区的容量 = 4916K = 4.916M字节。而4.8M的扇区数,则应该是9600个扇区。


多分配的232个扇区(116K),是不是被FATFS系统分配的?

4.8M后的100K给用户用    100K那就是有200个扇区给用户用。加上前面的9832个扇区,一共是10032个扇区。5016K一共被前面分配了。还剩下8*1024K-5016K = 3176K字节。

不知道我上面的说明是不是正确。因为看这个注释,实在是看的有点蒙。

望知情人解答!



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
openedvadmin
2019-10-16 01:30
怎么会是9600哦。。。

一个sector是512个字节,也就是0.5 kbytes.
那么4.8M是多少 kbyte呢,,不是4800,是4.8*1024。。。所以很明显你的错误了。。。
那么mini的怎么来的呢?
u16            FLASH_SECTOR_COUNT= 9832;
#define FLASH_SECTOR_SIZE         512       
所以多少兆是这样算的 9832*512/(1024*1024)=4.800M

实际上,很简单,4.8M是多少个Sector?  4.8*1024*1024/512=9830.2 ,所以选取9830大点的9832

一周热门 更多>