FATFS: как получить адрес первого сектора файла?

Я использую FATFS на STM32, и я хочу найти адрес первого сектора файла, который открывается с помощью функции f_open. Таким образом, я могу использовать этот адрес сектора для доступа к файлу в качестве смещения адреса, используя доступные низкоуровневые методы DMA. Как я могу получить необработанный адрес файла на диске?

1 ответ

В FatFS Чана вы можете знать, что файл запускает кластер, он находится в fp->sclust переменная. Вы можете узнать размер кластера с помощью этого выражения:clusterSize = fp->fs->csize * SS(fp->fs); и вам также может понадобиться функция clust2sect(fp->fs, fp->clust), Вы можете наблюдать за реализацией Diskio_drvTypeDef.disk_read чтобы увидеть, как конвертировать в адрес.

Другие вопросы по тегам