一种主机响应、停止响应及处理外设中断的方法技术

技术编号:2819544 阅读:274 留言:0更新日期:2012-04-11 18:40
主机处理外设中断的方法,包括:主机上保存有可以响应的每一类中断的中断类型标识;外设在产生中断后且在调用对应的中断服务子程序进行功能实现前,或在中断结束后,向其与主机之间的通信端口输出一信息,其中包含该中断的中断类型标识和状态指示标识,状态指示标识的值相应的表示中断已产生或已结束;当主机检测到通信端口收到信息时,如根据状态指示标识的值判断出中断已产生,则判断本地是否保存有信息中携带的中断类型标识;若有,则响应该中断;若根据状态指示标识的值判断出外设中断的状态为已结束,则判断本地是否保存有信息中携带的中断类型标识;若有,则停止响应中断。采用本发明专利技术,解决了由于外设中断时间过长而导致的缓存溢出问题。

【技术实现步骤摘要】

本专利技术涉及计算机系统,尤其涉及一种主机响应、停止响应及处理外设 中断的方法。
技术介绍
在外设和主机Host (主机)端的同步调试以及应用中,主机响应外设产 生的中断一直是一个比较困难的瓶颈。这是因为一般外设产生的中断只能被 其自己所侦测到,并通过响应中断服务子程序来进行功能实现,而主机是无 法直接得知外设是在何时产生中断,又是在何时结束中断的。在进行同步调试时,现有的主机检测外设中断结束的方法往往是让外设 结束中断服务后向其自身的一块存储器里更新标志位,而主机则循环的通过 通信端口发送命令读取外设中这块存储器中的标志位。这种方法对于那些中 断服务程序需要较长时间的情况是很不理想的,因为外设在中断结束之前不 会响应主机的命令,因此如果此时主机循环通过通信口发送命令来检测这块 存储器,外设就会把主机的指令都存在一块緩存里,如果中断时间较长,则 主机不断的向外设发送命令,将会造成緩存溢出,从而造成严重的后果。
技术实现思路
本专利技术要解决的技术问题是提供一种主机响应、停止响应及处理外设中 断的方法,避免了由于外设中断时间过长而导致的緩存溢出的问题。为解决上述问题,本专利技术提供了一种主机响应外设中断的方法,包括所述主机上保存有可以响应的每一类中断的中断类型标识;所述外设在产生中断后、且在调用对应的中断服务子程序进行功能实现 前,向其与所述主机之间的通信端口输出一中断产生信息,其中包含所述中断的中断类型标识;当所述主积4企测到所述通信端口收到所述中断产生信息时,判断本地是否保存有所述中断产生信息中携带的中断类型标识;若有, 则响应所述中断。进一步地,上述方法还可具有以下特征所述主机上还保存有可以响应的每一类中断的中断使能标志,每一类中 断的中断使能标志和该类中断对应的中断类型标识——对应,其中,所述中 断使能标志的值用于表示所述主机此时是否可以响应此类中断;当所述主机判断出本地保存有所述中断产生信息中携带的中断类型标识 后,且在响应所述中断之前,还判断本地保存的该中断类型标识对应的中断 使能标志的值是否表示主机此时可以响应此类中断;若是,则所述主机响应 所述中断。进一步地,上述方法还可具有以下特征所述主机上还保存有每一类中断的中断类型标识及该类中断对应的中断 服务程序入口地址的对应关系;所述主机响应所述中断是指,所述主机根据所述中断产生信息中携带的 中断类型标识查找到对应的中断服务程序的入口地址后执行相应的中断服务 程序。为解决上述问题,本专利技术还提供了一种主机停止响应外设中断的方法, 包括所述主机上保存有每一类中断的中断类型标识;所述外设结束中断后,向其与所述主机之间的通信端口输出一中断结束 信息,其中包含所述中断的中断类型标识;当所述主机检测到所述通信端口收到所述中断结束信息时,若判断出本 地保存有所述中断类型标识,则停止响应所述中断。进一步地,上述方法还可具有以下特征所述主机上还保存有可以响应的每一类中断的中断服务程序入口地址,每一类中断的中断服务程序入口地址和该类中断对应的中断类型标识一一对 应;所述主机停止响应所述中断是指,所述主机根据所述中断结束信息中携 带的中断类型标识查找到所述中断对应的中断服务程序的入口地址后停止执 4亍相应的中断月良务程序。进一步地,上述方法还可具有以下特征所述外设向所述通信接口发送的中断结束信息中还包括所述外设的标识;如在所述外设产生中断前,所述主机上运行有所述外设对应的主机服务 应用线程,则在所迷外设产生中断时,所述主机阻塞所述主机服务应用线程的运行;在所述主机停止响应所述中断后,所述主机根据接收到的所述外设的标识取消阻塞所述对应的主机服务应用线程的运行。为解决上述问题,本专利技术还提供了一种主机处理外设中断的方法,包括所述主机上保存有可以响应的每一类中断的中断类型标识;所述外设在产生中断后且在调用对应的中断服务子程序进行功能实现 前,或在中断结束后,向其与所述主机之间的通信端口输出一信息,其中包 含所述中断的中断类型标识和状态指示标识,所述状态指示标识的值相应的 表示所述中断已产生或已结束;当所述主机检测到所述通信端口收到所述信息时,如根据所述状态指示 标识的值判断出所述中断已产生,则判断本地是否保存有所述信息中携带的 中断类型标识;若有,则所述主机响应所述中断;若根据所述状态指示标识的值判断出所述外设中断的状态为已结束,则 判断本地是否保存有所述信息中携带的中断类型标识;若有,则停止响应所 述中断。进一步地,上述方法还可具有以下特征所述主机上还保存有可以响应的每一类中断的中断使能标志,每一类中 断的中断使能标志和该类中断对应的中断类型标识——对应,其中,所述中断使能标志的值用于表示所述主机此时是否可以响应此类中断;当所述主机根据所述状态指示标识的值判断出所述中断已产生且本地保 存有所述信息中携带的中断类型标识后,且在响应所述中断之前,还判断本 地保存的该中断类型标识对应的中断使能标志的值是否表示所述主机此时可以响应此类中断;若是,则所述主;I/L响应所述中断。 进一步地,上述方法还可具有以下特征所述主机上还保存有每一类中断的中断类型标识及该类中断对应的中断 服务程序入口地址的对应关系;所述主机响应所述中断是指,所述主机根据所述信息中携带的中断类型 标识查找到对应的中断服务程序的入口地址后执行相应的中断服务程序;所述主机停止响应所述中断是指,所述主机根据所述信息中携带的中断中断服务程序。进一步地,上述方法还可具有以下特征所述外设向所述通信接口发送的信息中还包括所述外设的标识;如在所述外设产生中断前,所述主机上运行有所述外设对应的主机服务 应用线程,则在所述主机响应所述中断前,所述主机根据接收到的所述外设 的标识阻塞所述对应的主机服务应用线程的运行;在所述主机停止响应所述 中断后,所述主机根据接收到的所述外设的标识取消阻塞所述对应的主机服 务应用线程的运行。本专利技术利用外设输出的特殊信息使主机端能检测到外设中断的产生或结 束,大大简化了同步调试的难度,且使得主机端能开发出更多的应用。而且 在本专利技术中,把中断更新标志位设定在了主机侧,通过外设的打印信息来同 步更新该标志位,解决了由于外设中断时间过长而导致的緩存溢出的问题。附图说明图1为本专利技术实施例中主机与外设的连接方式示意图;图2为本专利技术实施例中主机处理外设中断的方法示意图。 具体实施例方式下面将结合附图及实施例对本专利技术的技术方案进行更详细的说明。如图1所示, 一般来说,主机需要通过特定的通信端口 (例如USB,串 口等)在遵循一定通信协议的前提下与外设进行通信和设置。当外设产生中断后,会调用对应的中断服务子程序来进行功能实现。主 机要想进行中断响应应用,就必须在外设产生中断后且在调用对应的中断服 务子程序前获知该中断已产生并据此扭^f亍相应的中断响应。如图2所示,根据上述构想,可以在外设产生中断后且调用对应的中断 服务子程序进行功能实现前或在中断服务子程序结束后,让其向通信端口输 出 一信息,其中包含可以唯一标识出该中断的类型的中断类型标识及一状态 指示标识,该中断类型标识的值与每一类中断的对应关系在主机和外设进行 通信前已经协商好,而状态指示标识的值用于指示此外设中断已开始或已结 束(其中,携带表示中断已开始的信息可本文档来自技高网...

【技术保护点】
一种主机响应外设中断的方法,其特征在于, 所述主机上保存有可以响应的每一类中断的中断类型标识; 所述外设在产生中断后、且在调用对应的中断服务子程序进行功能实现前,向其与所述主机之间的通信端口输出一中断产生信息,其中包含所述中断的中断类型标识;当所述主机检测到所述通信端口收到所述中断产生信息时,判断本地是否保存有所述中断产生信息中携带的中断类型标识;若有,则响应所述中断。

【技术特征摘要】

【专利技术属性】
技术研发人员:蒋亚诚谢韬
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1