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

 
 
> STM32F207. Mass-Storage на основе библиотеки от ST, Зависание при чтении данных с диска
kovigor
сообщение Sep 22 2011, 07:33
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Добрый день !

Проблема: при чтении данных с диска (в его качестве используется SD CARD) проект подвисает, Может подвиснуть сразу же после начала чтения, а может и не сразу, а прочитав пару сотен MBytes. Если же в функции, читающей данные с карточки и инициирующей передачу по USB, выключить чтение с карточки и вместо данных с нее писать в буфер конечной точки, например, 0, 1, 2, 3, 4 и т.п., то все работает идеально.
И вот еще что. Ясно, что при чтении данных с диска система может запрашивать блоки разной длины. Проект разбивает такие запросы на блоки длиной <= 4096 байт и по мере поступления IN - пакетов от машины подчитывает эти блоки с карточки. Так вот, замечено, что если эти, всегда разной длины, запросы игнорировать, а вместо этого читать с карточки всегда одно и то же кол-во байтов (т.е., секторов; я проходил все значения, от 1 до 8 секторов) то проект тоже работает отлично. Естественно, с диска читается полная околесица, но это не важно - мне лишь бы с него что-то читалось, для проверки.

И вот я думаю, это проблема проекта или моей самодельной платки с USB HS на борту ? Из того, что я описал, выходит, что дело все-таки в проекте. Кто-нибудь пробовал этот проект в работе ?

Вот он:
http://www.st.com/internet/com/SOFTWARE_RE...-device_lib.zip

Внутри:
\usb_device_examples\msc\mdk_arm
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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