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条回答
qiuyutears
2019-10-16 15:00
openedvadmin 发表于 2016-1-6 18:46
看晕了你的计算方法。。。

#define FLASH_SECTOR_SIZE         512                          

4.8M字节,扇区数是9600.
例程中定义是9832.所以,我就是这里不理解。多出来232个扇区。
100K占用200个字节。
即使是9600+200,也还有32个扇区,不知道是如何分配的,
或者说例程上的注释错误,本应该是分配了FATFS的扇区数是9832个,
占用地址一共是4.8M(9600扇区)+100K(200扇区)+16K(32扇区) = 4.916M
4.916M字节分给了FATFS使用。
8M-4.916M = 3.084M给字库用。而字库却是需要3.09M。好像这样的分配,也不够。

一周热门 更多>