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

 
 
> stm32f4 + Chan's FatFS, работа с большими SD картами
klen
сообщение Aug 1 2018, 20:40
Сообщение #1


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



Здравсвуйте!
с флехами размером 4 гигабайта работает все хорошою с большими 16/32 и тд начинаются глюки.
при отладке выловил в функции clst2sect что индекс сектора становится выше диапазона и FatFS вываливается с ошибкой FR_INT_ERR
это я что то не так делаю или это не только у меня?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Integro
сообщение Aug 2 2018, 08:04
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 167
Регистрация: 25-12-09
Из: Минск
Пользователь №: 54 460



Поддерживаю, работал с одной из последних версий, с 16 и 32 проблем нет! Помимо рекомендаций из предыдущего поста стоит также посмотреть на нижний слой, интерфейс карты и проверить адресацию для High Capacity
Go to the top of the page
 
+Quote Post
klen
сообщение Aug 3 2018, 07:27
Сообщение #3


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



спасибо!
вроде заработало.
тестировался на шести 2ГБ файлах на 16ГБ SanDISC uSD, читал начало и конец файла.
использую крайний FatFS
свой самописный драйвер (SDIO+DMA)->SDCARD

как было сказано нужно обращать внимание на адресацию. в моем коде был косяг с умножением индекса блока на размер блока (512), до тех пор пока 32 бит хватало - работает, если файл лежал далеко за 2 ГБ все естественно читалось и писалось в неправильные блоки.

еще нужно обратить внимание, что если не включать опцию FF_USE_EXFAT тип аргумента f_lseek - uint32_t и по большому файлу не полазишm даже если он есть. если FF_FS_EXFAT=1 то указатель позиции uint64_t
ff.h:
Код
...
/* Type of file size variables */

#if FF_FS_EXFAT
typedef QWORD FSIZE_t;
#else
typedef DWORD FSIZE_t;
#endif
...


настоятельно рекомендую использовать фичу FF_USE_FASTSEEK=1, без карты индексов FatFS итерациями в цикле индексы блокв индексирует. на маленьких файлах это не заметно. на больших все замедляется.
http://elm-chan.org/fsw/ff/doc/lseek.html
Go to the top of the page
 
+Quote Post
Grape
сообщение Aug 27 2018, 13:19
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 69
Регистрация: 22-10-04
Пользователь №: 956



Цитата(klen @ Aug 3 2018, 10:27) *
...
еще нужно обратить внимание, что если не включать опцию FF_USE_EXFAT тип аргумента f_lseek - uint32_t и по большому файлу не полазишm даже если он есть. если FF_FS_EXFAT=1 то указатель позиции uint64_t


а в fat32 может быть файл размером больше UINT32_MAX?


Цитата(klen @ Aug 3 2018, 10:27) *
...
как было сказано нужно обращать внимание на адресацию. в моем коде был косяг с умножением индекса блока на размер блока (512), до тех пор пока 32 бит хватало - работает, если файл лежал далеко за 2 ГБ все естественно читалось и писалось в неправильные блоки.


32 бит должно хватать для адресации карт до 2Tb включительно.
Умножение требуется для карт SDSC (max 2Gb), там байтная адресация.


4.3.14 Command Functional Difference in Card Capacity Types
CCS in the response of ACMD41 determines card capacity types: CCS=0 is SDSC and CCS=1 is SDHC or SDXC.
Memory access commands include block read commands (CMD17, CMD18), block write commands
(CMD24, CMD25), and block erase commands (CMD32, CMD33).
Following are the functional differences of memory access commands between SDSC and SDHC, SDXC:

Command Argument
SDHC and SDXC use the 32-bit argument of memory access commands as block address
format. Block length is fixed to 512 bytes regardless CMD16,

SDSC uses the 32-bit argument of memory access commands as byte address format. Block
length is determined by CMD16,
i.e.:
(a) Argument 0001h is byte address 0001h in the SDSC and 0001h block in SDHC and SDXC
(cool.gif Argument 0200h is byte address 0200h in the SDSC and 0200h block in SDHC and SDXC
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- klen   stm32f4 + Chan's FatFS   Aug 1 2018, 20:40
- - Genadi Zawidowski   кэши, выравнивание... Все там работает. Версию пон...   Aug 1 2018, 20:52
- - Genadi Zawidowski   Вот мой конфиг, служит хорошо. За FF_USE_FASTSEEK ...   Aug 3 2018, 07:36
|- - klen   здравcтуйте. с помощью такой то матери дописал sdi...   Aug 26 2018, 15:38
|- - mantech   Цитата(klen @ Aug 26 2018, 18:38) ... теп...   Aug 27 2018, 08:00
|- - aaarrr   Цитата(mantech @ Aug 27 2018, 11:00) А во...   Aug 27 2018, 08:25
|- - klen   дело в том что платы летают+вибрируют, и иногда с ...   Aug 27 2018, 09:06
|- - Arlleex   Цитата(klen @ Aug 27 2018, 12:06) я сам н...   Aug 27 2018, 12:36
|- - Obam   Цитата(Arlleex @ Aug 27 2018, 15:36) Изи ...   Aug 27 2018, 15:50
|- - Arlleex   Цитата(Obam @ Aug 27 2018, 18:50) Ну, есл...   Aug 27 2018, 15:57
||- - mantech   Цитата(Arlleex @ Aug 27 2018, 18:57) Да д...   Sep 6 2018, 19:10
||- - Arlleex   Цитата(mantech @ Sep 6 2018, 22:10) Так-т...   Sep 7 2018, 14:15
||- - mantech   Цитата(Arlleex @ Sep 7 2018, 17:15) Они ф...   Sep 7 2018, 16:44
|- - MrYuran   Цитата(Obam @ Aug 27 2018, 18:50) Ну, есл...   Aug 31 2018, 12:12
- - haker_fox   Тоже недавно сделал свой драйвер для SD. Правда дл...   Aug 31 2018, 01:42
- - AlanDrakes   Гарантия есть. Она в самой команде CMD25, которая ...   Aug 31 2018, 08:55
|- - haker_fox   QUOTE (AlanDrakes @ Aug 31 2018, 16:55) П...   Aug 31 2018, 10:04
- - AlanDrakes   Помнится мне, что вся работа с секторами происходи...   Sep 3 2018, 16:27
- - Genadi Zawidowski   Цитата"Пиши вот это, вот сюда, в таком-то кол...   Sep 3 2018, 19:31
|- - haker_fox   QUOTE (Genadi Zawidowski @ Sep 4 2018, 03...   Sep 4 2018, 01:50
- - AlanDrakes   Пилил я как-то свой тест скорости карточек. Не опт...   Sep 4 2018, 05:34
|- - haker_fox   QUOTE (AlanDrakes @ Sep 4 2018, 13:34) Ес...   Sep 5 2018, 14:08
|- - jcxz   Цитата(haker_fox @ Sep 5 2018, 17:08) С S...   Sep 6 2018, 04:52
|- - klen   Цитата(jcxz @ Sep 6 2018, 07:52) Вы не по...   Sep 6 2018, 17:05
|- - aaarrr   Цитата(klen @ Sep 6 2018, 20:05) Почему о...   Sep 6 2018, 18:29
|- - jcxz   Цитата(klen @ Sep 6 2018, 20:05) SDIO мож...   Sep 7 2018, 04:40
|- - Axel   Цитата(jcxz @ Sep 7 2018, 07:40) ...Заказ...   Sep 8 2018, 04:02
|- - jcxz   Цитата(Axel @ Sep 8 2018, 07:02) В общем ...   Sep 8 2018, 11:01
- - haker_fox   QUOTE (jcxz @ Sep 6 2018, 12:52) Вы не по...   Sep 10 2018, 00:00
|- - aaarrr   Цитата(haker_fox @ Sep 10 2018, 03:00) SP...   Sep 10 2018, 00:37
||- - haker_fox   QUOTE (aaarrr @ Sep 10 2018, 08:37) 50, h...   Sep 10 2018, 01:34
||- - aaarrr   Цитата(haker_fox @ Sep 10 2018, 04:34) Мо...   Sep 10 2018, 15:13
|- - jcxz   Цитата(haker_fox @ Sep 10 2018, 03:00) Ка...   Sep 10 2018, 07:56
|- - haker_fox   QUOTE (jcxz @ Sep 10 2018, 15:56) О каких...   Sep 10 2018, 10:08
|- - jcxz   Цитата(haker_fox @ Sep 10 2018, 13:08) Да...   Sep 10 2018, 11:30
|- - haker_fox   QUOTE (jcxz @ Sep 10 2018, 19:30) Не надо...   Sep 10 2018, 14:33
||- - jcxz   Цитата(haker_fox @ Sep 10 2018, 17:33) Т....   Sep 10 2018, 20:23
||- - haker_fox   QUOTE (jcxz @ Sep 11 2018, 04:23) Почитай...   Sep 10 2018, 23:43
|- - Сергей Борщ   QUOTE (jcxz @ Sep 10 2018, 14:30) Не надо...   Sep 10 2018, 21:15
|- - jcxz   Цитата(Сергей Борщ @ Sep 11 2018, 00:15) ...   Sep 11 2018, 05:23
|- - haker_fox   QUOTE (jcxz @ Sep 11 2018, 13:23) Естеств...   Sep 11 2018, 06:35
|- - jcxz   Цитата(haker_fox @ Sep 11 2018, 09:35) Чт...   Sep 11 2018, 06:51
- - V_N   ЦитатаЕдинственный плюс SDIO в сравнении с SPI - б...   Sep 11 2018, 07:46
|- - jcxz   Цитата(V_N @ Sep 11 2018, 10:46) Вы не пр...   Sep 11 2018, 09:10
|- - aaarrr   Цитата(jcxz @ Sep 11 2018, 12:10) И сколь...   Sep 11 2018, 09:45
|- - jcxz   Цитата(aaarrr @ Sep 11 2018, 12:45) На чт...   Sep 11 2018, 12:31
|- - aaarrr   Цитата(jcxz @ Sep 11 2018, 15:31) И вообщ...   Sep 11 2018, 14:06
|- - haker_fox   QUOTE (aaarrr @ Sep 11 2018, 22:06) Так и...   Sep 11 2018, 14:16
|- - jcxz   Цитата(aaarrr @ Sep 11 2018, 17:06) Думае...   Sep 11 2018, 15:21
|- - aaarrr   Цитата(jcxz @ Sep 11 2018, 18:21) Ага, не...   Sep 11 2018, 15:34
|- - jcxz   Цитата(aaarrr @ Sep 11 2018, 18:34) Вы, н...   Sep 11 2018, 17:37
||- - aaarrr   Цитата(jcxz @ Sep 11 2018, 20:37) Может о...   Sep 11 2018, 18:44
|- - Aner   QUOTE (aaarrr @ Sep 11 2018, 18:34) Внутр...   Sep 11 2018, 18:17
- - haker_fox   QUOTE (jcxz @ Sep 11 2018, 14:51) Не особ...   Sep 11 2018, 08:16
- - V_N   ЦитатаВот касательно приведённого выше V_N примера...   Sep 11 2018, 18:28
|- - jcxz   Цитата(V_N @ Sep 11 2018, 21:28) Файл не ...   Sep 11 2018, 19:17
|- - aaarrr   Цитата(jcxz @ Sep 11 2018, 22:17) И можно...   Sep 11 2018, 19:37
|- - jcxz   Цитата(aaarrr @ Sep 11 2018, 22:37) Забыл...   Sep 11 2018, 19:53
|- - aaarrr   Цитата(jcxz @ Sep 11 2018, 22:53) Хммм......   Sep 11 2018, 20:03
|- - jcxz   Цитата(aaarrr @ Sep 11 2018, 23:03) Разум...   Sep 11 2018, 20:40
|- - aaarrr   Цитата(jcxz @ Sep 11 2018, 23:40) А по де...   Sep 11 2018, 20:53
- - haker_fox   QUOTE (jcxz @ Sep 12 2018, 03:17) и она в...   Sep 12 2018, 00:26
|- - jcxz   Цитата(haker_fox @ Sep 12 2018, 03:26) Я ...   Sep 12 2018, 05:56
|- - aaarrr   Цитата(jcxz @ Sep 12 2018, 08:56) И если ...   Sep 12 2018, 08:21
|- - jcxz   Цитата(aaarrr @ Sep 12 2018, 11:21) А нич...   Sep 12 2018, 08:55
|- - aaarrr   Цитата(jcxz @ Sep 12 2018, 11:55) Несколь...   Sep 12 2018, 10:33
- - V_N   ЦитатаТогда о чём разговор? Зачем тогда процессор ...   Sep 12 2018, 06:13
|- - jcxz   Цитата(V_N @ Sep 12 2018, 09:13) Запитанн...   Sep 12 2018, 06:35
|- - haker_fox   QUOTE (jcxz @ Sep 12 2018, 14:35) И винов...   Sep 12 2018, 07:50
- - Genadi Zawidowski   ЦитатаДля особо одаренных пользователей ( карта на...   Sep 12 2018, 07:11
- - V_N   ЦитатаЦитатаКак-то странно делать выводы о потребл...   Sep 12 2018, 09:24
- - haker_fox   QUOTE (jcxz @ Sep 12 2018, 16:55) Я прост...   Sep 12 2018, 09:40
- - Arlleex   Мне все-таки нужна консультация, чем отличается SD...   Sep 12 2018, 11:45
- - haker_fox   QUOTE (Arlleex @ Sep 12 2018, 19:45) Если...   Sep 12 2018, 12:04
- - aaarrr   Цитата(Arlleex @ Sep 12 2018, 14:45) Если...   Sep 12 2018, 12:13


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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 17:29
Рейтинг@Mail.ru


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