一种嵌入式软件调试方法及装置与流程

文档序号:36240496发布日期:2023-12-02 00:43阅读:22来源:国知局
一种嵌入式软件调试方法及装置与流程

本申请属于嵌入式软件开发,具体涉及一种嵌入式软件调试方法及装置。


背景技术:

1、目前,嵌入式程序运行在嵌入式芯片上,但开发调试工具都在通用计算机上。由于目标机和开发机的芯片及环境差异极大,需要做交叉编译,通常需要将嵌入式程序下载到目标机运行和调试。

2、在实践中发现,现有的芯片设计厂家会开发或者委托开发与芯片对应的仿真器,仿真器能够与主机端口(串口或usb口)建立连接,主机上安装有调试软件。调试软件能够通过预先设定的协议(jtag或bmd等)与仿真器通讯,达到跟踪控制的目的,实现调试功能。然而,这种嵌入式软件调试方式需要开发仿真器,存在着硬件成本高的问题。

3、针对上述的问题,目前尚未提出有效的解决方案。


技术实现思路

1、为此,本申请提供一种嵌入式软件调试方法及装置,有助于降低硬件成本,提高调试精准度。

2、为实现以上目的,本申请采用如下技术方案:

3、第一方面,本申请提供一种嵌入式软件调试方法,所述方法包括:

4、基于开发环境提供的插件接口,开发目标芯片对应的目标插件;其中,所述目标插件通过所述插件接口与所述开发环境进行数据交互,所述目标插件通过socket接口连接目标设备;其中,所述目标设备至少包括:模拟协处理器;

5、响应于所述开发环境已进入调试状态、且所述目标插件接收到嵌入式软件调试指令,通过所述模拟协处理器获取调试命令接口代码;

6、根据所述调试命令接口代码对应的命令类型,进行调试数据处理,得到调试处理结果;

7、将所述调试处理结果返回所述目标插件,以通过所述目标插件将所述数据处理结果返回给所述开发环境。

8、进一步地,所述方法还包括:

9、基于所述目标插件中的调试数据处理类别,同步更新所述目标插件中的数据标志位;其中,所述调试数据处理类别至少包括数据输入和数据输出。

10、进一步地,在通过所述模拟协处理器获取调试命令接口代码之前,所述方法还包括:

11、通过所述目标插件配置寄存器。

12、进一步地,通过所述目标插件配置寄存器,包括:

13、在所述目标插件中定义虚拟寄存器组;

14、对于所述虚拟寄存器组中的每个虚拟寄存器,通过所述目标插件设置该虚拟寄存器的虚拟地址对应的触发函数;

15、其中,所述触发函数用于对该虚拟寄存器的虚拟地址中的数据进行读写。

16、进一步地,所述方法还包括:

17、通过所述目标插件,将预设的二进制镜像文件写入指定地址空间;

18、响应于接收到针对所述预设的二进制镜像文件的加载指令,确定所述目标插件接收到所述嵌入式软件调试指令。

19、进一步地,所述方法还包括:

20、通过所述目标插件提供的修改指令,将休眠代码修改为空操作。

21、第二方面,本申请提供一种嵌入式软件调试装置,所述装置包括目标插件以及模拟协处理器;其中,所述目标插件为基于开发环境提供的插件接口开发的、与目标芯片对应的插件,所述目标插件通过所述插件接口与所述开发环境进行数据交互,所述目标插件通过socket接口连接目标设备;其中,所述目标设备至少包括:所述模拟协处理器;

22、所述模拟协处理器,用于响应于所述开发环境已进入调试状态、且所述目标插件接收到嵌入式软件调试指令,获取调试命令接口代码;

23、所述模拟协处理器,还用于根据所述调试命令接口代码对应的命令类型,进行调试数据处理,得到调试处理结果;

24、所述模拟协处理器,还用于将所述调试处理结果返回所述目标插件,以通过所述目标插件将所述数据处理结果返回给所述开发环境。

25、进一步地,所述目标插件还用于:

26、基于所述目标插件中的调试数据处理类别,同步更新所述目标插件中的数据标志位;其中,所述调试数据处理类别至少包括数据输入和数据输出。

27、进一步地,所述目标插件还用于:

28、在通过所述模拟协处理器获取调试命令接口代码之前,通过所述目标插件配置寄存器。

29、进一步地,所述目标插件具体用于:

30、在所述目标插件中定义虚拟寄存器组;

31、对于所述虚拟寄存器组中的每个虚拟寄存器,通过所述目标插件设置该虚拟寄存器的虚拟地址对应的触发函数;

32、其中,所述触发函数用于对该虚拟寄存器的虚拟地址中的数据进行读写。

33、进一步地,所述目标插件还用于:

34、将预设的二进制镜像文件写入指定地址空间;

35、响应于接收到针对所述预设的二进制镜像文件的加载指令,确定所述目标插件接收到所述嵌入式软件调试指令。

36、进一步地,所述目标插件还用于:

37、通过所述目标插件提供的修改指令,将休眠代码修改为空操作。

38、第三方面,本申请提供一种电子设备,包括:

39、至少一个处理器;以及

40、与所述至少一个处理器通信连接的存储器;其中,

41、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法。

42、第四方面,本申请提供一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行第一方面所述的方法。

43、第五方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现第一方面所述的方法。

44、本申请采用以上技术方案,至少具备以下有益效果:

45、通过本申请,基于开发环境提供的插件接口,开发目标芯片对应的目标插件;其中,所述目标插件通过所述插件接口与所述开发环境进行数据交互,所述目标插件通过socket接口连接目标设备;其中,所述目标设备至少包括:模拟协处理器;响应于所述开发环境已进入调试状态、且所述目标插件接收到嵌入式软件调试指令,通过所述模拟协处理器获取调试命令接口代码;根据所述调试命令接口代码对应的命令类型,进行调试数据处理,得到调试处理结果;将所述调试处理结果返回所述目标插件,以通过所述目标插件将所述数据处理结果返回给所述开发环境。通过本申请,基于目标插件和模拟协处理器实现软件仿真调试,无需额外开发仿真器,有助于降低硬件成本,并且无需修改源码,实现最大程度反映嵌入式芯片实际运行情况,从而提高调试精准度。

46、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。



技术特征:

1.一种嵌入式软件调试方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,在通过所述模拟协处理器获取调试命令接口代码之前,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,通过所述目标插件配置寄存器,包括:

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:

7.一种嵌入式软件调试装置,其特征在于,所述装置包括目标插件以及模拟协处理器;其中,所述目标插件为基于开发环境提供的插件接口开发的、与目标芯片对应的插件,所述目标插件通过所述插件接口与所述开发环境进行数据交互,所述目标插件通过socket接口连接目标设备;其中,所述目标设备至少包括:所述模拟协处理器;

8.根据权利要求7所述的装置,其特征在于,所述目标插件还用于:

9.根据权利要求7所述的装置,其特征在于,所述目标插件还用于:

10.根据权利要求9所述的装置,其特征在于,所述目标插件具体用于:


技术总结
本申请涉及一种嵌入式软件调试方法及装置,属于嵌入式软件开发领域。本申请基于开发环境提供的插件接口,开发目标芯片对应的目标插件;其中,所述目标插件通过所述插件接口与所述开发环境进行数据交互,所述目标插件通过Socket接口连接目标设备;其中,所述目标设备至少包括:模拟协处理器;响应于所述开发环境已进入调试状态、且所述目标插件接收到嵌入式软件调试指令,通过所述模拟协处理器获取调试命令接口代码;根据所述调试命令接口代码对应的命令类型,进行调试数据处理,得到调试处理结果;将所述调试处理结果返回所述目标插件,以通过所述目标插件将所述数据处理结果返回给所述开发环境。通过本申请,有助于降低硬件成本,提高调试精准度。

技术研发人员:朱琳琳,胡东纯,翟淑琴,金银军
受保护的技术使用者:四川科道芯国智能技术股份有限公司
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1