|
USB CDC (AT91SAM7S64) не работает |
|
|
|
Sep 16 2011, 19:36
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 26-07-11
Пользователь №: 66 426

|
Здравствуйте... Существует следующая проблема - сделал устройство на основе отладочного Evalution Kit AT91SAM7S64, внутрисхемный отладчик IAR входил в комплект и работал только со старой версией IAR 4.22 (вроде), что была на диске с Kitом, другими (старшими) версиями не определялся этот отладчик cegger IAR, а также никакие программы от более поздних версий не компилировались из-за разницы в библиотеках... фактически - был найдет проект USB-UART, который компилировался под IAR 4.22 (но опять же с версией могу ошибиться) - плата определялась как CDC устройство... либо как класс модема, либо как usb-класс... был выбран первый случай, т.к. в этом варианте ей присваивался виртуальный COM-порт типа COM26, но хотя бы в реестре можно вынудить этот номер порта и спокойно общаться, как с обычным com-портом... и все бы хорошо... но... У заказчика 12 компов, купленных кучей... с материнской платой GA-K8NF-9, там атлон, крякнутая винда, антивир и куча неприятностей... на нем происходит следующая картина - AT91SAM7S64 принимает сколько угодно от компа, но когда отправляет всего 1 посылку Write(&pCDC,data,leng);, далее по диодикам понятно - что он работает как надо, но в компьютер кроме первой посылки ничего больше не доходит... я испробовал кучу компов на своем предприятии - со всеми работает, включая на основе Itanium, CoreQuard и Xeon - все работает... атлонов у нас вообще нет((( но они мне принесли этот комп - реально не пашет... и как бы юридически получается что работу я не выполнил - хотя на всех компьютерах у нас это работает (включая мой домашний), на том что они принесли - нет... Что это может быть? Может кто-нибудь сталкивался с подобным? Огромное спасибо за ответ, ибо мне на душе тоскливо... я попытался уже из под линукса даже на их компьютере это запускать...
Сообщение отредактировал abit - Sep 16 2011, 19:44
|
|
|
|
|
 |
Ответов
|
Sep 23 2011, 10:39
|
Частый гость
 
Группа: Участник
Сообщений: 125
Регистрация: 1-12-08
Из: г. Орел
Пользователь №: 42 126

|
abitЦитата да, старая 2005-2007 года.... собстна там три версии BasicUSB 1.0, 1.1 и 1.2 были проверенны - во всех внутренности резко меняются, но эта ошибка во всех трех версиях кроется... далее (после 2007г) эта демка вошла в USBCore и там вместо всего этого появились абсолютно другие файлы и куда более запутанная структура... Я все это описывал в этой теме... USBcore же не компилируется в IAR 4.11, из-за разных inc/h внутри самой IAR... а с IAR старше 4-х версий отказывается работать мой j-link cegger, который идет в комплекте всех AT91SAM7Sxxx-EK по сей день поэтому и вышла такая неприятная ситуация... так же эта ошибка содержится и в крайне свежей SAMBA, в чем я тоже убедился во время своего недельного эксперемента... с большой вероятностью она осталась и в USBCore, но в другом файле... Поэтому надо (желательно) писать все самому! Месяц другой, третий, четвертый, пятый... провозишься зато сначала будет HID USB например мышка, HID USB джойстик (аналоговый делал, еще руль делал), HID USB дигитайзер например, ну а потом можно и CDC. Компилировал атмеловские примеры с мышкой CDC во всех примерах размер прошивки зашкаливал за 20 кбайт!!! Причем примеры атмеловские для версий IAR 5.50 и выше. Самописный максимум 3 кб. С прикручиванием экранчика 6 кб. По поводу j-linkа странно... У меня с IAR ARM 4.22 j-link с seggerом нормально работает и с версией IAR ARM 5.50.1 работал и прошивался. Версия j-link 4.10f.
Сообщение отредактировал shrek - Sep 23 2011, 10:49
|
|
|
|
Сообщений в этой теме
abit USB CDC (AT91SAM7S64) не работает Sep 16 2011, 19:36 prottoss Покажите дескриптор устройства Sep 17 2011, 04:04 kovigor Цитата(abit @ Sep 16 2011, 22:36) Огромно... Sep 17 2011, 10:08 Sergey Reva Было такое, решилось. Посмотрите как в вашем проек... Sep 17 2011, 14:46 Andrey Vasilyev Цитата(abit @ Sep 16 2011, 23:36) но они ... Sep 17 2011, 14:48 abit prottoss
взят из старого проекта Usart-USB 1.0/Bas... Sep 19 2011, 10:01 aaarrr Цитата(abit @ Sep 19 2011, 14:01) Речь ид... Sep 19 2011, 14:11 prottoss Цитата(abit @ Sep 19 2011, 16:01) prottos... Sep 19 2011, 15:09 Sergey Reva http://www.atmel.com/dyn/resources/prod_do...nts/d... Sep 19 2011, 13:51 abit Sergey Reva, aaarrr
Спасибо за некоторые пояснения... Sep 19 2011, 16:20 abit Sergey Reva, aaarrr
Спасибо за некоторые пояснения... Sep 19 2011, 16:41 aaarrr Замените пока работу с флагами на корректный вариа... Sep 19 2011, 16:34 aaarrr 1. См. выше.
2. В примере профукано. Запрещение/ра... Sep 19 2011, 16:47 abit Цитата(aaarrr @ Sep 19 2011, 20:47) 1. См... Sep 19 2011, 16:57 prottoss ОК. Подождем, когда код заточится, но на AMD работ... Sep 19 2011, 16:48 abit Цитата(prottoss @ Sep 19 2011, 20:48) ОК.... Sep 19 2011, 19:03  aaarrr Цитата(abit @ Sep 19 2011, 23:03) возника... Sep 19 2011, 20:37   abit Цитата(aaarrr @ Sep 20 2011, 00:37) Можно... Sep 20 2011, 11:13    prottoss Цитата(abit @ Sep 20 2011, 17:13) prottos... Sep 20 2011, 13:05    taoga Попробуйте код отсюда, может поможет?
http://elect... Sep 21 2011, 17:56 aaarrr Там стоит запрос состояния->запрет->восстано... Sep 19 2011, 17:02 shrek Посмотри по ссылке.
http://electronix.ru/forum/ind... Sep 20 2011, 12:02 shrek Менял в своем проекте USB_CDC направление по BULK ... Sep 21 2011, 06:28 abit Всем спасибо)
Проблема таки решена после недели му... Sep 22 2011, 09:54 prottoss Цитата(abit @ Sep 22 2011, 15:54) Не рабо... Sep 22 2011, 10:36 MrAlex Цитата(abit @ Sep 22 2011, 13:54) решаетс... Sep 23 2011, 07:05 sergeeff А ведь стандарт USB CDC изначально определяет три ... Sep 22 2011, 10:02 shrek Цитатарешается так:
в файле cdc_enumerate.c
наход... Sep 23 2011, 06:36 abit shrek
получается интелу по барабану... кстати в сп... Sep 23 2011, 10:13
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|