好的,在学校我们正在开发一个操作系统。我的项目一直是开发一个 ATA 硬盘驱动程序。当我的教授指出我只是向从 PIC 发送中断结束命令而不是主 PIC 时,我认为我的中断服务程序运行良好。
我的问题是,每当我向主 PIC 发送中断结束时,它会导致三重故障,然后导致我的系统重新启动。现在我已经取消/注释了一堆行,似乎每当将中断结束发送到主 PIC 的函数留在代码中时,我都会遇到三重错误。
现在我很确定以下几点:
- 进入我的 ISR 时中断被禁用
- 我正在正确发送中断结束字节(经过类测试)
- 我没有重新确认相同的中断
这引起了巨大的挫败感,所以我希望有人可以在不需要查看我们的代码的情况下给我一些指导。
谢谢!