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

 
 
> Нужна помощь специалистов, 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
Ответов
mdmitry
сообщение Oct 15 2008, 15:55
Сообщение #2


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата
Я имел ввиду что-то, что можно в шину воткнуть (осцилограф...) и посмотреть, идут ли сигналы,
не сбиваются ли фронты. Или это бред???

НЕ бред. Смотрел шину SPI (всего 4 провода) в свое время. Для аппаратного просмотра состояния шины нужен как минимум осциллограф, лучше цифровой минимум на 2 канала. Если есть возможность, то лучшее решение - цифровой анализатор сигналов (Logic Analyzers). Анализатор представляет собой своеобразный цифровой осциллограф для наблюдения большого числа цифровых каналов одновременно на экране прибора. Имеется возможность наблюдать и обычную осциллограмму. Agilent выпускает такую аппаратуру, но она очень дорогая. Аппаратная часть работает правильно и Вы имеете возможность наблюдать правильную работу в ДОС. Подобный протокол на шине должен быть и для Вашего случая.

Цитата
В досе вызывается int 0x0D (irq5 в real mode), мне в линуксе надо делать int 37 (irq5 protected mode) правильно?
И что эта команда делает?, прото передает управление обработчику прерывания и все? Железо никак не трогает?

Возможно, имеет смысл посмотреть драйвер ядра для COM-порта, в плане того, что происходит при запросе прерывания от контроллера порта и действовать аналогично.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post



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

 


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


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