基于VxWorks系统的串口中断处理方法和装置制造方法及图纸

技术编号:16755468 阅读:25 留言:0更新日期:2017-12-09 02:02
本发明专利技术提供一种基于VxWorks系统的串口中断处理方法和装置,其中,该方法包括:通过串口获取串口设备发出的中断请求和该串口对应的中断号,根据该中断号,查找发出中断请求的中断串口设备和该中断请求对应的中断类型,根据该中断类型,对中断串口设备执行相应的操作。本发明专利技术的技术方案,只对发出中断请求的串口设备进行操作,解决了现有串口驱动中断处理方法会对共享同一中断号、无中断请求的其他串口设备执行中断处理操作,致使无中断请求的其他串口设备的运行过程出现错误,且使得操作系统的负担增加、操作系统稳定性降低的问题。

Serial interrupt handling method and device based on VxWorks system

The invention provides a VxWorks system based on the serial port interrupt processing method and device, wherein, the method comprises: acquiring serial interrupt request sent by the device and the corresponding serial number through the serial port interrupt, the interrupt number according to the search, an interrupt request interrupt serial equipment and the interrupt request to the corresponding interrupt type, according to the interrupt type, to interrupt the execution of the corresponding operation serial device. The technical scheme of the invention, only operates on an interrupt request serial device, solves the existing serial driver interrupt processing method to other serial devices without interrupt request to share the same interrupt number, the execution of interrupt processing operation, wrong operation process if other serial devices without interruption of the request, and the operating system increase the burden, reduce the stability of operating system.

【技术实现步骤摘要】
基于VxWorks系统的串口中断处理方法和装置
本专利技术涉及计算机
,尤其涉及一种基于VxWorks系统的串口中断处理方法和装置。
技术介绍
通用异步收发传输器(UniversalAsynchronousReceiver/Transmitter,简称UART),是一种异步收发传输器,是电脑硬件的一部分,其用在串行通信与并行通信间作为传输转换的工具,作为并行输入转为串行输出的芯片,通常集成于其他通讯接口上,当UART用于传输数据时称为串口。美国风河公司设计开发的VxWorks操作系统是一种嵌入式操作系统,其通常通过扩展多个串口来提高系统的通信能力,并且使扩展的多个串口共享一个中断号。具体的,当CPU通过串口接收到串口设备发出的中断请求后,获取该串口对应的中断号,并遍历共享该中断号的所有串口,进而获取中断请求对应的中断类型,从而根据该中断类型对所有串口对应的所有串口设备执行相应的中断处理操作。因此,扩展的多个串口共享一个中断号的方案,不仅提高了系统的通信能力,而且避免了资源浪费。然而,对于多个串口共享一个中断号的VxWorks操作系统,当CPU通过串口接收到某一串口设备发出的中断请求后,其不仅对该串口设备执行中断处理过程,还会对共享同一中断号、无中断请求的其他串口设备执行中断处理操作,不仅使无中断请求的其他串口设备的运行过程出现错误,而且增加了操作系统的负担,降低了操作系统的稳定性。
技术实现思路
本专利技术提供一种基于VxWorks系统的串口中断处理方法和装置,以解决现有串口驱动中断处理方法会对共享同一中断号、无中断请求的其他串口设备执行中断处理操作,致使无中断请求的其他串口设备的运行过程出现错误,且使得操作系统的负担增加、操作系统稳定性降低的问题。本专利技术提供的一种基于VxWorks系统的串口中断处理方法,包括:通过串口获取串口设备发出的中断请求和所述串口对应的中断号;根据所述中断号,查找发出所述中断请求的中断串口设备和所述中断请求对应的中断类型;根据所述中断类型,对所述中断串口设备执行相应的操作。本专利技术还提供一种基于VxWorks系统的串口中断处理装置,包括:获取模块,用于通过串口获取串口设备发出的中断请求和所述串口对应的中断号;查找模块,用于根据所述获取模块获取到的所述中断号,查找发出所述中断请求的中断串口设备和所述中断请求对应的中断类型;执行模块,用于根据所述查找模块查询到的所述中断类型,对所述查找模块确定的所述中断串口设备执行相应的操作。本专利技术提供的基于VxWorks系统的串口中断处理方法和装置,首先通过串口获取串口设备发出的中断请求和该串口对应的中断号,根据该中断号,查找发出上述中断请求的中断串口设备和该中断请求对应的中断类型,并根据该中断类型,对中断串口设备执行相应的操作。本专利技术的技术方案,通过查找发出中断请求的中断串口设备和中断请求对应的中断类型,并只对发出中断请求的中断串口设备执行相应的操作,提高了操作系统的稳定性,解决了现有串口驱动中断处理方法会对共享同一中断号、无中断请求的其他串口设备执行中断处理操作,致使无中断请求的其他串口设备的运行过程出现错误,且使得操作系统的负担增加、操作系统稳定性降低的问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术提供的基于VxWorks系统的串口中断处理方法实施例一的流程示意图;图2为本专利技术提供的基于VxWorks系统的串口中断处理方法实施例二的流程示意图;图3为本专利技术提供的基于VxWorks系统的串口中断处理方法实施例三的流程示意图;图4为本专利技术提供的基于VxWorks系统的串口中断处理装置实施例一的结构示意图;图5为本专利技术提供的基于VxWorks系统的串口中断处理装置实施例二的结构示意图;图6为本专利技术提供的基于VxWorks系统的串口中断处理装置实施例三的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。操作系统(OperatingSystem,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。串口是采用串行通信方式的扩展接口,其作为嵌入式实时操作系统的重要数据通信接口,按照位(bit)的形式发送和接收数据,提高了操作系统的应用范围以及获取信息的能力。目前,具备多串口的操作系统应用的越来越广泛,其通过扩展的多个串口,不仅大大提高了系统的通信能力,而且使该多个串口共享同一中断号有效的避免了资源浪费。由于同一操作系统的多个串口共享同一中断号,所以,该多个串口对应的多个串口设备需要产生中断时均通过同一中断号向中央处理器(CPU)上报中断处理请求,而CPU并不知道到底是哪一个串口设备发出的中断处理请求,因此,CPU将遍历所有的串口设备,分别对串口设备执行中断处理过程,进而实现中断处理响应。然而,当发出中断处理请求的串口设备与CPU执行中断处理程序所处理的串口设备不一致时,将会产生一些问题,不仅使无中断请求的其他串口设备的运行过程出现错误,而且增加了操作系统的负担,降低了操作系统的稳定性。例如,在系统初始化过程中,中断处理函数对未完成初始化的串口执行操作时表现为系统访问空指针,而对于在中断处理过程中发生的异常VxWorks系统作出重启的操作。因此,这会造成系统不稳定。针对上述缺陷,本专利技术提出了一种基于VxWorks系统的串口中断处理方法和装置,用于解决现有串口驱动中断处理方法会对共享同一中断号、无中断请求的其他串口设备执行中断处理操作,致使无中断请求的其他串口设备的运行过程出现错误,且使得操作系统的负担增加、操作系统稳定性降低的问题。图1为本专利技术提供的基于VxWorks系统的串口中断处理方法实施例一的流程示意图。如图1所示,本专利技术实施例提供的基于VxWorks系统的串口中断处理方法,包括:步骤101:通过串口获取串口设备发出的中断请求和该串口对应的中断号。中断是指在计算机执行程序的过程中,当出现异常情况或者特殊请求时,计算机停止现行程序的运行,转而对这些异常或特殊请求进行处理,处理结束后再返回到现行程序的中断处,继续执行原程序。例如,VxWorks系统等嵌入式操作系统,当某个串口设备需要收发数据时,会产生中断请求信号,中断请求信号通过对应的串口传送到操作系统,进而使VxWorks系统获取到串口设备的中断请求以及该串口对应的中断号。步骤102:根据上述中断号,查找发出中断请求的中断串口设备和中断请求对应的中断类型。具体的,VxWorks系统获取串口设备发出的中断请求的同时,会获取到串口对应的中断号,进而使操作系统根据中断号去执行相应的中断处理程序,从该中断号本文档来自技高网...
基于VxWorks系统的串口中断处理方法和装置

【技术保护点】
一种基于VxWorks系统的串口中断处理方法,其特征在于,包括:通过串口获取串口设备发出的中断请求和所述串口对应的中断号;根据所述中断号,查找发出所述中断请求的中断串口设备和所述中断请求对应的中断类型;根据所述中断类型,对所述中断串口设备执行相应的操作。

【技术特征摘要】
1.一种基于VxWorks系统的串口中断处理方法,其特征在于,包括:通过串口获取串口设备发出的中断请求和所述串口对应的中断号;根据所述中断号,查找发出所述中断请求的中断串口设备和所述中断请求对应的中断类型;根据所述中断类型,对所述中断串口设备执行相应的操作。2.根据权利要求1所述的方法,其特征在于,所述根据所述中断号,查找发出所述中断请求的中断串口设备和所述中断请求对应的中断类型,具体包括:根据所述串口对应的中断号,确定所述中断号对应的中断向量;根据所述中断号对应的中断向量,遍历共享所述中断号的所有串口设备,分别判断每一串口设备是否有发出中断请求,锁定发出所述中断请求的所有中断串口设备;分别查询所述所有中断串口设备对应的中断状态寄存器,获取每一中断串口设备中所述中断请求对应的中断类型。3.根据权利要求2所述的方法,其特征在于,所述根据所述中断号对应的中断向量,遍历共享所述中断号的所有串口设备,分别判断每一串口设备是否有发出中断请求,锁定发出所述中断请求的所有中断串口设备,具体包括:根据所述中断号对应的中断向量,依次扫描共享所述中断号的所有串口设备,分别查询每一串口设备对应的中断状态寄存器;在所述中断状态寄存器的中断表示位对应的状态值为0时,确定所述串口设备为发出所述中断请求的中断串口设备。4.根据权利要求1~3任一项所述的方法,其特征在于,若所述中断类型包括:发送中断和接收中断;则所述根据所述中断类型,对所述中断串口设备执行相应的操作,具体包括:在所述中断类型为发送中断时,对所述中断串口设备执行发送任务;在所述中断类型为接收中断时,对所述中断串口设备执行接收任务。5.一种基于VxWorks系统的串...

【专利技术属性】
技术研发人员:毛卫龙
申请(专利权)人:龙芯中科技术有限公司
类型:发明
国别省市:北京,11

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

1