买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种针对TMS320 C28X指令集模拟器的虚拟化调试系统设计方法_北京计算机技术及应用研究所_202310461827.1 

申请/专利权人:北京计算机技术及应用研究所

申请日:2023-04-26

公开(公告)日:2024-02-02

公开(公告)号:CN116662157B

主分类号:G06F11/36

分类号:G06F11/36;G06F9/54

优先权:

专利状态码:有效-授权

法律状态:2024.02.02#授权;2023.09.15#实质审查的生效;2023.08.29#公开

摘要:本发明涉及一种针对TMS320C28X指令集模拟器的虚拟化调试系统设计方法,属于嵌入式软件测试领域。本发明首先实现调试器服务端设计,将调试器服务端与指令集模拟器进行集成适配,完成指令集模拟器的访存和执行控制;其次,实现客户端设计,在BFD中添加对TMS320C28X的支持,实现寄存器列表,堆栈结构等内容,完成目标文件的加载解析和源代码分析;最后,通过远程访问的方式,实现客户端与服务端的通信,实现软件虚拟化调试。该方法实现的针对TMS320C28X指令集模拟器的虚拟化调试系统,实现了源码、目标码的调试功能,提供了软件调试手段,提升了嵌入式软件研发效率,保障了软件质量。

主权项:1.一种针对TMS320C28X指令集模拟器的虚拟化调试系统设计方法,其特征在于,该方法包括如下步骤:第一步、构建虚拟化调试系统服务端基于gdbserver实现虚拟化调试系统服务端,实现处理器架构支持列表,添加TMS320C28X架构;实现对调试器客户端发送的RSP协议调试命令数据包的解析,根据gdbserver解析的命令控制TMS320C28X指令集模拟器运行;系统启动时将gdbserver作为设备模型接入到虚拟化运行环境中,作为独立的线程启动;第二步、集成服务端与TMS320C28X指令集模拟器在服务端中添加TMS320C28X指令集模拟器的集成接口,包括TMS320C28X寄存器访问接口、内存访问接口、指令集模拟器运行控制接口;寄存器访问接口包括寄存器数量、寄存器字节宽度、寄存器写函数、寄存器读函数;内存访问接口包括内存读函数、内存写函数;运行控制接口包括单步运行、停止;第三步、构建虚拟化的调试器客户端基于gdb实现调试器客户端,在客户端支持列表中添加TMS320C28X架构,实现调试器客户端的文件加载、断点插入、单步运行调试命令,通过RSP协议与服务端通信;第四步、添加客户端TMS320C28X架构在客户端中添加TMS320C28X架构,包括:bfd、处理器架构、反汇编和特殊调试命令;完成目标文件解析、源码文件分析、反汇编显示、堆栈处理和断点管理功能;第五步、建立客户端与服务端的通信连接以远程访问的方式建立客户端与服务端的通信连接;服务端启动时配置了IP和端口,客户端通过targetremote命令访问服务端,建立通信链路,实现调试命令对指令集模拟器的控制;其中,所述第一步具体包括:S11、添加目标架构的支持:模拟器需要预先支持TMS320C28X架构的仿真,包括:指令功能模拟和片上设备功能模拟,向服务端支持列表中添加目标架构,并获取其相关读写接口,用于控制待调试程序执行、获取调试数据;S12、添加RSP协议解析模块:添加RSP协议解析功能模块,按照协议中的数据包格式解析客户端传来的数据包,校验数据内容,得到正确的调试命令后再将调试命令交由模拟器执行,然后将执行结果返回给虚拟化调试器客户端;S13、提供通信服务,SOCKET编程根据设定的IP和端口创建虚拟化调试系统服务端线程,虚拟化调试系统服务端与运行被调试程序映像的进程进行绑定,然后启动服务端监听,等待客户端连接后提供通信服务;所述第四步中在客户端中添加TMS320C28X架构包括:bfd;在bfd目录中创建TMS320C28X架构可执行文件的BFD;处理器架构:实现TMS320C28X架构,添加处理器架构的描述,包括硬件架构详细节、高级标量数据结构,以及实现并设定访问和显示寄存器的函数、访问堆栈帧信息的标准函数;并完成初始化操作;编译配置文件中configure.tgt也应当添加该架构;反汇编:实现目标架构的汇编器,用于解析目标处理器指令码,得到指令、操作数、偏移地址信息,有的指令类别还需要从符号表中解析出地址对应的标号,达到将二进制机器码以汇编文本的形式展示出来的效果;特殊调试命令:调试命令依赖目标架构,根据TMS320C28X架构单独实现;所述第四步中,完成目标文件解析:识别目标文件格式,获取程序入口地址、段表地址信息,用于解析和提取完成运行调试所需要的数据;源码文件分析:源码中的调试所需的符号信息存放在符号表中,符号表分为最小符号表、部分符号表和完整符号表,优先从最小符号表找起;堆栈处理:堆栈处理设定sniffer和unwind函数,堆栈处理的关键是理解负责初始化堆栈帧的每个函数中的序言和尾声,记录和还原寄存器的值;断点管理功能:断点是通过在目标地址插入一条中断命令来实现的。

全文数据:

权利要求:

百度查询: 北京计算机技术及应用研究所 一种针对TMS320 C28X指令集模拟器的虚拟化调试系统设计方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。