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

 
 
> USB Device на AT91SAM7, Насколько сложно и что нужно
Eduard_k
сообщение Jun 5 2006, 14:07
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 196
Регистрация: 14-04-06
Пользователь №: 16 137



Добрый день,

Я собираюсь изготовить устройство на контроллере AT91SAM7S32 с использованием порта USB, в связи с применением последнего у меня возник ряд вопросов, на которые очень прошу вас ответить.

1. Есть ли где-нибудь полное описание USB 1.0 на русском языке, т.к. если например с RS-232 в абсолютно ясно то USB является для многих "черным ящиком", непонятно как работает устройство, как работает компьютер.
2. Насколько сложно написать ПО для контроллера и ПК человеку который владеет C++ но едва знает AT91SAM7 и вообще не знает USB. Сколько приблизительно займет это времени?
3. Какие готовые програмные модули мне понадобятся? Где их взять?
4. Как сделать так чтобы контроллер питался от шины USB? Меня смущает тот факт, что контроллер будет работоспособен приблизительно через 0.8 сек. после того как устройство уже будт воткнуто в порт. Нет ли проблемы в том, что питание на контроллере появится после появления сигналов D+ D- на выводах.

Спасибо
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dron_Gus
сообщение Oct 28 2006, 22:05
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 9-01-05
Из: Санкт-Петербург
Пользователь №: 1 861



Я с DriverStudio тоже долго бодался. Даже не пытался получать конфигурацию из устройства - вводил вручную. Заставить работать с VisualStudio 2000 и выше не получилось. Заработало лишь с VC++ 6.0. После установки DDK (последняя версия на microsoft.com) в VC++ надо компильнуть библиотеки для соответствующей версии виндов (build -cZ). После установки DriverStudio в VC++ должна появится новая панель. Там настройка DriverStudio, запуск помошника и ГЛАВНОЕ кнопка "компилировать с помошью DDK".


--------------------
Если сверху смотреть, то сбоку кажется, что снизу ничего не видно.
Go to the top of the page
 
+Quote Post
AVR
сообщение Oct 29 2006, 22:25
Сообщение #3


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Dron_Gus, большое спасибо за помощь, действительно с VS 6 и последней DDK всё собралось a14.gif


--------------------
Go to the top of the page
 
+Quote Post
AVR
сообщение Nov 5 2006, 00:28
Сообщение #4


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Подскажите, пожалуйста, как отлаживать драйвер, если при обращении к некоторым его функциям возникают BSOD? У меня появляется такая ошибка KERNEL_MODE_EXCEPTION_NOT_HANDLED, пишет что
Цитата
If exception code 0x80000003 occurs, this indicates that a hard-coded breakpoint or assertion was hit, but the system was started with the /NODEBUG switch. This problem should rarely occur. If it occurs repeatedly, make sure a kernel debugger is connected and the system is started with the /DEBUG switch.
Если запускаю WinXP с ключем /DEBUG - просто виснет... Можно ли настроить так, чтобы при исключениях или ошибках не вешалось вообще всё?
Например, обработчик функции WriteFile или ReadFile работает до тех пор пока не дойдет до BuildBulkTransfer, но как выяснить причину ошибки - непонятно...


--------------------
Go to the top of the page
 
+Quote Post
sff
сообщение Nov 5 2006, 17:31
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 172
Регистрация: 23-04-06
Пользователь №: 16 404



Цитата(AVR @ Nov 5 2006, 03:28) *
Подскажите, пожалуйста, как отлаживать драйвер, если при обращении к некоторым его функциям возникают BSOD? У меня появляется такая ошибка KERNEL_MODE_EXCEPTION_NOT_HANDLED, пишет что
Цитата
If exception code 0x80000003 occurs, this indicates that a hard-coded breakpoint or assertion was hit, but the system was started with the /NODEBUG switch. This problem should rarely occur. If it occurs repeatedly, make sure a kernel debugger is connected and the system is started with the /DEBUG switch.
Если запускаю WinXP с ключем /DEBUG - просто виснет... Можно ли настроить так, чтобы при исключениях или ошибках не вешалось вообще всё?
Например, обработчик функции WriteFile или ReadFile работает до тех пор пока не дойдет до BuildBulkTransfer, но как выяснить причину ошибки - непонятно...

Ну, во-первых, синие экраны отключить нельзя, на то они и синие экраны. Значит уже что-то произошло с чем система никак не может справится (сбой общей защиты и тп).
А отладка ядра (с ключём /DEBUG ) это не совсем то что в вижуал студии отладка. При этом нужно 2 машины, соединеённые по COM порту (в вин 2000 было только так) и если что повиснет на отлаживаемой то можно оттрапить на другой и посмотреть в каком месте.
Посмотрите поподробнее в DDK Using Microsoft Debugger (WinDbg, KD).
Если включить посмертный dump то можно с помощью этих утилит посмотреть в каком месте драйвера произошел exception.
Также неплохая программка была Марка Руссиновича LiveKD которая позволяля гулять по ядру на самой машине но только когда система не екнулась =)
А так, кстати, неплохая у него и книга про внутреннее устройство виндоус, хоть там про написание драйверов ничего нет, но общее представление даёт неполохое.
Go to the top of the page
 
+Quote Post
AVR
сообщение Nov 6 2006, 16:40
Сообщение #6


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Цитата(sff @ Nov 5 2006, 20:31) *
Ну, во-первых, синие экраны отключить нельзя, на то они и синие экраны.

В хелпе к WinDbg написано:
Цитата
If a kernel debugger is attached and active, the system causes a break so the debugger can be used to investigate the crash.
If no debugger is attached, a blue text screen appears with information about the error. This screen is called a blue screen, a bug check screen, or a Stop screen.

т.е., насколько я понял, если запущен отладчик, то вместо синего экрана должно что-то появиться в окне отладчика. Я пробовал запустить локальный kernel debug и соединился по TCP с другого компьютера, однако по-прежнему просто виснет намертво и ничего не пишется ни на локальном компьютере, ни на удаленном... Может чего не так делаю?... sad.gif Или в программе драйвера нужно как-то обрабатывать исключительные ситуации?


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Eduard_k   USB Device на AT91SAM7   Jun 5 2006, 14:07
- - Ken@t   Добрый день, Я собираюсь изготовить устройство на...   Jun 5 2006, 14:38
- - Edmundo   Цитата(Eduard_k @ Jun 5 2006, 18:07) Я со...   Jun 5 2006, 14:41
- - Eduard_k   Немогу найти книгу Агурова, дайте ссылочку. Что та...   Jun 5 2006, 14:46
- - Eduard_k   Ну подскажите где скачать книгу Агурова, уже все п...   Jun 6 2006, 12:26
|- - KRS   Цитата(Eduard_k @ Jun 6 2006, 16:26) Ну п...   Jun 6 2006, 12:51
|- - Eduard_k   Цитата(KRS @ Jun 6 2006, 15:51) Цитата(Ed...   Jun 9 2006, 01:41
- - Eduard_k   Вот еще какие вопросы меня интересуют: 1. Для чег...   Jun 11 2006, 01:44
- - Wano   Сколько схемок видел с 422 или 485 всегда резаки л...   Jun 11 2006, 12:51
- - beer_warrior   1. pull-up резистор нужен для опознования подключе...   Jun 12 2006, 06:09
- - Wano   beer_warrior, я нашёл как раз то, что вы написали,...   Jun 12 2006, 19:49
- - aaarrr   Коммутировать pull-up резистор на DP внешним ключо...   Jun 12 2006, 21:26
- - beer_warrior   По Агурову соглашусь, какой-то он путанный, по сра...   Jun 13 2006, 06:48
|- - Ken@t   Цитата(beer_warrior @ Jun 13 2006, 10:48)...   Jun 13 2006, 08:59
|- - Lomalkin   Цитата(beer_warrior @ Jun 13 2006, 10:48)...   Jun 16 2006, 12:24
- - beer_warrior   ЦитатаКак изменить этот пример, чтобы можно было п...   Jun 16 2006, 13:26
|- - Lomalkin   Цитата(beer_warrior @ Jun 16 2006, 17:26)...   Jun 16 2006, 15:19
|- - AVR   У меня такая платка: http://olimex.com/dev/sam7-h6...   Aug 20 2006, 18:09
- - beer_warrior   Если честно, time critical задач с использованием ...   Jun 16 2006, 18:33
|- - Lomalkin   Цитата(beer_warrior @ Jun 16 2006, 22:33)...   Jun 16 2006, 22:31
|- - EugeneB   Цитата(Lomalkin @ Jun 17 2006, 01:31) ......   Sep 4 2006, 08:31
- - GetSmart   У меня другая гипотеза - во всём вмноват ник. Дума...   Jun 26 2006, 15:34
- - AVR   Извините за назойливость, но очень хотелось бы пон...   Sep 4 2006, 21:00
|- - nameless   Цитата(AVR @ Sep 5 2006, 00:00) Извините ...   Sep 5 2006, 05:36
|- - AVR   Цитата(nameless @ Sep 5 2006, 09:36) Я во...   Sep 5 2006, 12:56
|- - AVR   Подскажите, пожалуйста, бедному несчастному ламеру...   Oct 28 2006, 21:35
|- - Edmundo   Цитата(AVR @ Nov 5 2006, 03:28) Подскажит...   Nov 5 2006, 07:21
||- - glebka   Сходи на http://www.elektor.com/Default.aspx?tab...   Nov 5 2006, 10:15
|- - sff   Цитата(AVR @ Nov 6 2006, 19:40) Цитата(sf...   Nov 6 2006, 19:06
|- - AVR   Цитата(sff @ Nov 6 2006, 22:06) А вот про...   Nov 6 2006, 19:44
|- - sff   Скачал я WinXP DDK и оказывается кое-что всё-таки ...   Nov 7 2006, 07:28
|- - AVR   sff, большое спасибо, ошибку свою нашел (полное пр...   Nov 12 2006, 19:09
- - aaarrr   Ну да, очень интересно: можно полюбоваться на схем...   Nov 5 2006, 11:33
|- - Edmundo   Цитата(aaarrr @ Nov 5 2006, 14:33) Ну да,...   Nov 5 2006, 16:15
- - Dron_Gus   А есть какой-нибудь медод более-менее "автома...   Nov 5 2006, 11:55
|- - AVR   Цитата(Dron_Gus @ Nov 5 2006, 14:55) А ес...   Nov 5 2006, 16:25
- - Dron_Gus   У меня тут еще один детский вопрос... Может кто зн...   Nov 5 2006, 23:19
|- - AVR   Цитата(Dron_Gus @ Nov 6 2006, 02:19) как ...   Nov 5 2006, 23:39
- - Dron_Gus   Цитата(AVR @ Nov 6 2006, 02:39) Project-...   Nov 5 2006, 23:55
- - Kitsok   Добрый день! Тоже начал разбираться с SAM7 и...   Nov 13 2006, 09:47
|- - AVR   Цитата(Kitsok @ Nov 13 2006, 12:47) Напра...   Nov 13 2006, 17:57
- - Kitsok   Спасибо за наводку, через виглер напрямую не получ...   Nov 13 2006, 22:12
- - Kitsok   Чудны дела темных сил электричества. В общем, в п...   Nov 13 2006, 22:49
- - Dron_Gus   Цитата(Kitsok @ Nov 14 2006, 01:49) Чудны...   Nov 13 2006, 22:57
|- - Kitsok   Цитата(Dron_Gus @ Nov 14 2006, 01:57) Вот...   Nov 14 2006, 07:03
|- - Tahoe   Цитата(Kitsok @ Nov 14 2006, 10:03) Получ...   Nov 14 2006, 08:17
|- - Kitsok   Цитата(Tahoe @ Nov 14 2006, 11:17) А FIFO...   Nov 14 2006, 12:01
- - Dron_Gus   Цитата(Kitsok @ Nov 14 2006, 10:03) Допус...   Nov 14 2006, 22:33
|- - Kitsok   Цитата(Dron_Gus @ Nov 15 2006, 01:33) В д...   Nov 15 2006, 06:59
- - Handler   Помогите пожалуйста передать данные на комп или, к...   Jul 22 2007, 19:46
|- - KAlex   Цитата(Handler @ Jul 22 2007, 23:46) Фору...   Jul 23 2007, 07:15
- - Pasha 111   А как реализовать обработку UDP через прерывания? ...   Aug 11 2007, 15:18
|- - Kitsok   Цитата(Pasha 111 @ Aug 11 2007, 19:18) Во...   Aug 20 2007, 13:38
- - Dron_Gus   Возможно прерывания "глобально" запрещен...   Aug 12 2007, 12:33
- - brag   хи алл! Мне тож пришлось связатся с усб..скача...   Aug 25 2007, 16:59
|- - Kitsok   Цитата(brag @ Aug 25 2007, 20:59) хи алл...   Aug 30 2007, 14:05
- - Artem   To Pasha_111: Не могли бы Вы послать USBWorkframe ...   Aug 27 2007, 07:27
- - Pasha 111   Artem, выслал Dron_Gus, вставка #include <intr...   Aug 29 2007, 12:44


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

 


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


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