关于FatFs文件系统SD卡块大小设置问题

2019-07-20 00:36发布

我在FatFs实验过程中发现这样的一个问题,就是diskio.c文件中,函数diskio_ctl(),有一个命令参数是GET_BLOCK_SIZE,我看官方例程中SPI_FLASH设置的是8,这个我可以理解,因为W25Q128的块大小就是4K=512*8。但是为什么SD卡的这里设置是512(我用的32G卡)。
在FatFs官方的说明文件中,GET_BLOCK_SIZE的参数应该是以扇区为单位的,而不是以字节为单位的。求解答


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
正点原子
1楼-- · 2019-07-20 01:59
说明SD卡一个block有512个扇区。
lyj41801
2楼-- · 2019-07-20 04:06
 精彩回答 2  元偷偷看……
lyj41801
3楼-- · 2019-07-20 06:56
另外,原子哥,还想问一句,为什么GET_SECTOR_COUNT这个命令,SD卡给的是整个卡的容量,而FLASH却只给前面的12M,这个命令不是用来获取驱动器上可用扇区的数量吗?后面的4M字节为什么不也给FatFs用呢,是因为后面的汉字实验,要根据地址访问吗?不需要通过fatfs的文件名形式来访问吗?

一周热门 更多>