一种通过在线方式进行嵌入软件调试的系统与方法

文档序号:9844019阅读:223来源:国知局
一种通过在线方式进行嵌入软件调试的系统与方法
【技术领域】
[0001]本发明属于软件开放领域,尤其涉及一种通过在线方式进行嵌入软件调试的系统与方法。
【背景技术】
[0002]在嵌入软件开发过程中,软件的调试过程是软件开发过程中必不可少的一个关键环节,相比较一般的软件开发,嵌入软件开发通常采取交叉调试的方式,即相应的开发调试工具运行在主机上,而被调试的软件运行在调试目标机上,即通常所说的单板上,嵌入软件的开发调试难度远远大于一般软件。
[0003]—些专业的公司因此推出了面向嵌入软件开发的开发工具软件系统,这些工具软件系统都是通过销售给用户,用户再安装到自己的主机上,才能开始使用,如图1所示。通常这些工具软件系统的价格都非常昂贵,同时为了保持对最新硬件的支持能力,这些工具软件系统需要不断进行升级,这也使得用户在使用过程中需要不断付出升级维护的成本。但是,通常的中小企业与个人软件开发者,无力负担这么昂贵的软件开发工具系统,仍然采取通过运行时输出打印信息的方式来调试程序,这种方式效率非常低下,使得开发时间,开发成本都大大增加,同时也增加了软件的不稳定性,降低了软件的质量。
[0004]随着智能硬件,以及物联网的迅速普及,如何降低嵌入软件开发的成本和门槛成为一个迫切需要解决的问题。

【发明内容】

[0005]本发明的目的在于克服现有技术的不足,提供一种通过在线方式进行嵌入软件调试的系统与方法,利用云计算技术,通过一种新的在线嵌入软件调试方式,来解决嵌入开发软件工具系统价格昂贵,使用困难的问题,使得用户不需要购买嵌入软件开发工具系统,再安装到自己的计算机上,而是通过在线访问的方式,使用云端的调试工具系统,并根据使用的云端资源来实现按需付费,继而大大降低用户的开发成本。
[0006]本发明的目的是通过以下技术方案来实现的:一种通过在线方式进行嵌入软件调试的系统,包括一个云端和多个用户端;所述的云端包括云端主机,所述的云端主机包括:
云端调试开发工具系统:用于进行软件调试;
云端代理模块:为云端调试开发工具系统提供模拟的被调试目标的通讯接口,用于接收云端调试开发工具系统所发送的各种命令,并转发到用户端;同时接收用户端所发送的信息,并转发到调试开发工具系统上;
所述的用户端包括:
调试主机:所述的调试主机包括通讯代理模块,所述的通讯代理模块接收通过云端代理模块发送的云端调试开发工具系统的各种命令,并将命令转发到调试目标机上;同时接收调试目标机传送的各种信息,并通过云端代理模块转发到云端的调试开发工具系统;调试目标机:所述的调试目标机包括调试代理模块,所述的调试代理模块接收由通讯代理模块转发过来的云端调试开发工具系统所发出的各种命令,同时执行命令,并将执行结果发送至通讯代理。
[0007]所述的软件调试包括软件编译、下载到调试目标、设置调试断点、单步运行、显示软件运行结果、显示调试目标机运行状态以及各项参数。
[0008]所述的调试主机与调试目标机通过连接方式连接,所述的连接方式包括但不限于网口、串口、USB 口、JTAG。
[0009]所述的云端主机为物理主机或者虚拟主机。
[0010]所述的云端和用户端之间通过有线数据网络或者无线数据网络连接。
[0011]—种通过在线方式进行嵌入软件调试的方法包括以下步骤:
S1:将调试主机连接至公网,连接调试主机与调试目标机,并对通讯代理模块和云端代理模块进行设置,设置完成后使用云端调试开发工具系统;
S2:用户通过调试主机访问云端调试开发工具系统,选择处理器的类型与型号,以及操作系统类型和版本,并发送编译软件命令;
S3:云端调试开发工具系统,从所保存的源代码的位置信息,读取源代码进行编译,生成二进制可执行文件,所述的二进制可执行文件中包含调试代理模块;
S4:用户发送下载命令,云端调试开发工具系统将编译好的二进制可执行文件发送给云端代理模块,云端代理模块转发给通讯代理模块,通讯代理模块再发送到被调试的调试目标机上;
S5:用户进行调试,包括以下子步骤:
S51:用户发送命令;
S52:云端调试开发工具系统收到用户命令之后,传送命令到云端代理模块,云端代理模块再转发到通讯代理模块;
S53:用户代理模块发送到被调试的调试目标机上的调试代理模块,调试代理模块执行这些命令;
S54:调试代理模块将命令执行结果传送到用户代理模块,用户代理模块再转发到云端代理模块,云端代理模块再转发给云端调试开发工具系统;
S55:云端调试开发工具系统将运行输出结果显示在界面上,用户查看运行输出结果:若用户未完成工作返回步骤S51,否则进入步骤S6;
S6:当用户完成工作之后,断开网络连接,云端调试开发工具系统接收到断开命令之后,回收系统所使用的资源,删除通讯链路,等待下一次用户的接入。
[0012]所述的步骤SI包括以下子步骤:
Sll:用户将调试主机连接至公网,同时将调试目标机连接到调试主机;
S12:通过网络连接到云端调试开发工具系统,如果是第一次访问,需要下载并安装通讯代理模块;
S13:对通讯代理模块进行设置,设置之后向云端代理模块发送连接请求;
S14:云端代理模块接受用户通讯代理的连接请求,为调试目标机建立一个通讯通道,之后所有的发向被调试的调试目标机的命令都通过所述通讯通道;同时对云端代理模块进行设置。
[0013]步骤S13中所述的对通讯代理模块进行设置包括调试目标所采取的端口方式以及开发代码的保存位置;步骤S14中所述的对云端代理模块进行设置包括开发代码的保存位置信息。
[0014]所述的位置信息的保存方式包括但不限于超文本链接、远程文件系统影射、远程磁盘映射。
[0015]用户通过网络浏览器方式或者远程桌面方式访问云端调试开发工具系统。
[0016]本发明的有益效果是:
本发明与现有调试开发工具软件系统最大的区别在于,现有调试开发工具系统运行在用户的工作主机上,用户必须通过购买软件,并安装到自己的工作主机上,用户拥有对已购买调试开发工具系统完整的所有权,而本发明所描述的技术,调试开发工具软件是运行在网络侧的云端,用户通过网络访问来获得调试开发工具系统的使用权,用户不拥有调试开发工具的所有权,只拥有在一定时间之内的,或者一定资源条件下的使用权。
[0017]本发明使得用户可以根据自己的需要,随时定制,或者租赁调试开发工具的使用权,继而大大降低用户的成本。用户也不必在自己的计算机上安装庞大的软件开发工具,使得用户不需要购买高性能的计算机,只需要能够联网的普通计算机就可以满足自己开发的一切需求。
【附图说明】
[0018]图1为现有技术结构不意图;
图2为本发明结构框图;
图3为本发明方法流程图。
【具体实施方式】
[0019]下面结合附图进一步详细描述本发明的技术方案:
如图2所示,一种通过在线方式进行嵌入软件调试的系统,包括一个云端和多个用户端;所述的云端包括云端主机,其操作系统为WINDOWS或者LINUX,云端主机为物理主机或者虚拟主机;所述的云端主机包括:
云端调试开发工具系统:用于进行软件调试,运行在云端主机上的工具系统,提供通常意义下的软件调试功能,包括但不限于:软件编译,下载到调试目标,设置调试断点,单步运行,显示软件运行结果,显示调试目标机运行状态以及各项参数;
云端代理模块:为云端调试开发工具系统提供模拟的被调试目标的通讯接口,用于接收云端调试开发工具系统所发送的各种命令,并转发到用户端;同时接收用户端所发送的信息,并转发到调试开发工具系统上。
[0020]所述的云端主机还包括一个计费模块,根据用户使用软件的类型次数进行计费。
[0021]所述的用户端包括:
调试主机即通常意义上的计算机,该计算机需要通过网络与云端的调试系统相连;所述的调试主机包括通讯代理模块,所述的通讯代理模块接收通过云端代理模块发送的云端调试开发工具系统的各种命令,并将命令转发到调试目标机上;同时接收调试目标机传送的各种信息,并通过云端代理模块转发到云端的调试开发工具系统;所述的调试主机与调试目标机通过连接方式连接,所述的连接方式包括但不限于网口、串口、USB 口、JTAG。
[0022]调试目标机:所述
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1