реклама на сайте
подробности

 
 
> SDHS и FatFS, Вопрос по дозаписи файлов.
Danis
сообщение Aug 26 2012, 11:18
Сообщение #1


Twilight Zone
***

Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990



Приветствую коллеги!

Возникла надобность поработать с FAT32 на STM32.
Имеется демо плата TE-STM32F103:
TE-STM32F103
Две micro SDCH каждая по 4Гб, Kingston и QUMO. Класс 4.
Для реализации низкоуровневого драйвера я использовал поставляемый к отладочной плате STM3210E_EVAL, файлы stm32_eval_sdio_sd.c и stm32_eval_sdio_sd.h.
Запустится сразу - не получилось. ИМХО карточкам памяти не понравилась частота 24Mhz передачи данных по интерфейсу SDIO. Формула такая:
SDIO_CK = SDIOCLK / (SDIO_INIT_CLK_DIV + 2).

По умолчанию в файле stm3210e_eval.h было определо:
#define SDIO_TRANSFER_CLK_DIV ((uint8_t)0x00)

Я изменил SDIO_INIT_CLK_DIV на 0x01.

При этом карточка QUMO заработала, низкоуровневые функции read/write/erase стали работать корректно. Скорости тоже адекватные. Использую режим данных SDIO data - 4 bit. Карточка Kingston начала работать только после того как я допаял дополнительно 6 подтягивающих резисторов на линии D0-D3, CLK и CMD, подтяжка к VCC.

Проверил запись/чтение/ верификация на весь объем карточек, все корректно.

Теперь подключил FatFs Generic FAT File System Module, R0.09 ©ChaN, 2011.
Реализовал функции
Disk I/O Interface

disk_initialize - Initialize disk drive
disk_status - Get disk status
disk_read - Read sector(s)
disk_write - Write sector(s)
disk_ioctl - Control device dependent features
get_fattime - Get current time.

На ПК подготовил файл около 3,5GB, записал на microSD.
Функцией f_read и f_lseek, считал по блокам и верифицировал – все корректно, скорость чтения получилась около 1,8-2,3 MB/sec.
C функцией f_write возникли затруднения, а именно при дозаписи файлов размер которых становится больше 3,5MB, возникает ошибка записи. Папки, маленькие файлы - создаются нормально и читаются на ПК. Сильно не хочется рыться в «исходниках» FatFs, поэтому приму с благодарностью советы и опыт по устранению этого «косяка».


--------------------
Magic Friend
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 06:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01351 секунд с 7
ELECTRONIX ©2004-2016