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

 
 
> Нужна помощь специалистов, i82530
nik.laus
сообщение Oct 13 2008, 08:55
Сообщение #1





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



Добрый день.
Нужен ваш совет.

У меня проблема. Пишу драйвер под linux (2.6.18) для платы, которуй сами и разработали (на чипе intel 82530 scc).
Есть драйвер под дос на паскале, и под дос плата работает. Я делаю теже шажи, пишу в теже регистры теже значения
в линукс, собираю модуль и у меня она не работает... проявляется это так: читать и писать в порты ввода/вывода я могу
и это работает, но плата прерываний не генерирует абсолютно : (((. Это мой первый драйвер (драйвер для паралельного порта, та который напаяны светодиоды, и который генерирует прерывания я не беру в расчет), поэтому здесь у меня
даже життейской мудрости нету, которую хотелось бы тоже обрести.

Есть вопрос, каким образом можно (нужно) это отлаживать, что-бы хотя-бы быть уверенным в том, где и что не работает...
Средства диагностики какие-нибуть...

Забыл сказать, плата на isa шине, драйвер в ядре (не user space application) и естественно под дос это все работает sad.gif((.
Модуль загружается работает, карточку инициализирует (или якобы инициализирует...), устанавливается обработчик прерываний, делается soft interrupt ( __asm__("int $37") )... а фреймы данных карта не получает...

Вот, прошу помощи специалистов. Кто в таких ситуациях как поступает и что порекомендуете...
Вообщем, куда и что мне надо копать, учить???

Заранее очень благодарен за ЛЮБЫЕ ответы.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
nik.laus
сообщение Oct 20 2008, 11:35
Сообщение #2





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



Цитата
Этот самый int 37, он кем предоставлятся? То есть фактический обработчик int 37 находится в BIOS, BIOS Вашей платы, или Вы должны туда подсунуть свою функцию? Это действительно программное прерывание? Или вывод IRQ платы "разведен" на это прерывание?
Если это BIOS платы - то нужно убедится что BIOS вашего ПК при старте обнаружил и инициализировал BIOS платы. Надеюсь соответствующие сообщения предусмотрены в плате.


amw, а можно по конкретнее данную тему, где о ней можно почитать? (если можно и есть, ссылку на статью по данной теме..., я о ней ни малейшего представления не имею и даже ниразу не слышал, кроме этого форума)

А вообще вроде там ничего такого нету... а что касается int 37 - "ну, это ,как-бы..." эмуляция 5 hardварного прерывания, внутри проца, если он в защищенном режиме работает... в реальном режиме это будет int 13 (8 зарезервировано, а не 32...)
вот из этого я и исхожу... И действительно, в
Код
cat /proc/stat | grep intr
появляется 5 прерывание (становится 1 после того, как было 0, и увеличивается на 1 кажный раз, когда я делаю int 37). Поэтому я думаю, что int 37 это тоже самое что и "железное 5тое", за исключением того, что это программный муляж.

А плата генерит 5 irq, а биосом на плате вроде и не пахнет (только io ports) (в доке к чипу об этом даже не упоминается, а все остальные чипы на плате - простые наборы вентилей, выполняющих свою функцию, ниче умного, вроде...).

Дайте ссылку, где про биос на плате и тому подобные темы почитать можно. Спасибо.
Go to the top of the page
 
+Quote Post



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

 


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


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