Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SD Card - програмная реализация интерфейса
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Страницы: 1, 2, 3, 4, 5
prussta
Цитата(skripach @ Jun 25 2012, 18:32) *
Память выделить под длинное имя и показать fatfs где эта память.



skripach, с памятью ясно, а как показать где эта память? )Можно, по подробнее.
Lotor
Цитата(prussta @ Jun 25 2012, 17:52) *
Что делаю не так ?

Если мне не изменяет память, то шаги такие - в ff.h добавьте _USE_LFN 1. Теперь надо сменить кодировку (например _CODE_PAGE 866) и подключить ccsbcs.c (в нем живет ff_convert).
Ну и пример из документации, где видно как это юзается.
CODE
FRESULT scan_files (char* path)
{
FRESULT res;
FILINFO fno;
DIR dir;
int i;
char *fn;
#if _USE_LFN
static char lfn[_MAX_LFN * (_DF1S ? 2 : 1) + 1];
fno.lfname = lfn;
fno.lfsize = sizeof(lfn);
#endif


res = f_opendir(&dir, path);
if (res == FR_OK) {
i = strlen(path);
for (;;) {
res = f_readdir(&dir, &fno);
if (res != FR_OK || fno.fname[0] == 0) break;
if (fno.fname[0] == '.') continue;
#if _USE_LFN
fn = *fno.lfname ? fno.lfname : fno.fname;
#else
fn = fno.fname;
#endif
if (fno.fattrib & AM_DIR) {
sprintf(&path[i], "/%s", fn);
res = scan_files(path);
if (res != FR_OK) break;
path[i] = 0;
} else {
printf("%s/%s\n", path, fn);
}
}
}

return res;
}
skripach
Цитата
а как показать где эта память?

Код
fno.lfname = lfn;
BlackOps
А мне интерестно кто нибудь из местных тут на форуме делал свою полную реализацию SD под stm32f4 с использованием SDIO?
prussta
Lotor, Skripach спасибо за помощь! Заработало!)) Объявление памяти (см. листинг) вставила в get_fileinfo (DIR *dj, FILINFO *fno), что в ff.c.
И потом все запархало)))
Код
#if _USE_LFN
static char lfn[_MAX_LFN * (_DF1S ? 2 : 1) + 1];
fno.lfname = lfn;
fno.lfsize = sizeof(lfn);
#endif
BlackOps
пытаюсь прикрутить пример стм32 от fatfs, вылезают проблемы, какое то не сходство с новой версией библиотеки, и переопределение функций.


кто нибудь может прикрепить готовый работающий проект с SD картой через 4пин SDIO под stm32f4?


можно даже и любая другая библиотека работающая? или если есть линк на пример? я поискал в нете, но нигде конкретного примера работающего не нашел. везде вылезают ошибки.
ктото может поделится примером рабочим?
Lotor
Цитата(BlackOps @ Jul 3 2012, 08:49) *
ктото может поделится примером рабочим?

Драйвер Вы можете, например, посмотреть в примерах Кейла (\Keil\ARM\RL\FlashFS\Drivers). У меня версия 4.22 и там есть драйверы для STM32F2. В более новых версиях может есть и для f4, если там большие отличия.
BlackOps
ну не тока драйвер
я говорил про рабочий готовый проект, который можно запустить и чтобы он записа данные тестовые не SD карту.
Lotor
Цитата(BlackOps @ Jul 3 2012, 14:27) *
ну не тока драйвер
я говорил про рабочий готовый проект, который можно запустить и чтобы он записа данные тестовые не SD карту.

Ох... %)

Кеил на то драйверы и дает, что это аппаратно зависимая часть их fat.

PS: Если уж по руководству не сможете разобраться, всегда можно посмотреть, как это сделано на примерах для демоборд. Например \Keil\ARM\Boards\ST\STM3220G-EVAL\RL\FlashFS\SD_File. Уверен, что у IAR аналогично.
Allregia
Цитата(Lotor @ Jul 3 2012, 12:33) *
Ох... %)

Кеил на то драйверы и дает, что это аппаратно зависимая часть их fat.


А с FatFs как быть?
Lotor
Цитата(Allregia @ Jul 3 2012, 14:38) *
А с FatFs как быть?

Не знаю, что у Вас за трудности возникают с sdio для stm... Когда я прикручивал fat (для lpc), то начал с кейловской реализации. Убедился, что работает. Посмотрел, как сделан у них драйвер и по аналогии перенес на fatfs. Потом увидел, что у Чэна уже есть готовые демо-проект для моего контроллера.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.