初级会员

- 积分
- 75
- 金钱
- 75
- 注册时间
- 2016-1-27
- 在线时间
- 18 小时
|
5金钱
本帖最后由 15638904980 于 2017-8-26 16:33 编辑
最近在学习FATFS文件管理,SD卡的很好理解。但是在看了原子的MINI,精英,战舰这块的程序比较后。发现都有这么一句话://对于W25Q64
//前6M字节给fatfs用,6M字节后~6M+500K给用户用,6M+500K以后,用于存放字库,字库占用1.5M.
u16 FLASH_SECTOR_COUNT=2048*6;//6M字节,默认为W25Q64
问题是三种板子的这里6M设置都不一样,4.8M,6M,12M.而这里的内存大小设置都是根据FLASH_SECTOR_COUNT设定的。
正文:
我现在在做一个控制系统,需要用到FLASH来存储字体和图标,但FLASH只有8M,按照上面所说。我只有500K的自由空间存储图标。对于自己远远不够。
另外我的系统是用到SD卡,来读取其中文件并发送,也就是会用到FATFS文件系统。其实就是3D打印机的控制屏。
而看了原子MINI版的综合测试程序中,将这里的FLASH_SECTOR_COUNT改到了4.8M。
问题:
1:这里的FLASH_SECTOR_COUNT设置到底有何作用,用来做什么的,为什么还可以随意更改其大小?
我的理解:A:是为了演示FATFS文件系统,可以从FLASH里读取写入。而为了不和其他教程冲突:后面的字体什么的也会从存到 FLASH中。所以开辟这么一个区域。而在 实际应用中,FLASH_SECTOR_COUNT并没有用。
B:FATFS本身运行需要一定空间来存储自身信息等等,而这里的6M空间就是提供给FATFS,能够让他运转的。
2:我的系统中用到的是从FLASH里读取字体和图标,另外用到SD文件读取,这里的FLASH_SECTOR_COUNT是否可以直接设为0,对其他地方是否又会有影响?
如果我上面B的理解正确,FLASH_SECTOR_COUNT最小可以为多少?
|
|