一种嵌入式IDE远程协助开发调试方法及系统转让专利

申请号 : CN202210089714.9

文献号 : CN114125014B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘帅

申请人 : 南京沁恒微电子股份有限公司

摘要 :

本发明公开了一种嵌入式IDE远程协助开发调试方法及系统,第一设备IDE与第二设备IDE分别设置本机角色,所述本机角色为被协助方或协助方,被协助方与协助方建立通信连接,执行协助步骤,协助步骤中,被协助方将目标数据传输至协助方,协助方将修改后的目标数据传输给被协助方,被协助方用修改后的目标数据替换或修改本地文件;重复操作协助步骤至不再需要远程协助,断开通信连接。本发明无需共享不必要信息,无需手动设置IDE开发环境参数,协助过程不影响被协助方正常工作,在被协助方IDE执行的输出信息,可以实时显示在协助方IDE,提升远程协助调试的效率。

权利要求 :

1.一种嵌入式IDE远程协助开发调试方法,其特征在于,包括以下步骤:第一设备IDE与第二设备IDE分别设置本机角色,所述本机角色为被协助方或协助方,被协助方与协助方建立通信连接,执行协助步骤;

所述建立通信连接包括:被协助方生成邀请码,所述邀请码包括通信连接信息及协助类型,所述协助类型包括源码级、工程级及调试级中的一种;协助方获取邀请码后,根据通信连接信息与被协助方建立通信连接;

当协助类型为源码级时,目标数据为部分代码或文件,所述协助步骤包括:被协助方发送目标数据至协助方,所述目标数据存储在自身存储空间中;协助方发送修改后的目标数据至被协助方;被协助方创建协助专属工作空间,存储修改后的目标数据在协助专属工作空间中;被协助方根据修改后的目标数据替换或修改原本存储在自身存储空间中的目标数据;

当协助类型为工程级或调试级时,目标数据为单个工程或多个工程组成的工程集合,所述协助步骤包括:被协助方发送目标数据至协助方,所述目标数据存储在自身存储空间中,并将目标数据拷贝到创建的协助专属工作空间内,设置协助中的操作直接从协助专属工作空间获取目标数据;被协助方与协助方同步IDE开发环境;被协助方利用选项接口设置操作权限为编辑、编译、烧录中的一种或多种,向协助方发送操作同步请求;协助方接收到操作同步请求后,IDE进入操作映射模式,在操作映射模式中,协助方对目标数据执行的操作应用到被协助方协助专属工作空间内的目标数据中;被协助方执行相应操作,并将执行结果打印至协助方IDE控制台窗口;协助方根据执行结果不断重复执行协助步骤至不再需要操作,被协助方根据存储在协助专属工作空间内的修改后的目标数据覆盖原本存储在自身存储空间中的目标数据,若协助方无法通过查看执行结果确定是否需要继续操作时,还执行调试同步步骤;

重复操作协助步骤至不再需要远程协助,断开通信连接。

2.根据权利要求1所述的嵌入式IDE远程协助开发调试方法,其特征在于,在建立通信连接过程中,通信连接信息包括通信加密方式、被协助方IDE通信地址标识及通信网络,所述通信网络包括局域网或互联网。

3.根据权利要求1或2所述的嵌入式IDE远程协助开发调试方法,其特征在于,在建立通信连接过程中,协助方通过除IDE以外的其他通信方式获取邀请码后,在IDE指定接口输入该邀请码并向被协助方发送建立协助连接请求;被协助方返回同意建立协助连接请求;协助方根据邀请码解析出通信连接信息及协助类型。

4.根据权利要求1或2所述的嵌入式IDE远程协助开发调试方法,其特征在于,在协助步骤中,被协助方在发送目标数据至协助方时,还发送协助描述信息至协助方;协助方存储目标数据及协助描述信息,加载目标数据至IDE显示界面,打印协助描述信息至IDE控制台窗口。

5.根据权利要求1或2所述的嵌入式IDE远程协助开发调试方法,其特征在于,在协助步骤中,同步IDE开发环境包括:

被协助方与协助方互相发送各自IDE开发环境,将对方IDE开发环境与自身IDE开发环境对比出差异点,将差异点打印到各自IDE控制台窗口;

协助方创建协助专属工作空间,以文件形式存储IDE开发环境差异点,并将差异点应用于自身IDE,实现IDE开发环境同步。

6.根据权利要求5所述的嵌入式IDE远程协助开发调试方法,其特征在于,在操作映射模式中,若协助方认为需要修改IDE开发环境,则将修改配置打印至被协助方IDE控制台窗口,被协助方在协助专属工作空间创建环境差异点记录文件,并设置IDE配置优先从所述协助专属工作空间读取。

7.根据权利要求1或2所述的嵌入式IDE远程协助开发调试方法,其特征在于,所述调试同步步骤包括:

协助方发起调试操作权限请求,被协助方开放调试操作权限给协助方;

协助方将调试必要参数实时发送至被协助方;

被协助方IDE执行相应调试操作,并将调试过程中的监控内容及调试结果实时发送至协助方显示或打印;

重复执行调试操作同步步骤至不再需要操作,被协助方根据存储在协助专属工作空间内的目标数据覆盖本地文件。

8.一种嵌入式IDE远程协助开发调试系统,其特征在于,包括第一设备和第二设备,第一设备和第二设备均包含处理器、存储器及存储在存储器上并可被处理器执行的软件程序,当处理器执行该软件程序时可实现如权利要求1‑7任一所述的嵌入式IDE远程协助开发调试方法的步骤。

说明书 :

一种嵌入式IDE远程协助开发调试方法及系统

技术领域

[0001] 本发明属于数据通信技术领域,尤其涉及一种嵌入式IDE远程协助开发调试方法及系统。

背景技术

[0002] 现有技术中,当嵌入式工程师在项目开发过程中遇到问题时,往往需要其他工程师进行远程协助,目前行业内主要采用以下远程协助方法:
[0003] 1、发送整个源码工程包至协助方,存在所有源码全公开的情况,不适用于涉密代码;开发源码的IDE配置不一致,如工具链设置等,会造成代码生成效果不一致,不利于复现
或排查程序问题。
[0004] 2、远程电脑共享方式,存在电脑内部所有资源全公开的情况,有敏感资料泄漏的风险;且使用该方式进行远程时,被协助方主机屏幕完全由对方占用,无法切换界面进行其
他工作,占用了被协助方的工作环境。
[0005] 3、使用部分IDE自带的远程调试方式,需要手动同步双方IDE配置,且协助方无法便捷获取调试过程中想要查看的各类被调设备信息,影响远程调试效率。

发明内容

[0006] 发明目的:为了解决现有技术中IDE在项目开发过程中不方便远程协助的问题,本发明提供一种嵌入式IDE远程协助开发调试方法及系统。
[0007] 技术方案:一种嵌入式IDE远程协助开发调试方法,包括以下步骤:
[0008] 第一设备IDE与第二设备IDE分别设置本机角色,所述本机角色为被协助方或协助方,被协助方与协助方建立通信连接,执行协助步骤;
[0009] 所述建立通信连接包括:被协助方生成邀请码,所述邀请码包括通信连接信息;协助方获取邀请码后,根据通信连接信息与被协助方建立通信连接;
[0010] 所述协助步骤包括:被协助方发送目标数据至协助方,所述目标数据存储在自身存储空间中;协助方发送修改后的目标数据至被协助方;被协助方创建协助专属工作空间,
存储修改后的目标数据在协助专属工作空间中;被协助方根据修改后的目标数据替换或修
改原本存储在自身存储空间中的目标数据;
[0011] 重复操作协助步骤至不再需要远程协助,断开通信连接。
[0012] 进一步地,所述邀请码还包括协助类型,所述协助类型包括源码级、工程级及调试级中的一种,当协助类型为源码级时,目标数据为部分代码或文件,当协助类型为工程级或
调试级时,目标数据为单个工程或多个工程组成的工程集合。
[0013] 进一步地,在建立通信连接过程中,通信连接信息包括通信加密方式、被协助方IDE通信地址标识及通信网络,所述通信网络包括局域网或互联网。
[0014] 进一步地,在建立通信连接过程中,协助方通过除IDE以外的其他通信方式获取邀请码后,在IDE指定接口输入该邀请码并向被协助方发送建立协助连接请求;被协助方返回
同意建立协助连接请求;协助方根据邀请码解析出通信连接信息及协助类型。
[0015] 进一步地,在协助步骤中,被协助方在发送目标数据至协助方时,还发送协助描述信息至协助方;协助方存储目标数据及协助描述信息,加载目标数据至IDE显示界面,打印
协助描述信息至IDE控制台窗口。
[0016] 进一步地,所述协助步骤替换为:
[0017] 被协助方发送目标数据至协助方,所述目标数据存储在自身存储空间中,并将目标数据拷贝到创建的协助专属工作空间内,设置协助中的操作直接从协助专属工作空间获
取目标数据;
[0018] 被协助方与协助方同步IDE开发环境;
[0019] 被协助方利用选项接口设置操作权限为编辑、编译、烧录中的一种或多种,向协助方发送操作同步请求;
[0020] 协助方接收到操作同步请求后,IDE进入操作映射模式,在操作映射模式中,协助方对目标数据执行的操作应用到被协助方协助专属工作空间内的目标数据中;
[0021] 被协助方执行相应操作,并将执行结果打印至协助方IDE控制台窗口;
[0022] 协助方根据执行结果不断重复执行协助步骤至不再需要操作,被协助方根据存储在协助专属工作空间内的修改后的目标数据覆盖原本存储在自身存储空间中的目标数据。
[0023] 进一步地,在协助步骤中,同步IDE开发环境包括:
[0024] 被协助方与协助方互相发送各自IDE开发环境,将对方IDE开发环境与自身IDE开发环境对比出差异点,将差异点打印到各自IDE控制台窗口;
[0025] 协助方创建协助专属工作空间,以文件形式存储IDE开发环境差异点,并将差异点应用于自身IDE,实现IDE开发环境同步。
[0026] 进一步地,在操作映射模式中,若协助方认为需要修改IDE开发环境,则将修改配置打印至被协助方IDE控制台窗口,被协助方在协助专属工作空间创建环境差异点记录文
件,并设置IDE配置优先从所述协助专属工作空间读取。
[0027] 进一步地,当协助方无法通过查看执行结果确定是否需要继续操作时,还包括调试同步步骤,所述调试同步步骤包括:
[0028] 协助方发起调试操作权限请求,被协助方开放调试操作权限给协助方;
[0029] 协助方将调试必要参数实时发送至被协助方;
[0030] 被协助方IDE执行相应调试操作,并将调试过程中的监控内容及调试结果实时发送至协助方显示或打印;
[0031] 重复执行调试操作同步步骤至不再需要操作,被协助方根据存储在协助专属工作空间内的目标数据覆盖本地文件。
[0032] 一种嵌入式IDE远程协助开发调试系统,包括第一设备和第二设备,第一设备和第二设备均包含处理器、存储器及存储在存储器上并可被处理器执行的软件程序,当处理器
执行该软件程序时可实现上述的嵌入式IDE远程协助开发调试方法的步骤。
[0033] 本发明提供一种嵌入式IDE远程协助开发调试方法及系统,相比较现有技术,存在以下有益效果:
[0034] (1)被协助方可以根据协助场景灵活设置共享或同步的内容,包括代码块、文件、工程、解决方案以及IDE开发环境等。有效消除了敏感代码公开、手动同步双方IDE设置的烦
恼。
[0035] (2)操作协助模式下时,协助方所有操作都会同步到被协助方,由对方IDE自动去实际执行,执行结果信息会直接同步到协助方IDE的信息输出区,所有操作无需占用被协助
方的主机屏幕,也不会涉及该主机上其他任何资料。本远程协助方法在不影响协助方主机
其他工作的同时,有效降低了该主机上敏感资料泄露的风险。
[0036] (3)建立协助连接后,被协助方IDE执行调试过程中的输出信息都会及时同步到协助方,并显示在IDE对应的窗口,提升了远程调试的效率。

附图说明

[0037] 图1为嵌入式IDE远程协助开发调试方法中源码级协助类型的流程图;
[0038] 图2为嵌入式IDE远程协助开发调试方法中调试级协助类型的流程图。

具体实施方式

[0039] 下面结合附图和具体实施例对本发明做进一步解释说明。
[0040] 一种嵌入式IDE远程协助开发调试系统,包括第一设备和第二设备,第一设备和第二设备均包含处理器、存储器及存储在存储器上并可被处理器执行的软件程序,当处理器
执行该软件程序时可实现下文所述的嵌入式IDE远程协助开发调试方法的步骤。
[0041] 实现上,被协助方协助方双方IDE需要包含数据通信单元、数据存储单元、数据加载单元、环境同步单元、操作同步单元及输出同步单元,以上所述单元实现形式为IDE平台
插件、dll开发库或可执行文件。数据通信单元支持局域网和因特网,用于双方数据的交互,
通信无需中转服务器,可采用被协助方指定的加密方式对数据加密传输,并与其他单元进
行数据交互。数据存储单元用于存储协助过程中需要的目标数据(IDE开发环境配置、代码、
文件、工程、多工程解决方案及其他必要交互数据)等其他必要交互数据,可选择使用虚拟
的加密磁盘或本地磁盘。数据加载单元用于将数据存储单元中的目标数据加载到IDE中或
写入新建的各类工程开发或IDE配置的相关文件中。环境同步单元用于实现双方IDE开发环
境(IDE设置、依赖文件等)比对,找出差异点,并根据差异点将协助方IDE开发环境同步成被
协助方IDE开发环境。操作同步单元用于将协助方IDE指定操作同步到被协助方,由被协助
方IDE实际执行。输出同步单元用于将被协助方IDE操作输出结果发送至协助方IDE显示。
[0042] 一种嵌入式IDE远程协助开发调试方法,包括以下步骤:
[0043] 打开第一设备IDE和第二设备IDE,第一设备IDE与第二设备IDE分别设置本机角色,所述本机角色为被协助方或协助方,被协助方与协助方先建立通信连接,再执行协助步
骤,根据需要不断重复操作协助步骤至不再需要远程协助,断开通信连接,结束协助。
[0044] 所述建立通信连接包括:被协助方生成本次远程协助的唯一邀请码,邀请码包括通信连接信息和协助类型;协助方通过除IDE以外的其他通信方式(如电话、短信、线上通信
软件等)获取邀请码后,在IDE指定接口输入该邀请码并向被协助方发送建立协助连接请
求;被协助方返回同意建立协助连接请求;协助方根据邀请码解析出通信连接信息及协助
类型,根据通信连接信息与被协助方建立通信连接,根据协助类型确定协助步骤中传输的
目标数据的类型。
[0045] 通信连接信息包括通信加密方式、被协助方IDE通信地址标识及通信网络,所述通信网络包括局域网或互联网。
[0046] 所述协助类型包括源码级、工程级及调试级中的一种,当协助类型为源码级时,目标数据为部分代码或文件,当协助类型为工程级或调试级时,目标数据为单个工程或多个
工程组成的工程集合(解决方案)。以下分别针对三种协助类型对协助步骤进行说明:
[0047] (1)当协助类型为源码级时,仅需要编辑协助,不涉及编译、下载等操作。此类型下,如图1所示,所述协助步骤包括:
[0048] 被协助方通过数据通信单元发送目标数据(包含需要协助编辑的代码块、文件)至协助方;为方便协助工作,还可以将协助描述信息一同传输至协助方,协助信息中可描述需
要协助的问题;为提高安全性,可以加密后发送,所述目标数据存储在自身存储空间中(本
地代码或文件存储的位置);
[0049] 协助方接收到数据后解密并存储目标数据及协助描述信息至数据存储单元,数据加载单元从数据存储单元中提取本次协助的目标数据,并加载至IDE相应显示界面,同时打
印协助描述信息至IDE控制台窗口;
[0050] 协助方根据协助描述信息中的内容,对代码块或文件进行协助编辑修改,再利用数据通信单元发送修改后的目标数据至被协助方,还可以根据需要发送备注信息;
[0051] 被协助方将接收到的修改后的目标数据投送到数据存储单元,并创建本次协助专属工作空间,将修改后的目标数据以文件形式存储在协助专属工作空间中;
[0052] 被协助方根据协助专属工作空间中的文件内容,替换或修改原本存储在自身存储空间中的目标数据(本地代码或文件)。
[0053] (2)当协助类型为工程级时,需要编辑、编译、下载等操作。此类型下,如图2左边部分,协助步骤为:
[0054] 被协助方发送目标数据(需要协助的工程或多个工程的解决方案的压缩文件)和协助描述信息至协助方,所述目标数据存储在自身存储空间中(本地工程及多个工程存储
的位置),并创建协助专属工作空间,将目标数据拷贝到协助专属工作空间内,设置协助中
的操作直接从协助专属工作空间获取目标数据;
[0055] 被协助方与协助方同步IDE开发环境,具体包括:被协助方与协助方互相发送各自IDE开发环境(配置、依赖文件等),将对方IDE开发环境与自身IDE开发环境对比出差异点,
将差异点打印到各自IDE控制台窗口;协助方创建本次协助专属工作空间,以文件形式存储
IDE开发环境差异配置,并将差异配置应用于自身IDE,实现与被协助方IDE开发环境同步。
理论上,目标数据的传输与IDE开发环境的同步不分先后顺序,但需在操作同步之前执行,
一般情况下先传输目标数据及协助描述信息后再同步IDE开发环境。
[0056] 被协助方利用操作同步单元提供的选项接口设置操作权限为编辑、编译、下载中的一种或多种,向协助方发送操作同步请求;
[0057] 协助方接收到操作同步请求后,IDE进入操作映射模式,在操作映射模式中,协助方可以先确认IDE开发环境,若协助方认为需要修改IDE开发环境,则将修改配置打印至被
协助方IDE控制台窗口,被协助方在协助专属工作空间创建环境差异点记录文件,并设置
IDE配置优先从此临时工作空间读取,未改动的配置则保持原有状态。
[0058] 协助方对目标数据进行编辑、编译、下载等操作,操作同步单元将所执行的操作命令发送至被协助方;
[0059] 所述操作应用到被协助方协助专属工作空间内拷贝的目标数据中去实际执行,并将执行结果打印至协助方IDE控制台窗口;
[0060] 协助方根据执行结果不断重复执行协助步骤至不再需要操作,被协助方根据存储在协助专属工作空间内的修改后的目标数据(工程、多工程的解决方案、开发环境配置)覆
盖原本存储在自身存储空间中的目标数据(本地工程、多个工程、开发环境配置存储的位
置)。
[0061] (3)当协助方无法通过查看执行结果确定是否需要继续操作时,应使用调试级的协助类型。此类型下,协助步骤前部分与工程级相同,区别在于最后当协助方无法通过查看
执行结果确定是否需要继续操作时,如图2右边部分,执行以下调试同步步骤:
[0062] 协助方发起调试操作权限请求,被协助方同意请求,开放调试操作权限给协助方;
[0063] 协助方将调试必要参数实时发送至被协助方,调试必要参数为目标工程内的代码编辑信息、断点信息、操作指令信息、监控内容(包括且不限于函数、变量、寄存器等)信息
等;
[0064] 被协助方IDE执行相应调试操作,并将调试过程中的监控内容及调试结果实时发送至协助方IDE,在相应位置显示或打印;
[0065] 根据需要重复执行调试操作同步步骤至不再需要操作,被协助方根据存储在协助专属工作空间内的目标数据(工程、解决方案以及开发环境配置)覆盖本地文件及IDE中。
[0066] 嵌入式IDE远程协助开发调试方法支持源码级协助、工程级协助、调试级协助三种远程场景。被协助方可以根据自身需求设置不同的协助类型,选择代码块、文件、工程、解决
方案以及IDE开发环境进行共享,同时可以有限地开放操作权限,协助方在此权限内的所有
操作都会同步到至被协助方,实际的编译、下载、调试等操作都在被协助方本地环境执行,
协助方可以及时获取操作输出信息以及调试过程信息。传输数据采用加密传输进一步提高
数据传输的安全性。可以在不共享其他非必要内容,不影响被协助方工作的情况下,实现便
捷的远程协助。