本发明属于嵌入式软件开发领域,具体涉及一种实现嵌入式vxworks系统更改ip地址后建立targetserver的方法。
背景技术:
vxworks操作系统为嵌入式实时操作系统,在我国船舶、通讯、军事、航天等领域中,被广泛用于导航、监控、指挥控制等应用软件的开发。在vxworks集成开发环境中,进行应用程序开发调试,最有效方便而且应用最为广泛的方式就是通过网络连接targetserver,进行任务跟踪和断电调试。这种调试方法也有一定的限制,那就是操作系统启动后,wdb必须为ready状态,而且连接调试的网卡ip地址在应用程序中不能更改。在实际环境中,受限于硬件资源,具体场景中复杂的网络拓扑关系,很难保证用户的应用程序对网卡ip地址不进行重新设置;在这种情况下,只能通过修改vxworks操作系统启动设置来进行软件调试,使用起来非常不便,也影响了调试工作的效率,无法满足保持操作系统状态不动的理想情况。
为了解决这个问题,从vxworks操作系统启动过程中wdb初始化的原理入手,在vxworks系统启动完成后,对连接targetserver必需的参数进行设置,进而执行wdb的重新初始化,提出一种实现应用程序更改了网卡ip地址后,能够建立targetserver连接的方法。
技术实现要素:
(一)要解决的技术问题
本发明要解决的技术问题是如何提供一种实现嵌入式vxworks系统更改ip地址后建立targetserver的方法,以解决网卡ip地址在应用程序中更改后,能够建立targetserver连接的问题。
(二)技术方案
为了解决上述技术问题,本发明提出一种实现嵌入式vxworks系统更改ip地址后建立targetserver的方法,该方法包括如下步骤:
s1、在vxworks集成开发环境中,创建一个静态库工程;
s2、在静态库工程源程序中,定义一个函数;
s3、在函数中声明“传入启动参数”结构变量,并对结构变量进行赋值设置;
s4、调用wdb初始化函数和wdb系统悬挂函数;
s5、编译静态库工程生成静态库文件;
s6、将静态库添加到应用软件中,在执行连接targetserver之前,调用静态库的入口函数。
进一步地,在该方法运行之前应用软件更改了网卡的ip地址。
进一步地,所述步骤s1具体包括如下步骤:
s11、在工作路径所在的workspace中,新建一个dkm工程;
s12、在buildspecs选项中,选择与应用程序相同的处理器和编译链;
s13、在buildtarget选项中,选择gnu作为buildtool;
s14、完成工程创建。
进一步地,所述步骤s2具体包括如下步骤:
s21、在静态库工程源程序中,新建一个.c源文件;
s22、在文件中定一个函数,参数为字符串类型的变量char*addr。
进一步地,所述步骤s3具体包括如下步骤:
s31、声明boot_params类型的结构变量;
s32、对结构变量进行赋值设置。
进一步地,所述赋值设置包括将网卡地址、网卡类型和网卡序号赋值于结构变量。
进一步地,所述步骤s4具体包括如下步骤:
s41、对结构变量设置完成后,函数顺序执行usrwdbinit()函数和wdbsystemsuspend()函数;
s42、usrwdbreinit函数返回。
进一步地,所述步骤s5具体包括如下步骤:
s51、在工程选项中,执行buildproject;
s52、编译完成,生成静态库文件。
进一步地,所述步骤s6具体包括如下步骤:
s61、在应用软件工程属性中,选择library属性页面;
s62、浏览并添加静态库文件;
s63、重新编译应用软件工程;
s64、应用软件运行后,执行usrwdbreinit函数,再进行targetserver连接操作,即可完成连接。
(三)有益效果
本发明提出一种实现嵌入式vxworks系统更改ip地址后建立targetserver的方法,建立静态库工程,定义传入参数函数;声明一个系统启动参数结构,并对网卡类型进行初始化;调用wdb初始化函数和wdb系统悬挂函数;编译工程生成静态库文件,并加入到应用工程中,实现在应用软件更改网卡ip地址的情况下,仍可实现targetserver的连接。本发明提高了vxworks嵌入式操作系统连接targetserver,通过网络进行调试的适用性,方便了应用程序的开发调试,增强了硬件环境对软件开发调试的支撑性。采用上述操作步骤,可在应用软件更改网卡ip地址的情况下,仍可实现targetserver的连接,该技术方法经过了实践验证,结果表明,该方法技术可行性强,稳定可靠,能够实现vxworks嵌入式操作系统在应用中更改了网卡ip地址,targetserver建立连接的功能。
附图说明
图1为本发明更改ip地址后建立targetserver的方法流程图;
图2为本发明解决建立targetserver连接问题流程图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明属于在vxworks嵌入式操作系统下,解决当用户更改了启动过程中网卡的默认ip地址后,targetserver无法连接的技术方法。本发明提高了vxworks嵌入式操作系统连接targetserver,通过网络进行调试的适用性,方便了应用程序的开发调试,增强了硬件环境对软件开发调试的支撑性。
为实现上述目的,本发明采取以下技术措施:
s1、在vxworks集成开发环境中,创建一个静态库工程;
s2、在静态库工程源程序中,定义一个函数;
s3、在函数中声明“传入启动参数”结构变量,并对变量进行赋值;
s4、调用wdb初始化函数和wdb系统悬挂函数;
s5、编译静态库工程生成静态库文件;
s6、将静态库添加到应用软件中,在执行连接targetserver之前,调用静态库的入口函数。
通过以上步骤,可以解决应用软件更改了网卡的ip地址,重新连接targetserver的问题。
本发明属于嵌入式vxworks操作系统下更改ip地址后重新建立targetserver连接的一种方法。其特点在于:第一,建立静态库工程,定义传入参数函数;第二,声明一个系统启动参数结构,并对网卡类型进行初始化;第三,调用wdb初始化函数和wdb系统悬挂函数;第四,编译工程生成静态库文件,并加入到应用工程中,实现在应用软件更改网卡ip地址的情况下,仍可实现targetserver的连接。
本发明涉及一种实现嵌入式vxworks系统更改ip地址后建立targetserver的方法,其中,
(1)作为一个静态库存在,不涉及应用程序功能和架构更改;
(2)根据ip地址更改的网卡类型对wdb进行重新初始化;
(3)ip地址更改后,调用静态库中的函数完成功能。
进一步地,本发明的特点还在于:(1)找出更改ip地址后targetserver无法连接的原因;(2)从vxworks操作系统启动过程中对wdb初始化的过程为原理入手,开发出操作系统在运行状态下重新初始化wdb的方法;(3)完成wdb重新初始化即可实现targetserver重新连接;(4)应用软件更改ip地址后,可通过在软件中加入代码、调试终端或是telnet终端下通过运行静态库中的函数,完成建立targetserver环境的初始化。
结合图1-2,为了解决在vxworks嵌入式操作系统中,应用软件更改了网卡的ip地址,targetserver无法进行连接的问题,我们通过建立静态库工程,在应用软件启动对网卡更改了ip地址后,重新进行wdb初始化来接解决这个问题,下面对本发明的内容作进一步描述。
1、在vxworks集成开发环境中,创建一个静态库工程
s11、在工作路径所在的workspace中,新建一个dkm工程,命名usrwdbreinit;
s12、在buildspecs选项中,选择与应用程序相同的处理器和编译链;
s13、在buildtarget选项中,选择gnu作为buildtool;
s14、完成工程创建。
2、在静态库工程源程序中,定义一个函数
s21、在静态库工程源程序中,新建一个.c源文件,名为wdbusrdef.c;
s22、在文件中定一个函数,函数名usrwdbreinit,参数为字符串类型的变量char*addr。
3、在函数中声明“传入启动参数”结构变量,并对结构变量进行赋值设置
s31、声明变量importboot_paramssysbootparams;
s32、对sysbootparams结构赋值设置
strcpy(sysbootparams.ead,addr);
strcpy(sysbootparams.bootdev,"gei");
sysbootparams.unitnum=0;
其中,“gei”为网卡类型,实际应用中,根据不同网卡类型写入对应的名称。addr为网卡地址。同一个类型网卡序号为0。
4、调用wdb初始化函数和wdb系统悬挂函数
s41、对sysbootparams结构设置完成后,函数顺序执行usrwdbinit()函数和wdbsystemsuspend()函数;
s42、usrwdbreinit函数返回。
5、编译静态库工程生成静态库文件
s51、在工程选项中,执行buildproject;
s52、编译完成,生成usrwdbreinit.a静态库文件。
6、将静态库添加到应用软件中,在修改ip后重新执行连接targetserver之前,调用静态库的入口函数
s61、在应用软件工程属性中,选择library属性页面;
s62、选择add....—>addfullqualifiedlibraryfile,浏览并添加usrwdbreinit.a文件;
s63、重新编译应用软件工程;
s64、应用软件运行后,执行usrwdbreinit函数,再进行targetserver连接操作,即可完成连接。
利用上述技术方案,采用上述操作步骤,可在应用软件更改网卡ip地址的情况下,仍可实现targetserver的连接,该技术方法经过了实践验证,结果表明,该方法技术可行性强,稳定可靠,能够实现vxworks嵌入式操作系统在应用中更改了网卡ip地址,targetserver建立连接的功能。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。