CN116662157B - 一种针对tms320 c28x指令集模拟器的虚拟化调试系统设计方法 - Google Patents
一种针对tms320 c28x指令集模拟器的虚拟化调试系统设计方法 Download PDFInfo
- Publication number
- CN116662157B CN116662157B CN202310461827.1A CN202310461827A CN116662157B CN 116662157 B CN116662157 B CN 116662157B CN 202310461827 A CN202310461827 A CN 202310461827A CN 116662157 B CN116662157 B CN 116662157B
- Authority
- CN
- China
- Prior art keywords
- tms320c28x
- instruction set
- server
- client
- architecture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000013461 design Methods 0.000 title claims abstract description 23
- 230000006870 function Effects 0.000 claims abstract description 59
- 230000015654 memory Effects 0.000 claims abstract description 28
- 238000004891 communication Methods 0.000 claims abstract description 22
- 238000004088 simulation Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 7
- 238000003780 insertion Methods 0.000 claims description 6
- 230000037431 insertion Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 238000010224 classification analysis Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 claims description 2
- 230000002452 interceptive effect Effects 0.000 claims description 2
- 238000012827 research and development Methods 0.000 abstract description 2
- 238000013522 software testing Methods 0.000 abstract description 2
- 238000011161 development Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 230000004888 barrier function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3652—Software debugging using additional hardware in-circuit-emulation [ICE] arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3648—Software debugging using additional hardware
- G06F11/3656—Software debugging using additional hardware using a specific debug interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/549—Remote execution
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种针对TMS320 C28X指令集模拟器的虚拟化调试系统设计方法,属于嵌入式软件测试领域。本发明首先实现调试器服务端设计,将调试器服务端与指令集模拟器进行集成适配,完成指令集模拟器的访存和执行控制;其次,实现客户端设计,在BFD中添加对TMS320 C28X的支持,实现寄存器列表,堆栈结构等内容,完成目标文件的加载解析和源代码分析;最后,通过远程访问的方式,实现客户端与服务端的通信,实现软件虚拟化调试。该方法实现的针对TMS320 C28X指令集模拟器的虚拟化调试系统,实现了源码、目标码的调试功能,提供了软件调试手段,提升了嵌入式软件研发效率,保障了软件质量。
Description
技术领域
本发明属于嵌入式软件测试领域,具体涉及一种针对TMS320 C28X指令集模拟器的虚拟化调试系统设计方法。
背景技术
TMS320 C28X嵌入式软件开发过程中,首先进行交叉编译生成目标机的可执行文件,然后将可执行程序下载到目标板中运行,通过JTAG调试器连接目标板进行软件调试。随着数字化仿真技术的发展,市场上形成了多种架构的处理器指令集仿真模型,广泛应用于嵌入式软件的开发和测试过程,基于JTAG的调试系统不适用于指令集仿真模型,导致无法快速定位软件问题,降低了软件研制效率,制约了指令集模拟器在嵌入式软件开发中的推广应用。
传统的TMS320 C28X嵌入式软件调试系统基于JTAG实现对运行在真实目标机环境上的可执行程序调试,无法支持运行在指令集仿真模型上的软件调试。虽然,TMS320 C28X指令集模拟器实现了软件在环运行,减少对硬件环境的依赖;但是,由于缺少针对指令集模拟器的虚拟化调试系统,导致软件问题定位困难,软件质量无法得到有效保障。
为满足针对TMS320 C28X指令集模拟器的软件开发和调试需求,提高软件问题定位效率,本发明提供一种针对TMS320 C28X指令集模拟器的虚拟化调试系统设计方法,实现了虚拟化调试器客户端和服务端,将服务端与TMS320 C28X指令集模拟器集成,实现指令集模拟器的执行控制;在客户端中添加对TMS320 C28X架构的支持并建立与服务端的通信,支撑基于TMS320 C28X指令集模拟器的软件开发和虚拟化调试。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是如何提供一种针对TMS320 C28X指令集模拟器的虚拟化调试系统设计方法,以解决基于指令集模拟器的软件开发模式下,软件问题定位困难、软件开发效率低下、质量无法保证的问题。
(二)技术方案
为了解决上述技术问题,本发明提出一种针对TMS320 C28X指令集模拟器的虚拟化调试系统设计方法,该方法包括如下步骤:
第一步、构建虚拟化调试器服务端
基于gdbserver实现虚拟化调试系统服务端,实现处理器架构支持列表,添加TMS320 C28X架构;实现对gdb客户端发送的RSP调试命令数据包的解析,根据gdbserver解析的命令控制TMS320 C28X指令集模拟器运行;系统启动时将gdbserver作为设备模型接入到虚拟化运行环境中,作为独立的线程启动;
第二步、集成服务端与TMS320 C28X指令集模拟器
在服务端中添加TMS320 C28X指令集模拟器的集成接口,包括TMS320 C28X寄存器访问接口、内存访问接口、指令集模拟器运行控制接口;寄存器访问接口包括寄存器数量、寄存器字节宽度、寄存器写函数、寄存器读函数;内存访问接口包括内存读函数、内存写函数;运行控制接口包括单步运行、停止;
第三步、构建虚拟化调试器客户端
基于gdb实现调试器客户端,在客户端支持列表中添加TMS320 C28X架构,实现调试器客户端的文件加载、断点插入、单步运行调试命令,通过RSP协议服务端通信;
第四步、添加客户端TMS320 C28X架构
在客户端中添加TMS320 C28X架构,包括:bfd、处理器架构、反汇编和特殊调试命令;完成目标文件解析、源码文件分析、反汇编显示、堆栈处理和断点管理功能;
第五步、建立客户端与服务端的通信连接
以远程访问的方式建立客户端与服务端的通信连接;服务端启动时配置了IP和端口,客户端通过target remote命令访问服务端,建立通信链路,实现调试命令对指令集模拟器的控制。
(三)有益效果
本发明提出一种针对TMS320 C28X指令集模拟器的虚拟化调试系统设计方法,本发明的一种针对TMS320 C28X指令集模拟器的虚拟化调试系统设计方法具有如下特点:
1、实现服务端与TMS320 C28X指令集模拟器的集成。为远程调试模拟器程序服务端的实现提供了方法。为虚拟化调试系统服务端的设计提供了实现方法,和客户端配合可以完成远程调试TMS320 C28X指令集模拟器的功能;
2、gdb客户端添加了TMS320 C28X处理器架构。和虚拟化调试系统服务端配合,为虚拟化调试TMS320 C28X指令集模拟器提供了实现方法。使得可以快速定位运行在TMS320C28X指令集模拟器上的软件问题,提高了软件研制效率,为指令集模拟器在嵌入式软件开发中的推广应用铲除了障碍。
附图说明
图1为本发明针对TMS320 C28X指令集模拟器的虚拟化调试系统设计方法组成结构图。
具体实施方式
为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明给出了一种针对TMS320 C28X指令集模拟器的虚拟化调试系统设计方法,该方法首先实现调试器服务端设计,将调试器服务端与指令集模拟器进行集成适配,完成指令集模拟器的访存和执行控制;其次,实现客户端设计,在BFD中添加对TMS320 C28X的支持,实现寄存器列表,堆栈结构等内容,完成目标文件的加载解析和源代码分析;最后,通过远程访问的方式,实现客户端与服务端的通信,实现软件虚拟化调试。该方法实现的针对TMS320 C28X指令集模拟器的虚拟化调试系统,实现了源码、目标码的调试功能,提供了软件调试手段,提升了嵌入式软件研发效率,保障了软件质量。
本发明的目的在于提供一种针对TMS320 C28X指令集模拟器的虚拟化调试系统设计方法,为TMS320 C28X指令集模拟器提供虚拟化调试器客户端和服务端,解决基于指令集模拟器的软件开发模式下,软件问题定位困难、软件开发效率低下、质量无法保证的问题。
第一步构建虚拟化调试器服务端
基于gdbserver实现虚拟化调试系统服务端,实现处理器架构支持列表,添加TMS320 C28X架构,实现对gdb客户端发送的RSP调试命令数据包的解析,根据gdbserver解析的命令控制TMS320 C28X指令集模拟器运行。系统启动时将gdbserver作为设备模型接入到虚拟化运行环境中,作为独立的线程启动。
第二步集成服务端与TMS320 C28X指令集模拟器
在服务端中添加TMS320 C28X指令集模拟器的集成接口,主要包括TMS320C28X寄存器访问接口、内存访问接口、指令集模拟器运行控制接口。寄存器访问接口包括寄存器数量、寄存器字节宽度、寄存器写函数、寄存器读函数;内存访问接口包括内存读函数、内存写函数;运行控制接口包括单步运行、停止等。
第三步构建虚拟化调试器客户端
基于gdb实现调试器客户端,在客户端支持列表中添加TMS320 C28X架构,实现调试器客户端的文件加载、断点插入、单步运行等通用调试命令,通过RSP协议服务端通信。
第四步添加客户端TMS320 C28X架构
在客户端中添加TMS320 C28X架构,包括bfd、处理器架构、反汇编、特殊调试命令。完成目标文件解析、源码文件分析、反汇编显示、堆栈处理、断点管理等功能。
第五步建立客户端与服务端的通信连接
以远程访问的方式建立客户端与服务端的通信连接。服务端启动时配置了IP和端口,客户端通过target remote命令访问服务端,建立通信链路,实现调试命令对指令集模拟器的控制。
实施例1:
一种针对TMS320 C28X指令集模拟器的虚拟化调试系统设计方法实施方案包含虚拟化调试系统客户端和服务端两个部分,如图1所示。
首先,基于gdbserver实现调试器服务端,在服务端完成RSP数据包解析,实现对指令集模拟器的寄存器访问、内存访问、执行控制;其次,基于gdb实现调试器客户端,在客户端添加TMS320 C28X架构,包括bfd、处理器架构、反汇编、调试指令等,实现源码目标码的解析;最后,通过远程访问建立客户端与服务端的联系,完成调试器系统构建,实现源码和目标码调试。
具体实施步骤为:
第一步搭建TMS320 C28X虚拟化调试系统服务端
虚拟化调试系统服务端是一个轻量级的调试器,在调试过程中担任着调试代理的角色。可按照下述步骤实现:
S11、添加目标架构的支持。模拟器需要预先支持TMS320 C28X架构的仿真,包括取指、译码、执行和中断等功能的指令集模拟,以及定时器、寄存器、内存、GPIO、EMIF等片上设备功能模拟。向服务端支持列表中添加目标架构,并获取其相关读写接口,用于控制待调试程序执行、获取调试数据。
S12、添加RSP协议解析模块。添加RSP通信协议解析功能模块,按照协议中的数据包格式($<调试信息>#<校验码>)解析客户端传来的数据包,校验数据内容,得到正确的调试命令后再将调试命令交由模拟器执行,然后将执行结果返回给虚拟化调试器客户端。
S13、提供通信服务,SOCKET编程根据设定的IP和端口创建虚拟化调试器服务端线程,虚拟化调试系统服务端与运行被调试程序映像的进程进行绑定,然后启动服务端监听,等待客户端连接后提供通信服务。
第二步集成TMS320 C28X指令集模拟器接口
在服务端中添加TMS320 C28X指令集模拟器的集成接口是指在模拟器对目标架构功能模拟的基础上,实现为完成调试目的所需要的调试功能接口。
S21、构建调试功能接口功能框架。根据RSP协议中的定义将主要命令分类解析实现,类别为(1)寄存器/内存读写命令(2)程序控制命令(3)其它命令。
S22、实现上述模型的交互功能函数。按照RSP协议分类的命令功能,访问模拟器内存、寄存器、指令集模拟器运行控制等资源,提供寄存器数量、寄存器字节宽度、寄存器写函数、寄存器读函数;内存读函数、内存写函数;单步运行、停止等TMS320 C28X指令集模拟器的调试功能接口。
第三步搭建TMS320 C28X虚拟化调试系统客户端
虚拟化调试系统客户端是基于gdb实现的针对TMS320 C28X模拟器的调试器客户端。搭建客户端可以按照下述步骤完成:在客户端支持列表中添加TMS320C28X架构,实现调试器客户端的文件加载、断点插入、单步运行等通用调试命令,通过RSP协议服务端通信。
S31、在客户端支持列表中添加TMS320 C28X架构。在bfd目录中创建TMS320C28X架构可执行文件的的BFD。
S32、实现调试器客户端的文件加载、断点插入、单步运行等通用调试命令。
S33、通过RSP协议与服务端通信。
第四步添加TMS320 C28X架构支持
在客户端中添加TMS320 C28X架构,包括如下几个方面:
bfd。在bfd目录中创建TMS320 C28X架构可执行文件的的BFD。
处理器架构。实现TMS320 C28X架构,主要是添加处理器架构的描述,包括硬件架构详细节、高级标量数据结构等重要数据值,以及实现并设定访问和显示寄存器的函数、访问堆栈帧(stack frame)信息等标准函数。并完成初始化操作。编译配置文件中configure.tgt也应当添加该架构。
反汇编。实现目标架构的汇编器,用于解析目标处理器指令码,得到指令、操作数、偏移地址等信息,有的指令类别还需要从符号表中解析出地址对应的标号。达到将二进制机器码以汇编文本的形式展示出来的效果。
特殊调试命令。部分调试命令依赖目标架构,因此需要根据TMS320 C28X架构单独实现,包括跳转。
完成目标文件解析。目标文件解析主要是识别目标文件格式,获取程序入口地址、段表地址等重要信息,用于解析和提取完成运行调试所需要的数据。
源码文件分析。源码中的调试所需的符号信息存放在符号表中,符号表分为最小符号表、部分符号表和完整符号表。为了提高查找效率总是优先从最小符号表找起。
堆栈处理。堆栈处理需要设定合适的函数sniffer和unwind函数,堆栈帧处理的关键是理解负责初始化堆栈帧的每个函数中的序言(可能还有尾声),记录和还原寄存器的值。
断点管理等功能。断点是通过在目标地址插入一条中断命令来实现的。断点管理等功能一般可以复用通用的实现。
第五步客户端远程访问服务端
客户端远程访问服务端按照下述两步完成:
S51、客户端以远程访问的方式建立客户端与服务端的通信连接。服务端启动后会监听指定IP及端口,客户端通过target remote命令访问服务端,建立通信链路。
S52、实现一组目标操作用于控制指令集模拟器的运行。主要包括:用于建立和关闭远程连接、访问服务端上的寄存器和内存、在服务端插入断点和观察点、启动和停止在服务端上运行的程序等功能函数。
本发明的关键:
1.虚拟化调试系统服务端设计:
服务端设计以添加TMS320 C28X指令集模拟器的集成接口为核心。添加指令集模拟器的调试集成接口需要实现寄存器访问接口、内存访问接口、指令集模拟器运行控制接口三类接口。集中反应了调试器服务端所能实现的调试功能和对模拟器上所运行程序的操作能力。模拟器服务端集成接口的实现,标志着TMS320 C28X模拟器调试功能成型,为远程虚拟化调试的实现奠定了基础。
RSP通信模块的实现为远程调试提供了技术支持,通过远程调试与集成接口的结合实现了服务端虚拟化调试功能,为TMS320 C28X模拟器上运行程序的调试提供了服务端的设计方法。
2.虚拟化调试系统客户端设计:
虚拟化调试系统客户端设计重点是在客户端对TMS320 C28X架构的可执行文件的解析,和对运行状态的控制,还实现了断点调试、反汇编、查看内存寄存器、查看堆栈帧信息等调试命令。通过在gdb的基础上添加TMS320 C28X架构支持,完成了虚拟化调试系统对TMS320 C28X架构的兼容,和服务端配合使得虚拟化调试TMS320 C28X模拟器具备了可行性。虚拟化调试系统客户端通过移植gdb到TMS320 C28X架构上,为TMS320 C28X架构的调试提供了客户端的设计方法。
本发明的一种针对TMS320 C28X指令集模拟器的虚拟化调试系统设计方法具有如下特点:
1、实现服务端与TMS320 C28X指令集模拟器的集成。为远程调试模拟器程序服务端的实现提供了方法。为虚拟化调试系统服务端的设计提供了实现方法,和客户端配合可以完成远程调试TMS320 C28X指令集模拟器的功能;
2、gdb客户端添加了TMS320 C28X处理器架构。和虚拟化调试系统服务端配合,为虚拟化调试TMS320 C28X指令集模拟器提供了实现方法。使得可以快速定位运行在TMS320C28X指令集模拟器上的软件问题,提高了软件研制效率,为指令集模拟器在嵌入式软件开发中的推广应用铲除了障碍。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (7)
1.一种针对TMS320 C28X指令集模拟器的虚拟化调试系统设计方法,其特征在于,该方法包括如下步骤:
第一步、构建虚拟化调试系统服务端
基于gdbserver实现虚拟化调试系统服务端,实现处理器架构支持列表,添加TMS320C28X架构;实现对调试器客户端发送的RSP协议调试命令数据包的解析,根据gdbserver解析的命令控制TMS320 C28X指令集模拟器运行;系统启动时将gdbserver作为设备模型接入到虚拟化运行环境中,作为独立的线程启动;
第二步、集成服务端与TMS320 C28X指令集模拟器
在服务端中添加TMS320 C28X指令集模拟器的集成接口,包括TMS320 C28X寄存器访问接口、内存访问接口、指令集模拟器运行控制接口;寄存器访问接口包括寄存器数量、寄存器字节宽度、寄存器写函数、寄存器读函数;内存访问接口包括内存读函数、内存写函数;运行控制接口包括单步运行、停止;
第三步、构建虚拟化的调试器客户端
基于gdb实现调试器客户端,在客户端支持列表中添加TMS320 C28X架构,实现调试器客户端的文件加载、断点插入、单步运行调试命令,通过RSP协议与服务端通信;
第四步、添加客户端TMS320 C28X架构
在客户端中添加TMS320 C28X架构,包括:bfd、处理器架构、反汇编和特殊调试命令;完成目标文件解析、源码文件分析、反汇编显示、堆栈处理和断点管理功能;
第五步、建立客户端与服务端的通信连接
以远程访问的方式建立客户端与服务端的通信连接;服务端启动时配置了IP和端口,客户端通过target remote命令访问服务端,建立通信链路,实现调试命令对指令集模拟器的控制;
其中,
所述第一步具体包括:
S11、添加目标架构的支持:模拟器需要预先支持TMS320 C28X架构的仿真,包括:指令功能模拟和片上设备功能模拟,向服务端支持列表中添加目标架构,并获取其相关读写接口,用于控制待调试程序执行、获取调试数据;
S12、添加RSP协议解析模块:添加RSP协议解析功能模块,按照协议中的数据包格式解析客户端传来的数据包,校验数据内容,得到正确的调试命令后再将调试命令交由模拟器执行,然后将执行结果返回给虚拟化调试器客户端;
S13、提供通信服务,SOCKET编程根据设定的IP和端口创建虚拟化调试系统服务端线程,虚拟化调试系统服务端与运行被调试程序映像的进程进行绑定,然后启动服务端监听,等待客户端连接后提供通信服务;
所述第四步中在客户端中添加TMS320 C28X架构包括:
bfd;在bfd目录中创建TMS320 C28X架构可执行文件的BFD;
处理器架构:实现TMS320 C28X架构,添加处理器架构的描述,包括硬件架构详细节、高级标量数据结构,以及实现并设定访问和显示寄存器的函数、访问堆栈帧信息的标准函数;并完成初始化操作;编译配置文件中configure.tgt也应当添加该架构;
反汇编:实现目标架构的汇编器,用于解析目标处理器指令码,得到指令、操作数、偏移地址信息,有的指令类别还需要从符号表中解析出地址对应的标号,达到将二进制机器码以汇编文本的形式展示出来的效果;
特殊调试命令:调试命令依赖目标架构,根据TMS320 C28X架构单独实现;
所述第四步中,
完成目标文件解析:识别目标文件格式,获取程序入口地址、段表地址信息,用于解析和提取完成运行调试所需要的数据;
源码文件分析:源码中的调试所需的符号信息存放在符号表中,符号表分为最小符号表、部分符号表和完整符号表,优先从最小符号表找起;
堆栈处理:堆栈处理设定sniffer和unwind函数,堆栈处理的关键是理解负责初始化堆栈帧的每个函数中的序言和尾声,记录和还原寄存器的值;
断点管理功能:断点是通过在目标地址插入一条中断命令来实现的。
2.如权利要求1所述的针对TMS320 C28X指令集模拟器的虚拟化调试系统设计方法,其特征在于,指令集模拟的指令包括:取指、译码、执行和中断,片上设备功能模拟的片上设备包括:定时器、寄存器、内存、GPIO、EMIF。
3.如权利要求1所述的针对TMS320 C28X指令集模拟器的虚拟化调试系统设计方法,其特征在于,数据包格式为:$<调试信息>#<校验码>。
4.如权利要求1-3任一项所述的针对TMS320 C28X指令集模拟器的虚拟化调试系统设计方法,其特征在于,所述第二步具体包括:
S21、构建调试功能接口功能框架:根据RSP协议中的定义将主要命令分类解析实现,类别包括:寄存器/内存读写命令、程序控制命令和其它命令;
S22、实现上述模型的交互功能函数:按照RSP协议分类的命令功能,访问模拟器内存、寄存器、指令集模拟器运行控制资源,提供TMS320 C28X指令集模拟器的调试功能接口,包括:寄存器数量、寄存器字节宽度、寄存器写函数、寄存器读函数;内存读函数、内存写函数;单步运行、停止。
5.如权利要求4所述的针对TMS320 C28X指令集模拟器的虚拟化调试系统设计方法,其特征在于,所述第三步具体包括:
S31、在客户端支持列表中添加TMS320 C28X架构,在bfd目录中创建TMS320C28X架构可执行文件的BFD;
S32、实现调试器客户端的文件加载、断点插入、单步运行调试命令;
S33、通过RSP协议与服务端通信。
6.如权利要求5所述的针对TMS320 C28X指令集模拟器的虚拟化调试系统设计方法,其特征在于,所述第五步具体包括:
S51、客户端以远程访问的方式建立客户端与服务端的通信连接,服务端启动后会监听指定IP及端口,客户端通过target remote命令访问服务端,建立通信链路;
S52、实现一组目标操作用于控制指令集模拟器的运行,包括:用于建立和关闭远程连接、访问服务端上的寄存器和内存、在服务端插入断点和观察点、启动和停止在服务端上运行的程序。
7.如权利要求6所述的针对TMS320 C28X指令集模拟器的虚拟化调试系统设计方法,其特征在于,客户端通过在gdb的基础上添加TMS320 C28X架构支持,完成了虚拟化调试系统对TMS320 C28X架构的兼容,和服务端配合实现虚拟化调试TMS320 C28X模拟器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310461827.1A CN116662157B (zh) | 2023-04-26 | 2023-04-26 | 一种针对tms320 c28x指令集模拟器的虚拟化调试系统设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310461827.1A CN116662157B (zh) | 2023-04-26 | 2023-04-26 | 一种针对tms320 c28x指令集模拟器的虚拟化调试系统设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116662157A CN116662157A (zh) | 2023-08-29 |
CN116662157B true CN116662157B (zh) | 2024-02-02 |
Family
ID=87723220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310461827.1A Active CN116662157B (zh) | 2023-04-26 | 2023-04-26 | 一种针对tms320 c28x指令集模拟器的虚拟化调试系统设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116662157B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117370093B (zh) * | 2023-12-05 | 2024-02-02 | 无锡亚科鸿禹电子有限公司 | 一种芯片调试方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09297695A (ja) * | 1996-05-02 | 1997-11-18 | Hitachi Ltd | シンボリッククロスデバッガおよび作成システム |
CN102301344A (zh) * | 2011-07-06 | 2011-12-28 | 华为技术有限公司 | 一种操作系统内核调试方法和虚拟调试服务模块 |
CN113778616A (zh) * | 2021-08-11 | 2021-12-10 | 国网辽宁省电力有限公司电力科学研究院 | 一种电力物联网终端虚拟化模拟仿真平台及仿真方法 |
CN115421861A (zh) * | 2022-09-14 | 2022-12-02 | 北京计算机技术及应用研究所 | 一种通用的TMS320C55x处理器指令集虚拟化仿真方法 |
CN115480871A (zh) * | 2022-09-14 | 2022-12-16 | 北京计算机技术及应用研究所 | 一种通用的tms320c3x处理器指令集虚拟化仿真方法 |
CN115757183A (zh) * | 2022-12-06 | 2023-03-07 | 北京计算机技术及应用研究所 | 天熠嵌入式操作系统下一种基于代理的任务级调试方法 |
CN115794313A (zh) * | 2022-12-26 | 2023-03-14 | 科东(广州)软件科技有限公司 | 一种虚拟机调试方法、系统、电子设备及存储介质 |
-
2023
- 2023-04-26 CN CN202310461827.1A patent/CN116662157B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09297695A (ja) * | 1996-05-02 | 1997-11-18 | Hitachi Ltd | シンボリッククロスデバッガおよび作成システム |
CN102301344A (zh) * | 2011-07-06 | 2011-12-28 | 华为技术有限公司 | 一种操作系统内核调试方法和虚拟调试服务模块 |
CN113778616A (zh) * | 2021-08-11 | 2021-12-10 | 国网辽宁省电力有限公司电力科学研究院 | 一种电力物联网终端虚拟化模拟仿真平台及仿真方法 |
CN115421861A (zh) * | 2022-09-14 | 2022-12-02 | 北京计算机技术及应用研究所 | 一种通用的TMS320C55x处理器指令集虚拟化仿真方法 |
CN115480871A (zh) * | 2022-09-14 | 2022-12-16 | 北京计算机技术及应用研究所 | 一种通用的tms320c3x处理器指令集虚拟化仿真方法 |
CN115757183A (zh) * | 2022-12-06 | 2023-03-07 | 北京计算机技术及应用研究所 | 天熠嵌入式操作系统下一种基于代理的任务级调试方法 |
CN115794313A (zh) * | 2022-12-26 | 2023-03-14 | 科东(广州)软件科技有限公司 | 一种虚拟机调试方法、系统、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
"基于模拟器的沙箱系统研究";于航等;《信息网络安全》(第9期);139-143 * |
Also Published As
Publication number | Publication date |
---|---|
CN116662157A (zh) | 2023-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105843630B (zh) | 一种基于机器人图形化编程开发的方法 | |
EP2017983A1 (en) | A debugging method and apparatus for performing telecom class service development based on model driven | |
CN101521899B (zh) | 用于移动应用程序的机上测试系统和方法 | |
EP2368189B1 (en) | Debugging pipeline | |
US9176848B2 (en) | Program debugger and program debugging | |
CN116662157B (zh) | 一种针对tms320 c28x指令集模拟器的虚拟化调试系统设计方法 | |
CN104375938A (zh) | 安卓应用程序的动态行为监测方法及系统 | |
CN116681013B (zh) | 网络芯片的仿真验证方法、平台、装置、设备及介质 | |
CN111316227B (zh) | 一种调试应用程序的方法及设备 | |
CN105607998A (zh) | 一种通过在线方式进行嵌入软件调试的系统与方法 | |
CN108345458B (zh) | 一种静态编译语言与脚本语言的调用方法及系统 | |
CN115757183A (zh) | 天熠嵌入式操作系统下一种基于代理的任务级调试方法 | |
CN109542444B (zh) | Java应用的监控方法、装置、服务器和存储介质 | |
CN111813672A (zh) | 一种针对多种处理器架构的非侵入式覆盖率统计方法 | |
CN111488275B (zh) | Ui自动化测试方法、装置、存储介质及电子设备 | |
CN114969760A (zh) | 漏洞检测方法及装置、计算机可读介质和电子设备 | |
CN113986263A (zh) | 代码自动化测试方法、装置、电子设备、存储介质 | |
CN116089019B (zh) | 面向Hexagon架构的细粒度CPU模拟器 | |
CN117376229B (zh) | 基于嵌入式设备的ftp文件系统软件交叉调试方法及系统 | |
Orjala | Unit testing methods for Internet of Things Mbed OS operating system | |
US20240176632A1 (en) | Method for generating and verifying automotive embedded software based on autosar | |
CN113836046B (zh) | Mcu上虚拟机应用程序调试方法及系统 | |
CN113688055B (zh) | 一种基于dss的单一dsp设备测试装置 | |
JP2001256075A (ja) | 開発システム、開発方法、記録媒体 | |
Bennett | Howto: Porting the GNU Debugger |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |