|
При USB соединении с AT91SAM7S256 перегружается комп!, в чём может быть проблема? |
|
|
|
Nov 15 2007, 06:05
|

Группа: Новичок
Сообщений: 8
Регистрация: 30-10-07
Из: Петрозаводск
Пользователь №: 31 873

|
 вот такая убийственная проблема: Соединяем плату с AT91SAM7S256 к компьютеру через USB - компьютер перезагружается, но не каждый раз, и начинает перегружаться после первых 20-40 соединений. Сожжена материнская плата  . На другом компьютере тоже стал перегружаться, так что эксперементировать в том же духе не хочется. Еще один момент - если при перезагрузке не отсоединить USB, то перегружается по кругу. Питание платы выключено. Соединяли через USB-хаб - не помогало (а точнее сперва соединялось, потом вобще перестало). Ни у кого знакомых предположений о причине сего нет. Единственное - может с драйвером что? драйвер установлен с SAM-BA 1.7, может есть другие его варианты, не знаю ... Кто-нибудь сталкивался с такой проблемой? Нашли причину? А может даже её решение?  - поделитесь, пожжжалуйста
--------------------
~Venerium Rerum Omnium~
|
|
|
|
|
 |
Ответов
|
Nov 28 2007, 20:02
|

Знающий
   
Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065

|
Цитата(Demeny @ Nov 28 2007, 05:23)  Не нужно мешать всё в одну кучу. ОС (в частности Windows) устроена так, чтобы приложение только в User-mode (ring3) не могло вывести ОС из строя. А при подключении USB устройства первыми активизируются драйвера Kernel-mode (ring0), в частности драйвер шины, а в Kernel-mode разрешено всё по определению, поэтому любое неверное телодвижение сносит "крышу" однозначно. На то он и Kernel ... Ничего не понял  Сейчас пойду листать Солдатова... А что, Винде так трудно обработать ошибочную ситуацию с подключением кривого устройства? Что, разве так сложно отключить драйвер? А как же всеми нами любимый BSOD? И почему так сразу без предупреждения сваливаться в жесткую перезагрузку? По моему, это явный баг от MS. Напильниками там ребята разучились работать, вот и говорят - "фича такая!". Да не фича это! А руки такие кривые!
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
|
Nov 29 2007, 00:22
|

Знающий
   
Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237

|
Цитата(zhevak @ Nov 28 2007, 23:02)  Ничего не понял  Сейчас пойду листать Солдатова... А что, Винде так трудно обработать ошибочную ситуацию с подключением кривого устройства? Что, разве так сложно отключить драйвер? А как же всеми нами любимый BSOD? И почему так сразу без предупреждения сваливаться в жесткую перезагрузку? По моему, это явный баг от MS. Напильниками там ребята разучились работать, вот и говорят - "фича такая!". Да не фича это! А руки такие кривые! На уровне Kernel (RING0) никакой "Винды" уже практически нет - и некому "схватить за руку" зарвавшееся приложение. Привожу простой пример. Драйвер ожидает, что устройство должно прислать ему 13 байт - он выделяет буферную переменную на 13 байт. Где ? Правильно, на стеке, переменная-то локальная. А устройство, собака, прислало не 13 байт, а 14. Куда девался лишний байт ? Записался куда-то туда же на стек. Что ещё хранится на стеке ? Адрес возврата из процедуры, верно ? Значит, лишний байт запросто мог снести адрес возврата из процедуры. Куда улетит процессор после возврата из процедуры - очень вероятно, что на перезагрузку. Иногда куда-то туда, где его ещё могут тормознуть силы операционной системы, сгенерить исключение, выдать знаменитый BSOD ... Но увы, не всегда. В User-mode такой прыжок просто приведёт к исключению (Access Violation) - и приложение будет с позором выдворено из системы. А на уровне ядра на исключения не всегда приходится рассчитывать, особенно в процедурах обработки прерываний, где код драйвера выполняется на высоких приоритетах ...
--------------------
Сделано в Китае. Упаковано в России.
|
|
|
|
Сообщений в этой теме
vdik При USB соединении с AT91SAM7S256 перегружается комп! Nov 15 2007, 06:05 zhevak Хм... забавно!
А питалово с ЮСБ берете? Не пр... Nov 15 2007, 06:37 Harbour скорее всего каличный usb2serial драйвер - отсутст... Nov 15 2007, 07:54 sergeeff Лично убеждался - если есть хоть какие-то ошибки в... Nov 15 2007, 10:37 Kitsok Насчет сгоревшей мамки - сильно сомневаюсь, у меня... Nov 15 2007, 12:52 vdik Спасибо огромное всем за советы!!!
..... Nov 16 2007, 11:04 Master Цитата(Kitsok @ Nov 15 2007, 16:52) Насче... Nov 16 2007, 14:33    zhevak Цитата(Demeny @ Nov 29 2007, 05:22) На ур... Nov 29 2007, 07:22     Harbour Цитата(zhevak @ Nov 29 2007, 09:22) Извин... Nov 30 2007, 06:51 Толик Цитата(sergeeff @ Nov 17 2007, 00:34) Ищи... Nov 19 2007, 07:48 cebotor Цитата(Толик @ Nov 19 2007, 10:48) В часн... Nov 20 2007, 08:51  Толик Цитата(cebotor @ Nov 20 2007, 11:51) На б... Nov 20 2007, 13:04   Kitsok Цитата(Толик @ Nov 20 2007, 16:04) Устрой... Nov 20 2007, 13:53 Kitsok Цитата(Толик @ Nov 19 2007, 10:48) В часн... Nov 20 2007, 10:39 VAI Мне кажется, здесь еще обойдён такой вопрос:
У нас... Nov 29 2007, 05:08 zhevak Цитата(VAI @ Nov 29 2007, 10:08) Мне каже... Nov 29 2007, 06:24 alexander55 Цитата(VAI @ Nov 29 2007, 08:08) У нас, к... Nov 29 2007, 07:31 Harbour Теоретически [ ] такие глюки возможны и в Linux... Nov 29 2007, 07:01 amw Цитата(Harbour @ Nov 29 2007, 09:01) Теор... Nov 29 2007, 12:06
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|