一种VxWorks系统的热键交互系统及方法与流程

文档序号:15850575发布日期:2018-11-07 09:48阅读:333来源:国知局
一种VxWorks系统的热键交互系统及方法与流程

本发明涉及软件系统技术,具体涉及vxworks系统中的交互技术。

背景技术

vxworks操作系统是美国windriver公司设计开发的一种嵌入式实时操作系统(rtos),是嵌入式开发环境的关键组成部分。其良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。

在实际使用过程中,研发人员一般都是基于系统的vty(virtualteletypeterminal)模块与系统进行交互。而当系统的vty模块发生异常,研发人员可能无法使用命令行与系统进行交互,不能及时、有效地获取系统的相关调试信息,从而增大定位系统异常的难度。



技术实现要素:

针对现有系统中vty模块异常时无法使用命令行对系统进行调试的问题,需要一种新的系统交互方案。

为此,本发明的目的在于提供一种vxworks系统的热键交互系统以及相应的热键交互方法,以克服现有方案所存在的缺陷。

为了达到上述目的,本发明提供的vxworks系统的热键交互系统,所述热键交互系统包括计算机程序指令,所述计算机程序指令使计算机实现:

对系统中从vty模块到底层tty设备驱动间各个模块的数据交换调试信息进行输出显示;

基于热键输入的方式与系统进行交互。

进一步的,所述热键交互系统中基于二次热键机制,在两次热键输入后能输出显示相关调试信息。

进一步的,所述热键交互系统中在第一次热键输入后,终端显示内容为要显示调试信息的各个模块名称及对应的二次热键的列表;

在第二次热键输入后,终端显示所选二次热键对应模块的相关调试信息。

进一步的,所述热键交互系统中拥有一个一次热键标记,用于决定当前传入热键模块中的数据进入第一次热键输入判断处理流程还是第二次热键输入判断处理流程。

为了达到上述目的,本发明提供的vxworks系统的热键交互方法,包括如下步骤:

(1)serial模块接收到tty设备输入的数据后,在把接收数据转交给上层模块前,先将接收数据传给热键交互系统,执行热键处理函数;

(2)热键处理函数首先判断一次热键标记是否置位,是则跳到步骤(5),不是则跳到步骤(3);

(3)热键处理函数判断接收数据是否为一次热键对应描述符,是则跳到步骤(4),不是则跳到步骤(7);

(4)终端显示内容为要显示调试信息的各个模块名称及对应的二次热键的列表,一次热键标记置位,跳到步骤(7);

(5)热键处理函数判断接收数据是否为二次热键对应描述符,是则跳到步骤(6),不是则跳到步骤(7);

(6)终端显示二次热键对应模块的相关调试信息,一次热键标记清零;

(7)系统返回到serial模块,继续将接收数据转交给上层模块。

本发明提供的vxworks系统的热键交互方案,通过热键输入的方式与系统进行交互,且采用二次热键机制,能够及时、有效地获取系统中指定模块运行状态的信息,使得研发人员能够获取系统中各模块的相关调试信息,从而定位系统异常。

附图说明

以下结合附图和具体实施方式来进一步说明本发明。

图1为本发明实例中热键模块的关系结构图;

图2为本发明实例中热键模块处理传入数据流程图。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。

本方案针对通过热键输入的方式与vxworks系统进行实现交互,进一步的采用二次热键机制实现在vty模块异常时的系统调试,能够及时、有效地获取系统中指定模块运行状态的信息,从而可有效定位系统异常。

据此,本实例一种vxworks系统的热键交互系统,该热键交互系统整体由计算机程序指令构成,且该计算机程序指令能够使计算机实现:

(1)能对系统中从vty模块到底层tty设备驱动间各个模块的数据交换调试信息进行输出显示。

(2)基于二次热键机制,即需进行两次热键输入才能输出显示相关调试信息,以减少热键标记的定义,增强热键模块的实用性。

(3)第一次热键输入后,终端显示内容为要显示调试信息的各个模块名称及对应的二次热键的列表。

(4)第二次热键输入,即选择功能(3)显示内容中的二次热键选项进行输入后,终端显示所选二次热键对应模块的相关调试信息。

(5)拥有一个一次热键标记,用于决定当前传入热键模块中的数据进入第一次热键输入判断处理流程还是第二次热键输入判断处理流程。

参见图1,本方案采用热键处理模块10来实现上述热键交互系统的基本功能。该热键处理模块10在应用到vxworks系统中时,与vxworks系统中的serial模块20以及底层tty设备驱动30进行数据交换,同时serial模块20分别与底层tty设备驱动30和vty模块及其他上层模块40进行数据交换。

由此,基于该热键处理模块10来实现vxworks系统热键交互功能的过程如下(参见图2):

(1)serial模块接收到tty设备输入的数据后,在把接收数据转交给上层模块前,先将接收数据传给热键模块,执行热键处理函数。

(2)热键处理函数首先判断一次热键标记是否置位,是则跳到步骤(5),不是则跳到步骤(3)。

(3)热键处理函数判断接收数据是否为一次热键对应描述符,是则跳到步骤(4),不是则跳到步骤(7)。

(4)终端显示内容为要显示调试信息的各个模块名称及对应的二次热键的列表,一次热键标记置位,跳到步骤(7)。

(5)热键处理函数判断接收数据是否为二次热键对应描述符,是则跳到步骤(6),不是则跳到步骤(7)。

(6)终端显示二次热键对应模块的相关调试信息,一次热键标记清零。

(7)系统返回到serial模块,继续将接收数据转交给上层模块。

针对上述方案,以下通过一具体应用实例来进一步的阐述本方案。

本实例以在vxworks下,使用mips处理器,并设置键盘按键ctrl+]作为一次热键的交换机系统为例进一步说明本发明方案具体的实施过程,具体实施步骤如下:

1、在串口中断处理函数octeoninterrupt()的接收数据回调函数中,加入热键处理函数hotkey_sec_function()。若系统发生串口中断,执行串口中断处理程序获取到接收数据后,先将接收数据作为参数调用热键处理函数。

2、热键处理函数首先判断一次热键标记flag是否为1,是则跳到步骤5,不是则跳到步骤3。

3、热键处理函数判断接收数据是否为一次热键ctrl+]对应的ascii码0x1d,是则跳到步骤4,不是则跳到步骤7。

4、终端显示内容为要显示调试信息的各个模块名称及对应的二次热键的列表,一次热键标记置位,跳到步骤7。

作为举例,本实例中显示内容如下:

menu:

1mblk;

2region;

3doublecount;

4halfcount;

5debuginfo;

6consoleinfo;

7rpcinfo;

8dbginfo。

5、热键处理函数判断接收数据是否为二次热键对应的ascii码,即步骤4显示内容中数字1到8对应的ascii码,是则跳到步骤6,不是则跳到步骤7。

6、终端显示二次热键对应模块的相关调试信息,一次热键标记清零。如第二次输入热键为6,则显示内容为consoleinfo模块相关的调试信息。

7、系统返回到串口中断处理函数继续执行。

由上述实例方案可知,每次串口接收数据都会先交给热键模块处理,而对热键的处理以及对选定模块进行相关调试信息的输出显示都不需要vty模块。

通过二次热键输入,不需在命令行输入命令亦可获取到指定模块的相关调试信息,有效解决在vty模块异常时无法使用命令行对系统进行调试的问题,适用于研发人员定位vty模块异常。

另外,针对上述实例方案,热键描述符及输入方式的设置可变通实现;一次热键标记值及识别机制可变通实现;热键处理函数的调用方式可变通实现;一次热键与二次热键的显示内容可变通实现;二次热键最终实现的功能可变通实现,不局限于信息输出,还可用于实现系统复位重启或向存储设备进行写操作等;除mips外其他结构体系的cpu亦可变通实现。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1