本发明实施例涉及嵌入式系统调试技术领域,尤其涉及一种调试方法及调试装置。
背景技术:
调试是嵌入式系统软件开发过程中必不可少的环节,目前,嵌入式程序的编辑、编译、链接过程都是在宿主机(计算机或工作站)上完成,而最终的运行调试则是嵌入式设备上进行的。现有的调试方法,首先在宿主机上对待更新的程序代码编辑修改,然后在宿主机上对整个嵌入式程序重新编译并生成可执行的二进制文件;最终,将生成的二进制文件下载到嵌入式设备中,并在重新启动嵌入式设备后确定代码修改后对应的调试效果。
如果基于上述调试方法对嵌入式程序进行一次修改调试后,所呈现的调试结果没有达到预期效果,则需要反复基于上述方法进行修改、编译以及调试的操作直至达到预期效果。然而对整个嵌入式程序的编译以及将编译后的二进制文件下载到嵌入式设备的过程需要耗费很长的时间,这样就会导致调试效率低下,不利于嵌入式系统的快速迭代开发。
技术实现要素:
本发明实施例提供了一种调试方法及调试装置,能够提高嵌入式软件的开发效率,达到快速调试嵌入式程序的目的。
一方面,本发明实施例提供了一种调试方法,包括:
如果检测到宿主机中存在嵌入式程序编译后生成的执行文件,则将所述执行文件上传至目标服务器上网络文件系统的文件目录中;
通过运行包含所述执行文件的网络文件系统,确定所述嵌入式程序的调试结果,其中,所述网络文件系统基于嵌入式设备加载运行。
另一方面,本发明实施例提供了一种调试装置,包括:
执行文件上传模块,用于当检测到宿主机中存在嵌入式程序编译后生成的执行文件时,将所述执行文件上传至目标服务器上网络文件系统的文件目录中;
调试结果确定模块,用于通过运行包含所述执行文件的网络文件系统,确定所述嵌入式程序的调试结果,其中,所述网络文件系统基于嵌入式设备加载运行。
本发明实施例中提供了一种调试方法及调试装置,该调试方法首先在检测到宿主机中存在嵌入式程序编译后生成的执行文件时,将执行文件上传到目标服务器上的网络文件系统的文件目录中;之后可以通过运行包含该执行文件的网络文件系统来确定嵌入式程序的调试结果,其中该网络文件系统基于嵌入式设备加载运行。利用该方法,与现有调试方法相比,省去了将可执行的二进制文件下载集成到嵌入式设备的操作,提高了嵌入式软件开发的调试效率,节省了更多的调试时间,实现了嵌入式系统的快速迭代开发。
附图说明
图1为本发明实施例一提供的一种调试方法的流程示意图;
图2为本发明实施例二提供的一种调试方法的流程示意图;
图3为本发明实施例三提供的一种调试装置的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种调试方法的流程示意图,该方法适用于嵌入式软件开发过程中对嵌入式程序进行调试的情况,该方法可以由调试装置执行,其中该装置可由软件和/或硬件实现,并一般集成在用于程序调试的服务器上。
如图1所示,本发明实施例一提供的一种调试方法,包括如下操作:
S101、如果检测到宿主机中存在嵌入式程序编译后生成的执行文件,则将执行文件上传至目标服务器上网络文件系统的文件目录中。
在本实施例中,宿主机具体可指用于编辑及编译嵌入式程序的计算机或工作站等。目标服务器具体可理解为构建有网络文件系统的另一台计算机或工作站,其中,网络文件系统具体可指嵌入式程序调试时所依赖的构件和组件,相当于嵌入式设备中原有集成的嵌入式系统,该嵌入式系统也可看做嵌入式设备工作时所依赖的系统,本实施例将该网络文件系统构建于指定的目标服务器上。此外可以理解的是,该网络文件系统在目标服务器上存在对应的文件目录,该文件目录中保存了构建网络文件系统时所需的所有系统文件。
具体地,本实施例可以通过有线或无线网络建立宿主机与目标服务器之间的通信连接,由此可以在检测到宿主机中存在嵌入式程序编译后的执行文件时,基于宿主机与目标服务器之间的通信连接,将执行文件复制上传给目标服务器,并且存放到网络文件系统对应的文件目录中。
S102、通过运行包含执行文件的网络文件系统,确定嵌入式程序的调试结果,其中,该网络文件系统基于嵌入式设备加载运行。
目前,现有的对嵌入式软件开发调试时,通常需要依赖集成在嵌入式设备中的嵌入式系统进行,一般地,首先需要将待调试的可执行文件下载到嵌入式设备中,然后再通过运行包含有该可执行文件的嵌入式系统来查看调试结果,如此重复操作,耗费嵌入式程序的调试时间,进而也降低嵌入式软件的开发效率。
基于本实施例对上述步骤S101的描述,可以理解的是,在目标服务器上构建网络文件系统相当于对嵌入式设备中原嵌入式系统到目标服务器的移植,因此,本实施例中对网络文件系统的加载运行同样需要依赖嵌入式设备。本实施例为了实现嵌入式程序的实时调试,可以在启动嵌入式设备后加载运行构建于目标服务器上的网络文件系统,由此可直接通过查看包含有执行文件的网络文件系统的运行情况,来确定嵌入式程序的调试结果,省去了将可执行文件下载到嵌入式设备的操作。
此外,如果当前的调试结果不符合开发人员的要求,则可以在宿主机上重新编辑嵌入式程序并编译生成执行文件,之后返回步骤S101重新进行嵌入式程序的调试操作。需要说明的是,在重新进行调试操作前,可删除存放于网络文件系统所对应文件目录中调试不符合要求的执行文件。
本发明实施例一提供的一种调试方法,首先在检测到宿主机中存在嵌入式程序编译后生成的执行文件时,将执行文件上传到目标服务器上的网络文件系统的文件目录中;之后可以通过运行包含该执行文件的网络文件系统来确定嵌入式程序的调试结果,其中该网络文件系统基于嵌入式设备加载运行。利用该方法,与现有调试方法相比,省去了将可执行的二进制文件下载集成到嵌入式设备的操作,提高了嵌入式软件开发的调试效率,节省了更多的调试时间,实现了嵌入式系统的快速迭代开发。
实施例二
图2为本发明实施例二提供的一种调试方法的流程示意图。本实施例二在上述实施例的基础上进行优化,在本实施例中,该调试方法还优化包括了:获取所述嵌入式设备中嵌入式系统的压缩文件,并基于所述压缩文件在所述目标服务器上构建网络文件系统;基于设定命令控制所述嵌入式设备启动并加载运行所述目标服务器上的网络文件系统。
在上述优化的基础上,本实施例进一步将“基于设定命令控制所述嵌入式设备启动并加载运行所述目标服务器上的网络文件系统”具体化为:配置所述嵌入式设备中引导程序的启动运行参数以及启动加载命令;根据所述启动运行参数以及启动加载命令,控制所述嵌入式设备启动并加载运行所述目标服务器上的网络文件系统。
如图2所示,本发明实施例二提供的一种调试方法,具体包括如下操作:
本实施例二中在对执行文件进行调试操作之前,具体增加了步骤S201至步骤S203的构建以及加载运行网络文件系统的操作步骤。
S201、获取嵌入式设备中嵌入式系统的压缩文件,并基于压缩文件在目标服务器上构建网络文件系统。
在本实施例中,嵌入式设备可理解为能够通过集成各嵌入式软件来实现相应功能的设备;嵌入式系统可理解为嵌入式软件开发及功能实现所依赖的系统。本实施例可以获取该嵌入式系统的压缩文件,并通过该压缩文件实现嵌入式系统到目标服务器的移植,由此完成网络文件系统到目标服务器的构建。
进一步地,所述基于所述压缩文件在所述目标服务器构建网络文件系统,包括:
将所述压缩文件解压到目标服务器根目录下的指定目录中,形成网络文件系统,并记所述指定目录为网络文件系统的文件目录;在所述目标服务器根目录下安装启动所述网络文件系统所需的内核镜像文件;获取运行所述网络文件系统所需的环境变量脚本,并将所述环境变量脚本存放于所述文件目录的设定子目录中。
在本实施例中,压缩文件中包含了嵌入式系统的所有文件,压缩文件中的内容相当于嵌入式设备启动后运行嵌入式软件时所依赖的基础组件和构件。本实施例可在目标服务器的根目录下将压缩文件解压到指定目录中,由此形成网络文件系统并将指定目录确定为网络文件系统对应的文件目录。
在本实施例中,为了嵌入式设备能够正常启动目标服务器中的网络文件系统,需要在网络文件系统的同一根目录下安装内核镜像文件。需要说明的是,该内核镜像文件主要用于嵌入式设备对网络文件系统的启动加载。此外,嵌入式设备对网络文件系统的正常运行,还要进一步配置网络文件系统运行时所需的环境变量,本实施例中对环境变量的配置主要基于所获取的环境变量脚本实现。
S202、配置嵌入式设备中引导程序的启动运行参数以及启动加载命令。
在本实施例中,步骤S202和步骤S203给出了以网络文件系统形式启动嵌入式设备并加载运行的操作过程。一般地,嵌入式设备的启动和运行可以分为两部分,首先是基于嵌入式设备中的引导程序启动嵌入式设备,之后是在启动的过程中加载所依赖的核心程序实现嵌入式设备的运行。
本实施例为了实现嵌入式设备基于网络文件系统的启动和运行,首先基于步骤S202对引导程序中的启动运行参数以及启动加载命令进行了配置。具体地,所配置的内容中包括了嵌入式设备的IP地址以及目标服务器的IP地址,以用于嵌入式设备与目标服务器之间的消息通信;此外,还包括了对嵌入式设备启动路径的设置,以用于嵌入式设备启动后对网络文件系统的加载。
S203、根据启动运行参数以及启动加载命令,控制嵌入式设备启动并加载运行目标服务器上的网络文件系统。
在本实施例中,可以根据配置的启动运行参数和启动加载命令来控制嵌入式设备的启动和对网络文件系统的加载,具体地,可以根据上述配置的参数和命令触发引导程序加载目标服务器上的环境变量脚本和内核镜像文件,最终实现嵌入式设备对网络系统文件的加载运行。需要说明的是,上述加载运行操作的实现需要嵌入式设备与目标服务器建立网络通信。示例性地,可以通过嵌入式设备的网口链接网线,保证嵌入式设备与服务器处于同一网段。
进一步地,所述根据所述启动运行参数以及启动加载命令,控制所述嵌入式设备启动并加载运行所述目标服务器上的网络文件系统,包括:根据所述启动运行参数以及启动加载命令,触发运行所述设定子目录中的环境变量脚本,以配置所述网络文件系统运行的环境变量;控制所述嵌入式设备加载所述目标服务器根目录下的内核镜像文件,并根据配置的环境变量加载运行所述网络文件系统。
需要说明的是,在基于环境变量脚本完成环境变量的配置后,可以只在第一次启动嵌入式设备时直接加载安装于根目录下的内核镜像文件,后续无需重复加载,仍能实现对网络文件系统的加载运行。
此外,可以理解的是,也只需在首次对嵌入式程序进行调试前进行网络文件系统的构建操作,之后可直接使用已构建好的网络文件系统进行调试,且在构建好网络文件系统后,无论是否对嵌入式程序进行调试,可以先通过嵌入式设备启动加载运行网络文件系统,后续可直接对嵌入式程序进行调试,无需重新加载网络文件系统。
S204、如果检测到宿主机中存在嵌入式程序编译后生成的执行文件,则将执行文件上传至目标服务器上网络文件系统的文件目录中。
示例性地,在符合调试条件时,将执行文件上传至构建有网络文件系统的目标服务器上,并保存于网络文件系统对应的文件目录中,由此形成包含执行文件的新的网络文件系统。
S205、通过运行包含执行文件的网络文件系统,确定嵌入式程序的调试结果,其中,网络文件系统基于嵌入式设备加载运行。
示例性地,可以理解的是,在执行步骤S205之前,网络文件系统已通过嵌入式设备加载运行,在加入新编译生成的执行文件后,可直接实现对包含该执行文件的网络文件系统运行,且可在嵌入式设备的上查看到运行该网络文件系统后的运行效果,由此可根据其运行效果来确定其调试结果,以实时确定该调试结果是否为开发人员想要达到的效果。
本发明实施例二提供的一种调试方法,优化增加了网络文件系统的构建操作,同时具体化了嵌入式设备启动及加载运行网络文件系统的实现过程。利用该方法,使得嵌入式设备能够在启动时直接加载目标服务器上的网络文件系统,由此在进行嵌入式程序调试时,与现有调试方法相比,省去了将可执行的二进制文件下载集成到嵌入式设备的操作,提高了嵌入式软件开发的调试效率,节省了更多的调试时间,实现了嵌入式系统的快速迭代开发。
实施例三
图3为本发明实施例三提供的一种调试装置的结构框图。该装置适用于嵌入式开发过程中对嵌入式程序进行调试的情况,该装置可由软件和/或硬件实现,并一般集成在用于调试的目标服务器上。如图3所示,该调试装置包括:执行文件上传模块31和调试结果确定模块32。
其中,执行文件上传模块31用于当检测到宿主机中存在嵌入式程序编译后生成的执行文件时,将所述执行文件上传至目标服务器上网络文件系统的文件目录中;
调试结果确定模块32,用于通过运行包含所述执行文件的网络文件系统,确定所述嵌入式程序的调试结果,其中,所述网络文件系统基于嵌入式设备加载运行。
在本实施例中,该装置首先通过执行文件上传模块31当检测到宿主机中存在嵌入式程序编译后生成的执行文件时,将执行文件上传至目标服务器上网络文件系统的文件目录中;然后根据调试结果确定模块32通过运行包含执行文件的网络文件系统,确定嵌入式程序的调试结果,其中,网络文件系统基于嵌入式设备加载运行。
本发明实施例三提供的一种调节装置,与现有调试装置相比,省去了将可执行的二进制文件下载集成到嵌入式设备的操作,提高了嵌入式软件开发的调试效率,节省了更多的调试时间,实现了嵌入式系统的快速迭代开发。
进一步地,该调试装置还包括了:
文件系统构建模块33,用于获取所述嵌入式设备中嵌入式系统的压缩文件,并基于所述压缩文件在所述目标服务器上构建网络文件系统;
文件系统加载模块34,用于基于设定命令控制所述嵌入式设备启动并加载运行所述目标服务器上的网络文件系统。
在上述优化的基础上,所述文件系统构建模块33,具体用于:
获取所述嵌入式设备中嵌入式系统的压缩文件,将所述压缩文件解压到目标服务器根目录下的指定目录中,形成网络文件系统,并记所述指定目录为网络文件系统的文件目录;在所述目标服务器根目录下安装启动所述网络文件系统所需的内核镜像文件;获取运行所述网络文件系统所需的环境变量脚本,并将所述环境变量脚本存放于所述文件目录的设定子目录中。
进一步地,所述文件系统加载模块34,包括:
启动预配置单元,用于配置所述嵌入式设备中引导程序的启动运行参数以及启动加载命令;加载运行控制单元,用于根据所述启动运行参数以及启动加载命令,控制所述嵌入式设备启动并加载运行所述目标服务器上的网络文件系统。
进一步地,所述加载运行控制单元,具体用于:
根据所述启动运行参数以及启动加载命令,触发运行所述设定子目录中的环境变量脚本,以配置所述网络文件系统运行的环境变量;控制所述嵌入式设备加载所述目标服务器根目录下的内核镜像文件,并根据配置的环境变量加载运行所述网络文件系统。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。