لماذا تسبب نهاية المقاطعة في ماجستير الموافقة المسبقة عن علم خطأ ثلاثي (إعادة التشغيل)؟

StackOverflow https://stackoverflow.com/questions/888603

  •  23-08-2019
  •  | 
  •  

سؤال

حسنا، في المدرسة نقوم بتطوير نظام تشغيل. كان مشروعي تطوير برنامج تشغيل القرص الصلب ATA. اعتقدت أنني أتيحت لي روتين خدمة المقاطعة بشكل جيد للغاية عندما أشار أستاذي إلى أنه كنت فقط أرسل أوامر نهاية المقاطعة إلى الموافقة المسبقة عن علم الرقيق، وليس السيد أيضا.

مشكلتي هي أنه كلما أرسلت نهاية المقاطعة إلى ماجستير الموافقة المسبقة عن علم، فإنه يسبب خطأ ثلاثي يؤدي بعد ذلك إلى إعادة تشغيل نظامي. الآن لدي UN / علقت بمجموعة من الخطوط ويبدو أنه كلما تم ترك الوظيفة لإرسال نهاية المقاطعة إلى ماجستير الموافقة المسبقة عن علم في التعليمات البرمجية أحصل على الخطأ الثلاثي.

الآن أنا متأكد من ما يلي:

  1. يتم تعطيل المقاطعات عند دخولي ISR
  2. أنا أرسل بشكل صحيح بايت نهاية المقاطعة (اختبار الفصل)
  3. أنا لا أعيد الاعتراف بنفس المقاطعة

هذا يسبب الإحباط الهائل، لذلك آمل أن يعطيني شخص ما بعض التوجيه دون الحاجة لرؤية الكود لدينا.

شكرا!

هل كانت مفيدة؟

المحلول

أستطيع أن أخمن فقط في هذا. وهنا بعض الأشياء للتحقق.

  • هل EOI خارج حدود القطاع الخاص بك؟
  • هل EOI على صفحة Readonly؟
  • هل معالج المقاطعة في مستوى الامتياز الصحيح للوصول إلى EOI؟
  • هل تستخدم تسجيل القطاع الصحيح؟

أي من تلك يمكن أن يسبب خطأ. يمكن أن يسبب ذلك بدوره خطأ مزدوج أو ثلاثي إذا كانت جداول واصف إما إما تالفة أو تم إعدادها بشكل غير صحيح لتبدأ.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top