怎么模拟出一个硬件中断

greatmp   2008-12-19 22:05 楼主
怎么模拟出一个硬件中断比如串口中断
就是说不插串口,让系统收到串口中断。好像softice有这样的功能 但是程序怎么实现

回复评论 (10)

如果硬中断寄存器可以改比较好办,但是一般处理器的设计来说都是不让改的。
在调试状态下,有些处理器的中断寄存器状态是可以改的。
点赞  2008-12-19 22:31
引用: 引用楼主 soulover 的帖子:
怎么模拟出一个硬件中断比如串口中断
就是说不插串口,让系统收到串口中断。好像softice有这样的功能 但是程序怎么实现

你的意思是还是访问硬件的寄存器 比如16550
使得硬件发出中断?
难道软件不能模拟出来假的吗?
点赞  2008-12-19 23:03
何必去改中断寄存器呢,直接跳过ISR,到IST处理不就行了,IST中对中断一般是等待一个事件挂起在那里,所以直接发相应的一个事件过去就OK了
点赞  2008-12-19 23:25
引用: 引用楼主 soulover 的帖子:
怎么模拟出一个硬件中断比如串口中断
就是说不插串口,让系统收到串口中断。好像softice有这样的功能 但是程序怎么实现


你的说法让我很不解。

——如果你想做仿真软件的话。你可以用程序去描述硬件的特性,例如中断,就是设立一个标志,一旦这个标志符合这个中断要求,就立即在软件上产生相应动作

这个应该比真实的中断简单。
点赞  2008-12-20 13:51
我出个思路,你试验一下,不一定对。
中断都是来一个中断,然后根据IRQ号,对应一个中断向量。
如果你知道这个中断向量的号码,直接int XX,就可以了吧。
点赞  2008-12-21 00:43
对就是这么简单,中断的目的是执行中断服务程序,要不然中断还有什么意义,那就直接取执行中断服务程序不久行了?
点赞  2008-12-22 14:59
不懂,up
点赞  2008-12-22 15:04
谢谢各位了 我再研究一下
点赞  2008-12-22 22:46
直接执行中断处理程序。
点赞  2008-12-23 09:04
mark
点赞  2008-12-23 09:20
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复