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

 
 
> Ресет USB устройства хостом
Паф
сообщение Jun 23 2009, 05:20
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 21-02-08
Из: Тула
Пользователь №: 35 244



Разработано CDC USB устройство с питанием от шины. Пишется PC программа для настройки и апгрейда устройства.
Из PC программы необходимо сделать ресет устройства для перехода в наш бутлодер.
Пробуем DeviceIoControl(), но что-то не выходит. Кто-нибудь делал такую вещь??? Помогите плиз.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Xenia
сообщение Jun 23 2009, 08:06
Сообщение #2


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(Паф @ Jun 23 2009, 09:20) *
Из PC программы необходимо сделать ресет устройства для перехода в наш бутлодер.
Пробуем DeviceIoControl(), но что-то не выходит. Кто-нибудь делал такую вещь???


В протоколе USB нет и не может быть такой команды, получатель которой делал бы себе харакири smile.gif. Поэтому копать надо не в сторону поиска такой экзотической USB-команды, а в сторону интерпретации уже имеющихся в протоколе команд.
Например, интерфейсная команда SEND_BREAK используется крайне редко, вот на ее обработчик (в вашем USB-устройстве) вы могли бы повесить ресет (блокировать прерывания + поставить самый быстрый WatchDog + войти в вечный цикл). Тогда для ресета микропроцессора было бы достаточно послать на виртуальный COM-порт команду с помощью API-шной Windows-функции SetCommBreak. При этом нет необходимости делать интерпретатор идущего по линии потока данных, поскольку интерфейсные команды поступают иным путем.
P.S. Только не забудьте, сразу же закрыть COM-порт (CloseHandle) со стороны компьютера, а после ресета снова его открыть, иначе после ресета USB-порт откажется разговаривать с устройством, позабывшим свой адрес. Т.е. рискуете тем, что устройство перезапустится на bootloader, но USB-канал зависнет в патовой комбинации, из которой выйти можно только вручную - выдернуть и снова воткнуть USB-кабель.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Паф   Ресет USB устройства хостом   Jun 23 2009, 05:20
- - Alex11   Мы делали в системе команд, передаваемых по CDC (в...   Jun 23 2009, 06:45
- - Паф   To Alex11: Девайс работает под 1С по CAS протоколу...   Jun 23 2009, 07:47
|- - HARMHARM   Цитата(Xenia @ Jun 23 2009, 11:06) Только...   Jun 28 2009, 05:55
- - Паф   Вот есть интересная ссылочка USB Developers FAQ: h...   Jun 23 2009, 08:21
- - Паф   Получилось! Кому интересно: код функции, кот...   Jun 24 2009, 07:18
|- - Xenia   Цитата(Паф @ Jun 24 2009, 11:18) Получило...   Jun 24 2009, 08:46
- - Паф   Может я не совсем точно сформулировал сабж. То что...   Jun 24 2009, 10:43
|- - Седой   Цитата(Паф @ Jun 24 2009, 16:43) Может я ...   Jun 26 2009, 18:37
|- - Паф   Цитата(Седой @ Jun 26 2009, 22:37) Вы сде...   Jun 29 2009, 05:17
|- - Седой   Цитата(Паф @ Jun 29 2009, 11:17) Юзер мож...   Jun 29 2009, 16:07
- - Паф   Спасибо. Это то что нужно.   Jun 30 2009, 05:59
|- - Седой   Цитата(Паф @ Jun 30 2009, 11:59) Спасибо....   Jun 30 2009, 13:21
- - Паф   Мы уже реализовали наш подход. Тестируем на пилотн...   Jun 30 2009, 14:02


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

 


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


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