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

 
 
> 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
Ответов
haker_fox
сообщение Sep 12 2018, 00:26
Сообщение #2


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (jcxz @ Sep 12 2018, 03:17) *
и она всё-таки встроенная, то зачем тогда там вообще ФС?

Я бы от ФС не отказывался. Она всё равно нужна, хоть своя, хоть стандартная. Даже если просто писать сырые данные, то их нужно как-то упорядочивать и привязывать к адресному пространству. Элементарно, чтобы потом найти. А если железка подключается к компу, и необходимо посмотреть данные, то тут точно FAT необходима.

QUOTE (jcxz @ Sep 12 2018, 03:53) *
Зачем буфер? И что за буфер?

Буфер необходим, чтобы исключить паразитную подпитку карты, когда шина SPI смотрит наружу в разъём карты. Даже если мы отключим питание карты ключом, то через встроенные в карту защитные диоды по пинам будет происходить подпитка карты. А если стоит конденсатор по питанию, то напряжение на нём будет по-маленьку расти (эффект интегрирующей RC-цепочки), и может достичть почти полной амплитуды питания. Буфер позволяет переводить линии карты в высокоимпедансное состояние, что полностью решает проблему. Если карта - единственное устройство на шине, то буфер не требуется. Можно просто все GPIO перевести на входы.
Кстати, когда по шине идёт обмен данными и мы вставляем карту, то переходные процессы вполне могут нарушить этот обмен, а значит драйвера всех устройств, которые используют шину должны быть готовы к такому поведению.
Я выбрал буферы 74LVC2G125DP. Мы их используем в других разработках. До 25 МГц в нормальных условиях работают. Впереди проверка на отрицательные и положительные (выше нормальной) температуры.


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Sep 12 2018, 05:56
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(haker_fox @ Sep 12 2018, 03:26) *
Я бы от ФС не отказывался. Она всё равно нужна, хоть своя, хоть стандартная. Даже если просто писать сырые данные, то их нужно как-то упорядочивать и привязывать к адресному пространству. Элементарно, чтобы потом найти.

А в чём проблема найти данные в хранилище собственного формата? В чём тут разница с ФС?

Цитата(haker_fox @ Sep 12 2018, 03:26) *
А если железка подключается к компу, и необходимо посмотреть данные, то тут точно FAT необходима.

Если карта вынимается и вставляется в комп - то да. Если не вынимается - нет. Так как устройство может интерпретировать и показывать данные по внешнему интерфейсу как угодно как захочет автор программы.
И даже более того: если скажем нужен кольцевой буфер в который что-то иногда пишется и который иногда нужно показать как файл при подключении к компу. Предположим - данные пишутся блоками одинакового размера N байт.
Как Вы это реализуете с ФС? И как без ФС?
А теперь доп. требование: показать такое хранилище через внешний интерфейс как файл с самыми последними данными в его начале (или конце)?
Ещё доп. требование: кроме этого кольцевого буфера, устройство должно хранить некую структуру данных (например - собственную конфигурацию), произвольные члены которой, должны переписываться в произвольные моменты времени. Причём устройство не имеет монитора питания (может быть выключено в произвольный момент времени), но нужно чтобы конфигурационная структура не была разрушена при таком внезапном выключении в любой точке процедуры записи. Как при включении устройства проверить валидность и атомарность конфигурационной структуры? Как сделать так, чтобы исключить ситуации, когда первые N1 байт структуры относятся к случаю после новой записи, а последние N2 байт - к случаю после новой записи? Как это сделать с ФС и без оной? Какой вариант будет сложнее (или потребует расхода бОльшего ресурса флешь)?

Цитата(haker_fox @ Sep 12 2018, 03:26) *
Если карта - единственное устройство на шине, то буфер не требуется. Можно просто все GPIO перевести на входы.

Ну так вот - Вы сами и ответили. Что буфер - это не требование собственно SPI, а требование при объединении на одной шине SPI нескольких устройств, когда питание некоторых из этих устройств выключается. И если на одну SDIO также повесить несколько устройств, которые могут отключаться по питанию, то для них также потребуются буфера. Так что разницы тут нет никакой.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Sep 12 2018, 08:21
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(jcxz @ Sep 12 2018, 08:56) *
И если на одну SDIO также повесить несколько устройств, которые могут отключаться по питанию, то для них также потребуются буфера.

А ничего, что SD (которую Вы столь упорно обзываете SDIO), вообще не предполагает такого включения?
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
- - Integro   Поддерживаю, работал с одной из последних версий, ...   Aug 2 2018, 08:04
|- - klen   спасибо! вроде заработало. тестировался на шес...   Aug 3 2018, 07:27
|- - Grape   Цитата(klen @ Aug 3 2018, 10:27) ... еще ...   Aug 27 2018, 13:19
- - 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
|- - 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 Текстовая версия Сейчас: 25th August 2025 - 04:35
Рейтинг@Mail.ru


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