本帖最后由 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字节。
不知道我上面的说明是不是正确。因为看这个注释,实在是看的有点蒙。
望知情人解答!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一个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
一周热门 更多>