Хорошо, в школе мы разрабатываем операционную систему. Мой проект заключался в разработке драйвера жесткого диска ATA. Я думал, что у меня была обычная процедура прерывания работы, когда мой профессор указал, что я только отправляю команды прерывания прерывания для подчиненного ПОС, а не для мастера.Почему прерывание прерывания для главного PIC вызывает тройную ошибку (перезагрузка)?
Моя проблема заключается в том, что всякий раз, когда я посылаю конец прерывания мастеру PIC, он вызывает тройную ошибку, которая затем заставляет мою систему перезагружаться. Теперь у меня есть un/прокомментировал кучу строк, и кажется, что всякий раз, когда функция отправки конца прерывания на главный PIC остается в коде, я получаю тройную ошибку.
Теперь я совершенно уверен в следующем:
- прерывания отключены при входе в мой ISR
- Я правильно посылая конца-прерывание байт (класс тестировался)
- Я не повторное подтверждение одного и того же прерывания
Это вызвало массовые разочарования, поэтому я надеюсь, что кто-то может дать мне некоторое руководство, не требуя увидеть наш код.
Спасибо!
Старая почта, но, возможно, автор все еще жив? Как насчет кода? – Earlz