一种嵌入式软件调试方法及装置制造方法及图纸

技术编号:39571152 阅读:6 留言:0更新日期:2023-12-03 19:22
本申请涉及一种嵌入式软件调试方法及装置,属于嵌入式软件开发领域

【技术实现步骤摘要】
一种嵌入式软件调试方法及装置


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


技术介绍

[0002]目前,嵌入式程序运行在嵌入式芯片上,但开发调试工具都在通用计算机上

由于目标机和开发机的芯片及环境差异极大,需要做交叉编译,通常需要将嵌入式程序下载到目标机运行和调试

[0003]在实践中发现,现有的芯片设计厂家会开发或者委托开发与芯片对应的仿真器,仿真器能够与主机端口
(
串口或
USB

)
建立连接,主机上安装有调试软件

调试软件能够通过预先设定的协议
(JTAG

BMD

)
与仿真器通讯,达到跟踪控制的目的,实现调试功能

然而,这种嵌入式软件调试方式需要开发仿真器,存在着硬件成本高的问题

[0004]针对上述的问题,目前尚未提出有效的解决方案


技术实现思路

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

[0006]为实现以上目的,本申请采用如下技术方案:
[0007]第一方面,本申请提供一种嵌入式软件调试方法,所述方法包括:
[0008]基于开发环境提供的插件接口,开发目标芯片对应的目标插件;其中,所述目标插件通过所述插件接口与所述开发环境进行数据交互,所述目标插件通过
Socket
接口连接目标设备;其中,所述目标设备至少包括:模拟协处理器;
[0009]响应于所述开发环境已进入调试状态

且所述目标插件接收到嵌入式软件调试指令,通过所述模拟协处理器获取调试命令接口代码;
[0010]根据所述调试命令接口代码对应的命令类型,进行调试数据处理,得到调试处理结果;
[0011]将所述调试处理结果返回所述目标插件,以通过所述目标插件将所述数据处理结果返回给所述开发环境

[0012]进一步地,所述方法还包括:
[0013]基于所述目标插件中的调试数据处理类别,同步更新所述目标插件中的数据标志位;其中,所述调试数据处理类别至少包括数据输入和数据输出

[0014]进一步地,在通过所述模拟协处理器获取调试命令接口代码之前,所述方法还包括:
[0015]通过所述目标插件配置寄存器

[0016]进一步地,通过所述目标插件配置寄存器,包括:
[0017]在所述目标插件中定义虚拟寄存器组;
[0018]对于所述虚拟寄存器组中的每个虚拟寄存器,通过所述目标插件设置该虚拟寄存器的虚拟地址对应的触发函数;
[0019]其中,所述触发函数用于对该虚拟寄存器的虚拟地址中的数据进行读写

[0020]进一步地,所述方法还包括:
[0021]通过所述目标插件,将预设的二进制镜像文件写入指定地址空间;
[0022]响应于接收到针对所述预设的二进制镜像文件的加载指令,确定所述目标插件接收到所述嵌入式软件调试指令

[0023]进一步地,所述方法还包括:
[0024]通过所述目标插件提供的修改指令,将休眠代码修改为空操作

[0025]第二方面,本申请提供一种嵌入式软件调试装置,所述装置包括目标插件以及模拟协处理器;其中,所述目标插件为基于开发环境提供的插件接口开发的

与目标芯片对应的插件,所述目标插件通过所述插件接口与所述开发环境进行数据交互,所述目标插件通过
Socket
接口连接目标设备;其中,所述目标设备至少包括:所述模拟协处理器;
[0026]所述模拟协处理器,用于响应于所述开发环境已进入调试状态

且所述目标插件接收到嵌入式软件调试指令,获取调试命令接口代码;
[0027]所述模拟协处理器,还用于根据所述调试命令接口代码对应的命令类型,进行调试数据处理,得到调试处理结果;
[0028]所述模拟协处理器,还用于将所述调试处理结果返回所述目标插件,以通过所述目标插件将所述数据处理结果返回给所述开发环境

[0029]进一步地,所述目标插件还用于:
[0030]基于所述目标插件中的调试数据处理类别,同步更新所述目标插件中的数据标志位;其中,所述调试数据处理类别至少包括数据输入和数据输出

[0031]进一步地,所述目标插件还用于:
[0032]在通过所述模拟协处理器获取调试命令接口代码之前,通过所述目标插件配置寄存器

[0033]进一步地,所述目标插件具体用于:
[0034]在所述目标插件中定义虚拟寄存器组;
[0035]对于所述虚拟寄存器组中的每个虚拟寄存器,通过所述目标插件设置该虚拟寄存器的虚拟地址对应的触发函数;
[0036]其中,所述触发函数用于对该虚拟寄存器的虚拟地址中的数据进行读写

[0037]进一步地,所述目标插件还用于:
[0038]将预设的二进制镜像文件写入指定地址空间;
[0039]响应于接收到针对所述预设的二进制镜像文件的加载指令,确定所述目标插件接收到所述嵌入式软件调试指令

[0040]进一步地,所述目标插件还用于:
[0041]通过所述目标插件提供的修改指令,将休眠代码修改为空操作

[0042]第三方面,本申请提供一种电子设备,包括:
[0043]至少一个处理器;以及
[0044]与所述至少一个处理器通信连接的存储器;其中,
[0045]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法

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

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

[0048]本申请采用以上技术方案,至少具备以下有益效果:
[0049]通过本申请,基于开发环境提供的插件接口,开发目标芯片对应的目标插件;其中,所述目标插件通过所述插件接口与所述开发环境进行数据交互,所述目标插件通过
Socket
接口连接目标设备;其中,所述目标设备至少包括:模拟协处理器;响应于所述开发环境已进入调试状态

且所述目标插件接收到嵌入式软件调试指令,通过所述模拟协处理器获取调试命令接口代码;根据所述调试命令接口代码对应的命令类型,进行调试本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种嵌入式软件调试方法,其特征在于,所述方法包括:基于开发环境提供的插件接口,开发目标芯片对应的目标插件;其中,所述目标插件通过所述插件接口与所述开发环境进行数据交互,所述目标插件通过
Socket
接口连接目标设备;其中,所述目标设备至少包括:模拟协处理器;响应于所述开发环境已进入调试状态

且所述目标插件接收到嵌入式软件调试指令,通过所述模拟协处理器获取调试命令接口代码;根据所述调试命令接口代码对应的命令类型,进行调试数据处理,得到调试处理结果;将所述调试处理结果返回所述目标插件,以通过所述目标插件将所述数据处理结果返回给所述开发环境
。2.
根据权利要求1所述的方法,其特征在于,所述方法还包括:基于所述目标插件中的调试数据处理类别,同步更新所述目标插件中的数据标志位;其中,所述调试数据处理类别至少包括数据输入和数据输出
。3.
根据权利要求1所述的方法,其特征在于,在通过所述模拟协处理器获取调试命令接口代码之前,所述方法还包括:通过所述目标插件配置寄存器
。4.
根据权利要求3所述的方法,其特征在于,通过所述目标插件配置寄存器,包括:在所述目标插件中定义虚拟寄存器组;对于所述虚拟寄存器组中的每个虚拟寄存器,通过所述目标插件设置该虚拟寄存器的虚拟地址对应的触发函数;其中,所述触发函数用于对该虚拟寄存器的虚拟地址中的数据进行读写
。5.
根据权利要求1所述的方法,其特征在于,所述方法还包括:通过所述目标插件,将预设的二进制镜像文件写入指定地址空间;响应于接收到针对所述预设的二进制镜像文件的加载指令,确定所述目标插件接收到所述嵌入式软件调试指令
。6.
根据...

【专利技术属性】
技术研发人员:朱琳琳胡东纯翟淑琴金银军
申请(专利权)人:四川科道芯国智能技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1