移植原版FatFs r0.11,disk_read传入的sector参数竟然是块号,不是块地址、、、

2019-07-20 10:19发布

移植fatfs,被这个地方摆了一道,分享下,各位少走弯路:


这个sector,不能直接给cmd18用,需要再乘以扇区尺寸(512)
位置:diskio.c
DRESULT disk_read (
        BYTE pdrv,                /* Physical drive nmuber to identify the drive */
        BYTE *buff,                /* Data buffer to store read data */
        DWORD sector,        /* Sector address in LBA */
        UINT count                /* Number of sectors to read */
)



移植fatfs r0.11,f_open打开文件系统,能读到第一个扇区,0x55 0xaa妥妥的,然后完犊子了,check_fs函数过不了,/* Check "FAT" string */失败,返回1



追踪变量,发现最终读取的时候,我的底层函数,cmd18后边的扇区地址就是直接用的,就是传过来的sector
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。