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

 
 
 
Reply to this topicStart new topic
> SDCard FatFs STM32F103C8T6
zeycon
сообщение Dec 14 2015, 08:40
Сообщение #1





Группа: Участник
Сообщений: 5
Регистрация: 14-12-15
Пользователь №: 89 686



Привет всем,
Уже неделю мучаюсь над инициализацием карт памяти, помогите пожалуйста.

И так:
IDE - CooCox CoIDE 1.7.8
MCU - STM32F103C8T6
Карта подключена к шине spi библиотеки использую кокосовские те что есть
В репозитории.
Карты обьемом до 4ГБ инициализируются без проблем и можно читать по секторам.
А вот 4ГБ и выше не инициализируються, код ошибки SDInit = 52.
Проблема номер два - файловая система от Chan не запускаеться даже для тех карт которые инициализируються (те которые меньше 4GB).
При открывании файла в режиме чтения ошибка 13 (No valid file system).
Пробовал форматнуть карты разными способами и FAT и FAT32 результат не меняется.

Помогите пожалуйста запустить хотя бы файловую систему.
Спасибо.

Код прилогаеться.
Прикрепленные файлы
Прикрепленный файл  SD_STM32.zip ( 749.5 килобайт ) Кол-во скачиваний: 14
 
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Dec 14 2015, 08:49
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Для решения проблемы номер два попробуйте поставить в ffconf.h
Код
#define    _MULTI_PARTITION    1    /* 0:Single partition, 1/2:Enable multiple partition */


зы: ну и древность же у Вас используется... Chan исправляет разного рода баги постоянно... но меняйте потом, когда разберетесь.

Сообщение отредактировал Genadi Zawidowski - Dec 14 2015, 08:51
Go to the top of the page
 
+Quote Post
zeycon
сообщение Dec 14 2015, 09:16
Сообщение #3





Группа: Участник
Сообщений: 5
Регистрация: 14-12-15
Пользователь №: 89 686



Я пробовал и самую свежую версию прям с сайта чана, тоже не запустилась
шяс пробовал _MULTI_PARTITION 1 перестал компилитья.
может я не правильно портирую

просто отключил опции с ATA и USB
может еше чтонибудь надо менять ?
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Dec 14 2015, 09:22
Сообщение #4


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Оставьте родную версию fat fs, проверьте что компилится.
Потом define поменяйте. Просто современные карты уже из магазина идут с partition table, а не с обычным floppy-подобным способом разметки.
Диагностику сюда (кокоса у меня нет, проверить сам не смогу).

Загляните сюда - https://188.134.5.254/browser/hfreceiver/trunk/sdcard.c - поверялось от 128 мегабайт до 16 гигабайт (форматирование не сделано).


Начиная со строки 2352

Сообщение отредактировал Genadi Zawidowski - Dec 14 2015, 09:35
Go to the top of the page
 
+Quote Post
zeycon
сообщение Dec 14 2015, 10:06
Сообщение #5





Группа: Участник
Сообщений: 5
Регистрация: 14-12-15
Пользователь №: 89 686



Опять не компилиться 05.gif
Прикрепленное изображение


Я раньше на АВР-ах использовал карты все работали без проблем до 16GB FAT32
но это было CodeVisionAVR а там нету исходников на либы. (там тоже чановский код использован)

Сообщение отредактировал zeycon - Dec 14 2015, 10:08
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Dec 14 2015, 10:13
Сообщение #6


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



В моих исходниках diskio.c было

Код
#if _MULTI_PARTITION    /* Volume - Partition resolution table */
PARTITION VolToPart[] = {
    {0, 0},    /* "0:" <== Disk# 0, auto detect */
    {1, 0},    /* "1:" <== Disk# 1, auto detect */
    {2, 0},    /* "2:" <== Disk# 2, auto detect */
    {3, 1},    /* "3:" <== Disk# 3, 1st partition */
    {3, 2},    /* "4:" <== Disk# 3, 2nd partition */
    {3, 3},    /* "5:" <== Disk# 3, 3rd partition */
    {4, 0},    /* "6:" <== Disk# 4, auto detect */
    {5, 0}    /* "7:" <== Disk# 5, auto detect */
};
#endif


- т.е., оно должно открываться при мультипартишион. Что-то запилили совсем...

Сообщение отредактировал Genadi Zawidowski - Dec 14 2015, 10:14
Go to the top of the page
 
+Quote Post
zeycon
сообщение Dec 14 2015, 10:31
Сообщение #7





Группа: Участник
Сообщений: 5
Регистрация: 14-12-15
Пользователь №: 89 686



У меня нету такого.
У вас какая версия ?

а еще вот такой момент есть
disk_timerproc(); /* Disk timer process */

эта функция должна вызываться каждые 10мс
но в моих драйверах нету такого.

может в этом дело ?
хотя и без этого посекторно карта читается !

Сообщение отредактировал zeycon - Dec 14 2015, 10:35
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Dec 14 2015, 10:39
Сообщение #8


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



У меня disk_timerproc нет вообще. Никаких асинхронных процессов не происходит. Есть get_fattime - её при создании/модификации файла вызывают чтобы текущее время узнать.
Использую
Код
/*----------------------------------------------------------------------------/
/  FatFs - FAT file system module  R0.11                 (C)ChaN, 2015
/-----------------------------------------------------------------------------/


в Ваших исходниках кто-то таблицу разделов удалил. В прототипе от Чана было.

Сообщение отредактировал Genadi Zawidowski - Dec 14 2015, 10:42
Go to the top of the page
 
+Quote Post
zeycon
сообщение Dec 14 2015, 12:09
Сообщение #9





Группа: Участник
Сообщений: 5
Регистрация: 14-12-15
Пользователь №: 89 686



Отсюда скачал.

Не моглибы вы скинуть вашу версию сюда ?
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Dec 14 2015, 12:55
Сообщение #10


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Я оттуда же качал. Файлы без модификаций (кроме diskio.c, который заменен sdcard.c и конфигурационного) - все лежит в SVN, на который ссылк ф давал уже выше.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 15:21
Рейтинг@Mail.ru


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