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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> stm32f4 Зависает USB Host, режим mass storage
mantech
сообщение Sep 12 2013, 19:30
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Довелось мне поюзать платку дискавери в режиме усб-хоста. Так вроде все работает rolleyes.gif
За одним нюансом - когда вставляешь-вынимаешь флеху "на горячюю" она как правило потом снова нормально подключается, но раз на 10й, а может и на 20й wacko.gif ... Просто виснет и все тут!!

"методом тыка" определил, что происходит постоянный вызов обработчика прерываний - OTG_FS_IRQHandler в котором вызывается процедура обработчика - USBH_OTG_ISR_Handler (...)
Причем, при "нормальной" работе хоста, прерывания вызываются только при подключенной флехе, а когда ее нет то нет и прерывания, а тут такое... 05.gif

Уважаемые гуру, может кто знает, что тут сделать можно?? Мое мнение - не происходит обработка какой-либо исключительной ситуации или ошибки хоста, хотя могу ошибаться. Как вариант - каким-либо образом проресетить усб контроллер, чтоб выйти из бесконечного прерывания...
Go to the top of the page
 
+Quote Post
kovigor
сообщение Sep 12 2013, 19:46
Сообщение #2


Гуру
******

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



Цитата(mantech @ Sep 12 2013, 22:30) *
Уважаемые гуру, может кто знает, что тут сделать можно??

В техподдержку ST напишите. Возможно, эта проблема им известна.

P.S. Жизнь, елки-палки. Абсолютно все версии Win2000 и XP (а может, и более поздние - просто не проверял) абсолютно на всех машинах, когда-либо виденных мною, страдают одной и той же болезнью - при горячем выключении USB - клавиатуры (именно клавиатуры, и ничего другого, производитель клавиатуры при этом не важен) система мертво зависает в среднем раз из десяти, а то и из пяти. Спасает тольо кнопка сброса. И это в ОС, разошедшейся десятками миллионов экземпляров по всему миру. А тут какая-то учебная платка с демонстрационно-учебным ПО ... Когда я писал свой хост для ARM9, то пару месяцев "вылизывал" каждую строчку, тестировал все возможные режимы и вполне мог отвечать за то, что и как у меня работает. А здесь ... Что сказать ? Придется вам вгрызаться в этот проект, и вгрызаться серьезно. Чудес не бывает. Вернее, бывают, но чуда нужно быть достойным ...
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 12 2013, 20:00
Сообщение #3


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



при горячем выключении USB - клавиатуры (именно клавиатуры, и ничего другого, производитель клавиатуры при этом не важен) система мертво зависает в среднем раз из десяти, а то и из пяти.


Дак это понятное дело... В данном случае не думаю, что виновата "железка", а про СТ-шные библиотеки вообще разговор особый!! Мне просто интересно, что лучше сделать при таком поведении хоста - как-то сбрасывать прерывание или ресетить сам хост, правда пока не знаю как...
Go to the top of the page
 
+Quote Post
kovigor
сообщение Sep 12 2013, 22:43
Сообщение #4


Гуру
******

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



Цитата(mantech @ Sep 12 2013, 23:00) *
как-то сбрасывать прерывание или ресетить сам хост, правда пока не знаю как...

Глубоко разобраться в причине проблемы и осознанно выбрать путь ее решения. C наскока ничего не выйдет, учитывая крайне сложную реализацию USB в STM и дaлекoе от совершенства ПО, предоставляемое ST ...
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 13 2013, 09:10
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Может кто дать ссылку на описание самого интерфейса усб? А то пока есть только общий даташит, и на сайте ст черт ногу сломает...
Go to the top of the page
 
+Quote Post
kovigor
сообщение Sep 13 2013, 09:58
Сообщение #6


Гуру
******

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



Цитата(mantech @ Sep 13 2013, 12:10) *
Может кто дать ссылку на описание самого интерфейса усб? А то пока есть только общий даташит, и на сайте ст черт ногу сломает...

Я этим занимался года 2 назад. Документация на USB-движок, встроенный в эти МК была довольно неудачная и попросту неполная (т.е., даже имея ее, написать свою реализацию того же хоста было невозможно). Не знаю, как сейчас, я пока об ST забыл, как о страшном сне ...
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 13 2013, 16:52
Сообщение #7


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Документация на USB-движок, встроенный в эти МК была довольно неудачная и попросту неполная (т.е., даже имея ее, написать свою реализацию того же хоста было невозможно).


Нее, я только одного не понимаю, они что, не хотят, чтобы их микросхемы покупали?? Я уже целый час сижу на их сайте и ничего кроме даташита о том, что есть в этом камне, больше ничего нет!!! В чем смысл скрывать данные о девайсах в контроллере, снабдить все это чудо полукривыми либами, к которым тоже нет доков, кроме убогого описания усб либы и то, на 60% посвященной девайсу, а не хосту?? Или просто я дурак, что связался с стшным контроллером??? Хотя время еще есть можно послать его к "ядреной бабушке", и раскурить что-нить более путевое, типа nxp или atmel... На вашем месте, что лучше сделать??
Go to the top of the page
 
+Quote Post
kovigor
сообщение Sep 14 2013, 09:44
Сообщение #8


Гуру
******

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



Цитата(mantech @ Sep 13 2013, 19:52) *
Хотя время еще есть можно послать его к "ядреной бабушке", и раскурить что-нить более путевое, типа nxp или atmel... На вашем месте, что лучше сделать??

На моем ? На то время, когда я взялся за ST, у него был один конек - USB HS. Мне именно HS и был нужен, FS было мало. Поэтому пришлось мучиться, тратить время, нервы, здоровье и портить зрение. Сейчас наверняка ситуация изменилась, и можно подобрать МК и с HS у того же NXP или ATMEL. Сможете подобрать - подберите и используйте.
ще. Говорят, STM дешевле. Планируете крупную серию ? Если да, возможно, стоит помучиться. Если нет, бегите от STM, теряя тапки, ломая крылья и теряя перья. Это мое ИМХО, основанное на тяжелом и выстраданном личном опыте.
Следующее подобное счастье - AM1707 от TI. Документация на USB неполная, примеров ... нет (!!!) Зато есть Линукс с исходниками. Предлагается желающим добывать изюм из булочек, выискивая в этой навозной куче связанные с USB жемчужные зерна. Простите, оно мне надо ? И сил у меня на это нет. Ковыряние в мегабайтах исходников Линукса с целью выковыривания оттуда какой-то козявки - не мой конек. Полтора месяца промучился и плюнул.
Хотя, опять же, раз есть Линукс, значит, все необходимые исходники, наброски, документы и проч. у фирмы-разработчика есть. Почему бы их не выложить ? Так нет же ! Вот вам Линукс, ешьте его с маслом. А мне нужно было именно Standalone - решение ...
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 14 2013, 11:29
Сообщение #9


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



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

Да уж, этот линукс... Меня тоже уже пытались "накормить" им, но не люблю копаться в чужих осях, особенно в тех, где нужно копать миллион файлов, с командной строкой в большинстве случаев и ждать несколько минут пересборку оси чтоб проверить тот-ли регистр был нужен...

Вобщем проблему с зависанием я решил, нашел глюк в либе, дело было в обработчике прерывания состояния канала, не всегда сбрасывался флаг NAK, отсюда постоянное прерывание до бесконечности...

Но моя радость еще не полная, есть еще одно НО, не всегда определяется картридер с карточкой... Чувствую придется еще "зарыться" в эти либы, мать их! sad.gif
Go to the top of the page
 
+Quote Post
adnega
сообщение Sep 14 2013, 11:40
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(mantech @ Sep 13 2013, 20:52) *
Или просто я дурак, что связался с стшным контроллером??? Хотя время еще есть можно послать его к "ядреной бабушке", и раскурить что-нить более путевое, типа nxp или atmel... На вашем месте, что лучше сделать??

Ну, ST надо уметь готовить))
В моих задачах я на одном STM32 могу все решить блягодаря его "аццким" таймерам, DMA и т.п.
Пытался аналогичное сделать на NXP (а ARM7 и первые Cortex я осваивал по NXP) - не получается.
Сейчас уже не помню подробностей, но таймеры у NXP "обычные" - только захват и сравнение.
DMA у NXP по крайне мере раньше обслуживал маленький список "счастливчиков" и АЦП, вроде, в него не входил.
Крайний раз в NXP меня поразил Cortex с CAN-phy на борту (2 года назад), но так руки и не дошли, хотя с десяток микросхем все это
время пылится в столе.

Если вдруг решите связаться с ST, то про "его кухню" тут не мало постов. Но придется читать документацию, и некоторые особенности
применения узнавать из StdLib - с течением времени рвотный рефлекс приглушается и все становится нормой. Самое интересное, что
я практически купил кучку STM32F429 (в дороге), на которых даже нет документации на сайте)) Говорят, появится в октябре. Ну вот как-то так...
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 14 2013, 11:44
Сообщение #11


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



я практически купил кучку STM32F429 (в дороге), на которых даже нет документации на сайте)) Говорят, появится в октябре. Ну вот как-то так...


Прикольно, коты в мешке blink.gif
Это случаем не те, что с ЖК контроллером и сдрамкой на борту?? Интересно бы посмотреть как они в работе...

Сообщение отредактировал mantech - Sep 14 2013, 11:45
Go to the top of the page
 
+Quote Post
A. Fig Lee
сообщение Sep 14 2013, 11:56
Сообщение #12


Знающий
****

Группа: Участник
Сообщений: 974
Регистрация: 4-04-08
Из: далека
Пользователь №: 36 467



Цитата(mantech @ Sep 13 2013, 12:52) *
Документация на USB-движок, встроенный в эти МК была довольно неудачная и попросту неполная (т.е., даже имея ее, написать свою реализацию того же хоста было невозможно).


Нее, я только одного не понимаю, они что, не хотят, чтобы их микросхемы покупали?? Я уже целый час сижу на их сайте и ничего кроме даташита о том, что есть в этом камне, больше ничего нет!!! В чем смысл скрывать данные о девайсах в контроллере, снабдить все это чудо полукривыми либами, к которым тоже нет доков, кроме убогого описания усб либы и то, на 60% посвященной девайсу, а не хосту?? Или просто я дурак, что связался с стшным контроллером??? Хотя время еще есть можно послать его к "ядреной бабушке", и раскурить что-нить более путевое, типа nxp или atmel... На вашем месте, что лучше сделать??

что и RM0008 не гуглится?
http://www.st.com/web/en/resource/technica.../CD00171190.pdf


--------------------
Верить нельзя никому, даже себе. Мне - можно.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Sep 14 2013, 12:47
Сообщение #13


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

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



Да, с СТ чтото странное: недавно познакомился с их чипом STM32F051. Микроконтроллер мощный в плане периферии, её возможностях - тут ничего не попишешь. Но дока - отвратительная! В смысле - как буд-то бы слегка кастрированная. В общем порой мучался на ровных местах...


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 14 2013, 14:12
Сообщение #14


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(A. Fig Lee @ Sep 14 2013, 14:56) *


Это для 107 мануал. Для 407 - RM0090 который я после 2х часов танцев с бубном и обращением к всевышнему, нашел у них на сайте wacko.gif

Сразу и ошибку с NAKом нашел, но еще "не вечер"...

Цитата(haker_fox @ Sep 14 2013, 15:47) *
Да, с СТ чтото странное: недавно познакомился с их чипом STM32F051. Микроконтроллер мощный в плане периферии, её возможностях - тут ничего не попишешь. Но дока - отвратительная! В смысле - как буд-то бы слегка кастрированная. В общем порой мучался на ровных местах...



Да там нормальная дока (я про усб в смысле), просто сам контроллер навороченый очень, поэтому сложновато...
Go to the top of the page
 
+Quote Post
adnega
сообщение Sep 14 2013, 15:24
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(mantech @ Sep 14 2013, 18:12) *
Это для 107 мануал. Для 407 - RM0090 который я после 2х часов танцев с бубном и обращением к всевышнему, нашел у них на сайте wacko.gif

В отношении STM32F429 там (RM0090 ver 4) нет описания "плюшек", характерных именно 429, а не 407.
Go to the top of the page
 
+Quote Post
mantech
сообщение Sep 14 2013, 17:52
Сообщение #16


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(adnega @ Sep 14 2013, 18:24) *
В отношении STM32F429 там (RM0090 ver 4) нет описания "плюшек", характерных именно 429, а не 407.


Да, я заметил - контроллера дисплея там точно нет(((
Go to the top of the page
 
+Quote Post
HardEgor
сообщение Sep 15 2013, 08:32
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 223
Регистрация: 3-03-06
Из: Tomsk
Пользователь №: 14 925



Цитата(mantech @ Sep 15 2013, 00:52) *
Да, я заметил - контроллера дисплея там точно нет(((

Наверное предполагается использование библотеки http://www.compel.ru/fordesigners/ya-avtor...t-kontrollerom/
Go to the top of the page
 
+Quote Post
adnega
сообщение Sep 15 2013, 13:12
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(HardEgor @ Sep 15 2013, 12:32) *
Наверное предполагается использование библотеки http://www.compel.ru/fordesigners/ya-avtor...t-kontrollerom/

Скорее, просто описание "Chrom-ART Accelerator™ (DMA2D)" и "Flexible memory controller (FMC) в части поддержки SDRAM".
Go to the top of the page
 
+Quote Post

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

 


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


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