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

 
 
 
Reply to this topicStart new topic
> Простое PCI устройство корка pci32tlite_oc
Dmitry_D2
сообщение Jan 20 2008, 18:07
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 27
Регистрация: 28-02-07
Из: Россия г. Омск
Пользователь №: 25 762



Уже давно хотел сделать простое PCI устройстово ввода-вывода для своих нужд.
Сделал тестовую плату. Нормальную корку так и не нашел.
В конце-концов попробовал http://www.opencores.org/projects.cgi/web/pci32tlite_oc
Отзовитесь, проверял кто-нибудь ?
В конце-концов вроде все заработало, target устройство нашлось и windows попросила драйвера...
Программист из меня не очень, но кое-как написал простенький драйвер, который может читать и писать данные по нужному адресу. Это, конечно хорошо, но для моих нужд очень бы еще хотелось чтобы прерывание было по чтению и по записи. Как только начинаю использовать прерывание в драйверах, машина сразу виснет.
Я честно так и не понял когда там сигнал INT должен генериться.
И что ко всем коркам, даже платным драйвера самим писать приходится ?
Может кто эту корку пользовал и может подсказать как с ней правильно работать?
Go to the top of the page
 
+Quote Post
DS
сообщение Jan 20 2008, 19:53
Сообщение #2


Гуру
******

Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250



На прерывании может сидеть несколько устройств, поэтому Ваш обработчик должен по возможности быстро откликнуться на прерывание и его снять. А если прерывание не от Вашего устройство, корректно вернуть управление. А иначе, действительно, висяк.


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post
vladec
сообщение Jan 21 2008, 07:25
Сообщение #3


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

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



Если у Вас трудности с программированием, используйте Windriver от Jungo. Это комплектный софт позволяющий программисту полнофункционально работать с PCI устройством из верхнего кольца программирования.
Go to the top of the page
 
+Quote Post
Dmitry_D2
сообщение Jan 21 2008, 17:06
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 27
Регистрация: 28-02-07
Из: Россия г. Омск
Пользователь №: 25 762



Пробовал Windriver от Jungo, не понравился он мне совсем. Постоянно его библиотеки с собой таскать приходится плюс иногда выскакивает ошибка-какая-то (что-то там про память, которая не может быть read). Драйвера писал используя Driver Studio, хорошая как мне показалось вещь. Но с примерами там как-то не особо понятно, написано явно не для чайников. Как отлаживать драйвера не понятно совсем. нашел статью в интернете, там какой-то драйвер, кстати тоже для PCI писали, взял код за основу, плюс немного пофантазировал. Прерываний, к сожалению в примере не было crying.gif
Спасибо всем ответившим.
Go to the top of the page
 
+Quote Post
vol2003
сообщение Feb 7 2008, 08:46
Сообщение #5





Группа: Новичок
Сообщений: 11
Регистрация: 5-02-08
Пользователь №: 34 767



Вообще-то если прерывание не обработать вовремя, то как правило ничего не виснет, просто перестают работать устройства, которые висят на этом же прерывании (их видно если в диспетчере устройств сказать "вид" -> "ресурсы по подключению"). Например, сетевая карта или USB (кстати, по этой причине клавиатура/мышь лучше PS держать а не USB smile.gif). То же касается случая, если вдруг что-то не правильно сделано в FPGA или сгорела нога у микросхемы и сигнал INTA всегда держится в нуле. Правда возможно это зависит от чипсета, так получилось, что у меня почти всегда на отладочной машине стояли разные атлоны и nforce.

Виснет часто если записал в чужую память (из драйвера), либо если как-то попортил шину PCI так что другие устройства не могут общаться. (например, сигналы арбитража)

Сообщение отредактировал vol2003 - Feb 7 2008, 08:48
Go to the top of the page
 
+Quote Post

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

 


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


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