Здравствуйте все!
Осваиваю работу stm32f4 с uSD, используя STM32F4-DISCOVERY (stm32f407vgt6) + плата STM32F4DIS-BB
Проект собрал, взяв библиотеки из STM32Cube_FW_F4_V1.14.0 и оттуда же из примеров вытащил библиотеки FatFs.
Используется работа в полинге. Из примеров оставил main, где сначала форматируется карта, а потом идет запись текстового файла.
В процессе форматирования на n-ном блоке происходит вылет по флагу SDIO_FLAG_TXUNDERR.
Если поставить паузы между блоками по 1 мс, вылетов нет, но после завершения работы программы карта при подключении к винде требует форматирования.
Если убрать вызов ф-ции f_mkfs на уже отформатированной карте успешно создается текстовый файл.
Добавил проверку флага ReadyForData перед каждой записью блока (не нашел к ф-циях HAL такого) -ситуация не изменилась. Выкинул FreeRTOS, оставил только инициализацию контроллера, проблема осталась.
В настройках SDIO: SDIO_CLOCK_BYPASS_DISABLE SDIO_HARDWARE_FLOW_CONTROL_DISABLE
Что не так делаю?
|