关于FATFS实验中W25Q128flash分配问题

2019-08-11 17:31发布

原子哥:
我在做FATFS实验时,有几段不理解,1、程序上写fatfs分配12M,应该是1024*12  ,怎么是2048*12;
                                                  2、字库放置在12M后面3.09M是放置CC936的地方吗,编译的时候CC936应该是在ROM中,怎么到3.09M这个区域
                                                  3、关于FATFS的扇区定义512字节,块是8   ,但是W25Q128的扇区是4K,块是32K,这个扇区是怎么对应的

小弟看了几天了,不能理解这些,希望明白的指点下,谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
pdwdzz
1楼-- · 2019-08-11 18:59
12M=12*1024*1024 B;而每个扇区512 B;所以 FLASH_SECTOR_COUNT=2048*12是扇区数。
pdwdzz
2楼-- · 2019-08-11 20:54
 精彩回答 2  元偷偷看……
pdwdzz
3楼-- · 2019-08-12 02:11
W25Q128的扇区是4K,块是32K这是硬件上个规定。但你写FLASH时通过程序一样可以实现写某一个地址的内容。这样就意味着可以软件去定义它的扇区和块的大小。
#define FLASH_SECTOR_SIZE         512                          
//对于W25Q128
//前12M字节给fatfs用,12M字节后,用于存放字库,字库占用3.09M.        剩余部分,给客户自己用                                     
u16            FLASH_SECTOR_COUNT=2048*12;        //W25Q1218,前12M字节给FATFS占用
#define FLASH_BLOCK_SIZE           8             //每个BLOCK有8个扇区

上面这段通过软件重新定义一遍扇区和块的大小以符合FATFS规则。

一周热门 更多>