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

 
 
> как обработать установочный пакет usb
sergey sva
сообщение Feb 10 2009, 14:30
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Разбираюсь с работой усб немного не понятно,с пакетами,
к примеру: программа приступила к обработки прерывания, определила какая конечная точка вызвала это прерывание,
определила, что поступил установочный пакет if (save_reg_csrX & AT91C_UDP_RXSETUP) {
какие действия нужно проделать дальше что бы обработать этот пакет? Или для at91sam7 его не надо обрабатывать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sergey sva
сообщение Feb 18 2009, 10:19
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Про END_BUS_RES не знал, добавил но ситуация такая же.
1 получаю установочный пакет, разбираю его, хост просит девайс дескриптор.
2 проверяю бит AT91C_UDP_TXPKTRDY и AT91C_UDP_RXSUSP
Код
while(AT91C_BASE_UDP->UDP_CSR[EP] & AT91C_UDP_TXPKTRDY){if( AT91C_BASE_UDP->UDP_ISR & AT91C_UDP_RXSUSP ) return;}

3 заполняю буфер , проверяю бит AT91C_UDP_TXCOMP , сбрасываю если надо.
Код
if (AT91C_BASE_UDP->UDP_CSR[EP] & AT91C_UDP_TXCOMP) {
AT91C_BASE_UDP->UDP_CSR[EP] &= ~(AT91C_UDP_TXCOMP);
while (AT91C_BASE_UDP->UDP_CSR[0] & AT91C_UDP_TXCOMP);
}//end if

4 устанавливаю AT91C_UDP_TXPKTRDY
Код
AT91C_BASE_UDP->UDP_CSR[EP] |= AT91C_UDP_TXPKTRDY;

5 жду подтверждения получения хостом данных, или сброс, если сброс то вызываю функцию сброса.
Код
  while(!(AT91C_BASE_UDP->UDP_CSR[EP] & AT91C_UDP_TXCOMP)){
            if (AT91C_BASE_UDP->UDP_CSR[EP] & AT91C_UDP_RX_DATA_BK0) {
                AT91C_BASE_UDP->UDP_CSR[EP] &= ~(AT91C_UDP_RX_DATA_BK0);
                return;
            }//end if
            if (AT91C_BASE_UDP->UDP_ISR & AT91C_UDP_ENDBUSRES){
                 reset_status = 1;
                 return;
            }//end bus reset
      }//end while

Ситуации в итоге такая: размер дескриптора конфигурации 18 байт, первые 8 он забирает с подтверждением,
следующие 8 байт не берет (подтверждения на них нет AT91C_UDP_TXCOMP) иногда присылает _ENDBUSRES,
но после сброса ситуация не меняется, берет первые 8 байт а вторую посылку нет подтверждения.
Работа с usb, что то вроде кота в мешке, что там происходит, установил монитор но он позволяет наблюдать
только после успешной конфигурации, может есть программы которые позволяет просмотреть что там происходит?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 18 2009, 10:58
Сообщение #3


Гуру
******

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



Цитата(sergey sva @ Feb 18 2009, 13:19) *
...берет первые 8 байт а вторую посылку нет подтверждения.

На поле wLength запроса на забили? Первый раз хост и просит 8 байт.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- sergey sva   как обработать установочный пакет usb   Feb 10 2009, 14:30
- - aaarrr   Цитата(sergey sva @ Feb 10 2009, 17:30) к...   Feb 10 2009, 14:38
- - sergey sva   понятно , будем разбирать. Есть простой вопрос на...   Feb 10 2009, 16:20
|- - aaarrr   Цитата(sergey sva @ Feb 10 2009, 19:20) в...   Feb 10 2009, 16:33
- - rezident   Какой-то немного странный union, вы wREqest[4] мож...   Feb 10 2009, 16:37
|- - aaarrr   Цитата(rezident @ Feb 10 2009, 19:37) есл...   Feb 10 2009, 16:44
- - sergey sva   ЦитатаА DWORD у Вас - это short? Как-то нестандарт...   Feb 10 2009, 16:43
- - sergey sva   Вот набросал не большой разборщик установочного п...   Feb 10 2009, 17:20
- - aaarrr   Ну, это пока еще не разборщик Не вижу смысла объ...   Feb 10 2009, 17:28
- - sergey sva   ЦитатаНу, это пока еще не разборщик smile.gif Буде...   Feb 10 2009, 19:48
|- - aaarrr   Цитата(sergey sva @ Feb 10 2009, 22:48) В...   Feb 10 2009, 20:36
- - sergey sva   исправил. Еще есть вопрос читаю по ходу книгу агур...   Feb 11 2009, 14:14
|- - aaarrr   Цитата(sergey sva @ Feb 11 2009, 17:14) д...   Feb 11 2009, 14:18
- - sergey sva   Вот функция которая записывает в конечную точку ба...   Feb 11 2009, 19:32
|- - aaarrr   Цитата(sergey sva @ Feb 11 2009, 22:32) К...   Feb 11 2009, 20:32
- - sergey sva   решил немного с готовыми примерами разобраться, а ...   Feb 12 2009, 19:05
|- - aaarrr   Цитата(sergey sva @ Feb 12 2009, 22:05) И...   Feb 12 2009, 19:56
|- - amw   Цитата(sergey sva @ Feb 12 2009, 21:05) К...   Feb 20 2009, 12:16
- - sergey sva   ЦитатаА компилятор какой? yagarto(GCC) эта строч...   Feb 12 2009, 20:57
- - sergey sva   в процессе отправки репорта(дескриптора) проверяет...   Feb 14 2009, 11:11
|- - aaarrr   Цитата(sergey sva @ Feb 14 2009, 14:11) П...   Feb 14 2009, 14:51
- - sergey sva   Еще появился вопрос по поводу дескриптора конфигу...   Feb 14 2009, 15:08
- - aaarrr   Отправлять надо все - дескриптор конфигурации, инт...   Feb 14 2009, 15:10
- - sergey sva   Пытался отправит полностью весь дескриптор конфигу...   Feb 14 2009, 15:36
|- - Sergey Reva   Цитата(sergey sva @ Feb 14 2009, 17:36) ....   Feb 14 2009, 15:52
|- - Sagittarius   Цитата(sergey sva @ Feb 14 2009, 18:36) П...   Feb 17 2009, 08:13
- - aaarrr   И еще один момент: флаг RXSETUP должен быть сброше...   Feb 14 2009, 16:06
- - sergey sva   Еще во время передачи дескриптора, устанавливаетс...   Feb 16 2009, 19:03
|- - aaarrr   Цитата(sergey sva @ Feb 16 2009, 22:03) т...   Feb 16 2009, 21:38
- - sergey sva   нет не забыл, zap[8]; //установочный пакет. /* *...   Feb 18 2009, 11:26
- - sergey sva   Цитата/* Кстати чему pD равен в этом месте? */ pD ...   Feb 22 2009, 13:59


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

 


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


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