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

[复制链接]
273|0
 楼主| 白闻不如怡见 发表于 2018-7-15 10:52 | 显示全部楼层 |阅读模式
移植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
您需要登录后才可以回帖 登录 | 注册

本版积分规则

384

主题

384

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部