关于FATFS内存大小的问题

2019-07-20 19:33发布

#define SD_CARD         0  //SD卡,卷标为0
#define EX_FLASH 1        //外部flash,卷标为1               10*1024*1024/512

#define FLASH_SECTOR_SIZE         512                          
//对于W25Q128
//前10M字节给fatfs用,10M字节后,用于存放字库,字库占用3.09M.        14M字节以后,给客户自己用                                     
u16            FLASH_SECTOR_COUNT=2048*10;        //W25Q1218,前10M字节给FATFS占用
#define FLASH_BLOCK_SIZE           8             //每个BLOCK有8个扇区

问题1:为什么说前10M字节给FATFS占用。我在代码中没有看到把FATFS写到外部Flash的过程啊,这个FATFS好像是直接解压后添加到工程中做点小的修改就可以调用了啊。请大神解释下。
问题2:我能够把字库直接放在单片机内部的FLASH中吗,不想在外面挂着外部的FLASH。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
shuaigew88
2019-07-20 22:34
本帖最后由 shuaigew88 于 2016-10-18 11:35 编辑
王朝代号 发表于 2016-10-18 10:55
针对第一个问题,前10M字节意思全部被文件系统占用了,前10M里面存的是什么代码呢?我好像发现文件系统没 ...

前10M用于文件系统的意思是说前面10MB的空间由文件系统来管理,不是说文件系统就占用了10MB的空间,而是利用文件系统的读写函数操作时前10M的空间是由文件系统自由分配的,用户不需要关心文件数据具体写入了前10M的哪个地址里,W25Q的读写函数不能进行读写否则就会破坏文件系统导致文件丢失,必须要使用文件系统的读写函数。后6MB可以用W25Q读写函数操作,当然如果你不想用文件系统也是可以的,16MB的空间可以全部由你自己分配那么你就必须要自己去管理地址。

一周热门 更多>