STM32. FATFS + DMA + CUBEMX
Александр Левчук dslev@yandex.ru
В статье рассматривается работа файловой системы FatFs с картой памяти микро SD (10 класс) под управлением модуля SDIO в режиме DMA. Код проекта прилагается.
В статье сначала приводятся переведенные выдержки из документа UML1721, описывающие принципы использования FatFS для CubeF4, которые без изменений пригодны и для серии CubeF1.
Далее описывается процесс написания кода для установки FatFs на карту микро SD 10 класса под управлением модуля SDIO, работающего в режиме DMA.
Подробно рассмотрены вопросы настройки FatFs, модуля SDIO, связи с драйвером поддержки платы BSP, взаимодействия прерываний DMA и прерываний драйвера BSP.
Описаны проблемы использования длинных имен и строк на киррилице и решение этих проблем.
Статья выполнена в формате PDF, содержит 33 страницы. За получением статьи обращайтесь к автору. К статье прилагается рабочий проект, выполненный в среде VisualStudio 2013+VisualGDB+CubeMX и документ UM1721.
Оглавление статьи
Обзор FatFs CubeF4 (UM1721 User manual)
Архитектура FatFs
Особенности FatFs
- Дублирование доступа к файлам
- Независимость файловых операций (Reentrancy )
- Длинное имя файла
- FatFs API низкого уровня
- FatFs в STM32CubeF4
- FATFS_LinkDriver()
- FATFS_UnlinkDriver ()
- Интерфейс вашего собственного диска для FatFs
FatFs приложения CubeF4
- HAL drivers configuration
- Длинное имя файла
- Пример приложения FatFs
Приложение пользователя CubeMX в режиме DMA.
- Схема подключения карты SD.
Настройка проекта CubeMX
- Настройка модуля SDIO
- Настройка FatFS
Файлы FatFs, созданные CubeMX.
- Файл ffconf.h
- Файлы fatfs.h и fatfs.c
- Файлы bsp_driver_sd.h и bsp_driver_sd.c
- Файл sd_diskio.с
Связь низкоуровневых функций FatFs с драйвером BSP
- Документация драйвера BSP
- Перегрузка функций драйвера BSP
- Прерывания DMA и BSP
Настройки FatFs. Строки с компилятором Clang
Длинные и короткие имена FatFs. Использование киррилицы
- Режим записи/чтения файла в UTF8
- Режим записи/чтения файла в UTF16