初级会员

- 积分
- 185
- 金钱
- 185
- 注册时间
- 2019-2-25
- 在线时间
- 52 小时
|

楼主 |
发表于 2021-2-28 11:40:55
|
显示全部楼层
谢谢。再请教下,如何修改?我还没深入学习fatfs,只是想到这个问题。是这样么:
在disk_initialize函数里:
case EX_FLASH://外部flash
W25QXX_Init();
FLASH_SECTOR_COUNT=2048*12;//W25Q1218,前12M字节给FATFS占用
break;
这个只是决定自己想分配多大空间给fatfs吧?并不决定空间的起始地址。比如,我想分配1M,就写成2048*1。
然后,真正决定地址的在读写函数里写就行了?比如,disk_read函数里:
case EX_FLASH://外部flash
for(;count>0;count--)
{
W25QXX_Read(buff,sector*FLASH_SECTOR_SIZE,FLASH_SECTOR_SIZE);
sector++;
buff+=FLASH_SECTOR_SIZE;
}
res=0;
break;
我把偏移地址计算好,在W25QXX_Read或Write函数里改就行了吧?这样fatfs就会只操作从我设定的偏移地址开始的上面定义的空间,包括格式化。
我抽空测试一下。 |
|