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 06:20
看晕了你的计算方法。。。

#define FLASH_SECTOR_SIZE         512                          
//前12M字节给fatfs用,12M字节后,用于存放字库,字库占用3.09M.        剩余部分,给客户自己用                                    
u16            FLASH_SECTOR_COUNT=2048*12;        //W25Q1218,前12M字节给FATFS占用

看看我们的定义吧。。。每个Sector 512个字节,一共分配2048*12个Sector。所以 FLASH_SECTOR_COUNT=2048*12;的意思是分配2048*12*512 byte= 12M。

一周热门 更多>