aaarrr 63 3 марта, 2020 Опубликовано 3 марта, 2020 · Жалоба 1 hour ago, haker_fox said: Снова не помню уже нюансов, а карте по-барабану, что-ли, на контрольную сумму?! Речь о проверке CRC ответа карты. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 3 марта, 2020 Опубликовано 3 марта, 2020 · Жалоба 1 hour ago, aaarrr said: Речь о проверке CRC ответа карты. Изначально речь шла о том, что команда чтения превращается... превращается в команду записи. На что я и ответил, что команда защищена контрольной суммой. И просто так карта ничего стирать не начнёт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 14 3 марта, 2020 Опубликовано 3 марта, 2020 · Жалоба Если мне не изменяет мой склероз, то CRC в режиме SPI проверяется только на одной команде - MMC_CMD_0_GO_IDLE. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 3 марта, 2020 Опубликовано 3 марта, 2020 · Жалоба 51 minutes ago, haker_fox said: Изначально речь шла о том, что команда чтения превращается... превращается в команду записи. На что я и ответил, что команда защищена контрольной суммой. И просто так карта ничего стирать не начнёт. Просто вы процитировали замечание про бит CCCEN, который разрешает проверку ответа карты со стороны контроллера. Скорее всего, проблема софтовая, и не связана непосредственно с FatFS и драйвером SD. 32 minutes ago, AHTOXA said: Если мне не изменяет мой склероз, то CRC в режиме SPI проверяется только на одной команде - MMC_CMD_0_GO_IDLE. Так то SPI. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 5 3 марта, 2020 Опубликовано 3 марта, 2020 · Жалоба а FatFS разве многопоточная? ну то есть каким-то семафором или еще как-то защищены операции с картой? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 3 марта, 2020 Опубликовано 3 марта, 2020 · Жалоба 1 hour ago, AHTOXA said: Если мне не изменяет мой склероз, то CRC в режиме SPI проверяется только на одной команде - MMC_CMD_0_GO_IDLE. Автор топика не упомянул о режиме. Или я пропустил? 38 minutes ago, aaarrr said: Просто вы процитировали замечание про бит CCCEN, который разрешает проверку ответа карты со стороны контроллера. Верно. Но подразумевал другое) 38 minutes ago, aaarrr said: Скорее всего, проблема софтовая, Я тоже так считаю. 18 minutes ago, yes said: а FatFS разве многопоточная? ну то есть каким-то семафором или еще как-то защищены операции с картой? Да. На уровне самой ФатФС. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 14 3 марта, 2020 Опубликовано 3 марта, 2020 · Жалоба 9 минут назад, haker_fox сказал: Автор топика не упомянул о режиме. Или я пропустил? Не упомянул. Поэтому вариант с порчей команды подходит под начальные условия :-) 10 минут назад, haker_fox сказал: Да. На уровне самой ФатФС. Не совсем. Пользователь должен обеспечить ff_cre_syncobj()/ff_del_syncobj() и ff_req_grant()/ff_rel_grant(). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 119 3 марта, 2020 Опубликовано 3 марта, 2020 · Жалоба 34 минуты назад, AHTOXA сказал: Пользователь должен обеспечить Ооо как я отстал. Надо будет обновиться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serglg 0 3 марта, 2020 Опубликовано 3 марта, 2020 · Жалоба как-то у меня внезапно стали убиваться насмерть USB Flash, Тоже через fatfs после попытки записать файл флэшка переставала видеться вообще в компе. Хоят перед этим в разных версиях моей программы всё было нормально. Даже форматирование не помогало. У меня оказался глюк в моем коде - с размером массива. Совсем постороннего, на залезшего на область памяти fatfs. :-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 3 марта, 2020 Опубликовано 3 марта, 2020 · Жалоба 4 hours ago, AHTOXA said: Пользователь должен обеспечить По-факту уже не должен))) Всё работает из "каропки"))) Имею в виду, что под распротсранённые оси (FreeRTOS точно) эти функции есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Developer 0 4 марта, 2020 Опубликовано 4 марта, 2020 (изменено) · Жалоба С картой памяти я работаю через SDIO По поводу CСCEN, насколько я понял из спецификации SDHC, выставление это бита просто будет приводить к тому, что контроллер будет сообщать об ошибке. Если бит не выставлен, то просто не будет ответа. и со стороны процессора вы вывалимся с таймаутом при ожидании ответа Изменено 4 марта, 2020 пользователем Developer Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Developer 0 4 марта, 2020 Опубликовано 4 марта, 2020 · Жалоба Для проверки работы взял различные карты памяти: Smartbuy, Mirex, Transcend (Industrial), Transcend SLC (Industrial) Diamond MLC(Industrial). В качестве теста писал рандомные данные в один и тот же сектор без использование FatFs, вычитывал, сверял. В итоге получил регулярные ошибки записи с микроконтроллером RT1050 (примерно раз в 100 циклов) на Transcend (Industrial), на Mirex ошибки были заметно чаще, на остальных картах без ошибок. Ошибку "DataCrcError" возвращала именно операция записи. На микроконтроллере MK24 нет ошибок ни на одной карте памяти, в том числе после выставления бита CСCEN. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 4 марта, 2020 Опубликовано 4 марта, 2020 · Жалоба 4 hours ago, Developer said: Ошибку "DataCrcError" возвращала именно операция записи. Тогда проверяйте железо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 34 4 марта, 2020 Опубликовано 4 марта, 2020 · Жалоба 1 час назад, aaarrr сказал: Тогда проверяйте железо. +1 . Или уменьшайте частоту клока Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться