CN111984521B - 一种无需jtag介入的板级调试方法 - Google Patents

一种无需jtag介入的板级调试方法 Download PDF

Info

Publication number
CN111984521B
CN111984521B CN201910436247.0A CN201910436247A CN111984521B CN 111984521 B CN111984521 B CN 111984521B CN 201910436247 A CN201910436247 A CN 201910436247A CN 111984521 B CN111984521 B CN 111984521B
Authority
CN
China
Prior art keywords
software
debugging
debugged
instruction
interrupt
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
Application number
CN201910436247.0A
Other languages
English (en)
Other versions
CN111984521A (zh
Inventor
赵楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Research Institute of Physical and Chemical Engineering of Nuclear Industry
Original Assignee
Research Institute of Physical and Chemical Engineering of Nuclear Industry
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Research Institute of Physical and Chemical Engineering of Nuclear Industry filed Critical Research Institute of Physical and Chemical Engineering of Nuclear Industry
Priority to CN201910436247.0A priority Critical patent/CN111984521B/zh
Publication of CN111984521A publication Critical patent/CN111984521A/zh
Application granted granted Critical
Publication of CN111984521B publication Critical patent/CN111984521B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3652Software debugging using additional hardware in-circuit-emulation [ICE] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种无需JTAG介入的板级调试方法,包括以下步骤,1)将调试软件与目标软件捆绑下载或分别下载并实现调试软件和目标软件运行;2)处理器外设中断或外部板级中断实现调试软件对被调试软件的打断执行和控制。本发明通过使用与目标软件捆绑的独立调试软件利用外设和外部中断介入来模拟传统JTAG功能,实现不限制处理器平台、支持无操作系统的裸机环境、无需JTAG介入的板级调试方法。

Description

一种无需JTAG介入的板级调试方法
技术领域
本发明属于电子技术领域,具体涉及一种无需JTAG介入的板级调试方法。
背景技术
在嵌入式系统软件开发过程中,使用硬件JTAG进行调试是一种重要的调试手段。但是当目标芯片不提供JTAG接口时,进行板级代码调试会变得非常困难。一些现代操作系统通过提供GDB等专用调试工具来进行板级调试,但其对处理器平台要求苛刻(具备MMU,代码必须运行于RAM),也无法在无操作系统的裸机环境下调试。
发明内容
本发明的目的在于克服现有技术的不足,提供一种无需JTAG介入的板级调试方法,其支持无操作系统的裸机环境、无需JTAG介入的板级调试方法。
本发明是通过以下技术方案实现的:
一种无需JTAG介入的板级调试方法,包括以下步骤,
1)将调试软件与目标软件捆绑下载或分别下载并实现调试软件和目标软件运行;
2)处理器外设中断或外部板级中断实现调试软件对被调试软件的打断执行和控制。
在上述技术方案中,包括以下步骤,
1)调试软件与目标软件捆绑一同被下载到目标电路板中;
2)当目标处理器开始运行程序时,首先调试软件开始运行,初始化自身环境,然后根据硬件配置将单步仿真模拟模块的中断接口注册到处理器的相应中断向量上,并初始化通信外设;
3)转入调试状态管理模块运行,调试状态管理模块调用外部通信管理逻辑的接口获取用户期望的调试行为,根据调试行为读写特定的内存、监视内存变量或者加入/删除程序断点;
4)单步运行时,调试状态管理模块调用单步仿真模拟模块的接口以实现被调试程序的单步运行,然后调用外部通信管理逻辑的接口通知用户单步执行完毕并等待用户进一步指令。
在上述技术方案中,当需要连续运行时,调试状态管理模块调用单步仿真模拟模块的接口,以实现被调试程序的单步运行,然后判断此时程序指针是否与所设断点中的某一条相符合或者是否通过部通信管理逻辑的接口收到了用户的中断运行指令,如果任一条件满足则调用外部通信管理逻辑的接口通知用户被调试程序被中断并等待用户进一步指令,否则继续运行被调试程序。
在上述技术方案中,所述的调试软件包括,
单步仿真模拟模块,其利用外设或外部中断实现对被调试软件的打断执行和控制;
调试状态管理模块,主要维护各类调试变量如断点控制表、内存监视表等,并根据部通讯管理部分传入的各类用户指令控制各类调试过程;
外部通讯管路模块,用于调试软件与用户间的通信,在通讯中断和调试状态管理中被调用执行。
在上述技术方案中,还包括通讯中断模块,其提供与外部通信的可选中断接口。
在上述技术方案中,当使用处理器外设时,配置其时钟并且控制其产生可确定时间的中断。
在上述技术方案中,包括以下步骤,
1)调试软件预先将单步仿真模拟模块的中断接口注册到内部外设的中断向量上,
2)将处理器执行完每种指令主定时器计数器增加的数值记录在指令执行时间表中;
3)调试软件准备令被调试软件执行单步执行,包括,
31)首先禁用定时器,将定时器计数器清零,然后将比较寄存器配置为全部指令执行时间表中最低数值加上使能定时器与跳转到被调试软件指令所对应的执行时间之和,然后备份调试软件上下文、恢复被调试软件上下文,使能定时器并跳转到被调试软件;
32)被调试软件执行并被中断返回时,进入到单步仿真模拟模块的中断接口中,中断接口保存被调试软件上下文、恢复调试软件上下文,然后停止定时器,并跳转回调试软件,调试软件读取保存的被调试软件的上下文,观察其程序计数器(PC)来判断被调试软件是否执行了一条指令,如果被调试软件执行了一条指令,则单步调试完成,否则下一步,
33)从指令实行时间表中选取仅次于上次选取值的更大值,并重复步骤31)—32),直到被调试软件执行了一条指令。
在上述技术方案中,单步仿真模拟模块注册与板载外部电路相连的处理器外部中断以使用外置定时器,外置定时器的时钟为处理器的内核同步时钟,其通过外部接口使能、控制寄存器数值。
在上述技术方案中,包括以下步骤,
1)单步仿真模拟模块通过外部接口配置外置定时器的比较寄存器和相关寄存器使比较寄存器与外置定时器计数器相同时触发中断;
2)将处理器执行完每种指令主定时器计数器增加的数值记录在指令执行时间表中;
3)调试软件准备令被调试软件执行单步执行,包括,
31)通过外部接口禁用定时器,将定时器计数器清零,然后通过外部接口将定时器比较寄存器配置为全部指令执行时间表中最低数值的一个值加上使能外置定时器与跳转到被调试软件指令所对应的执行时间之和,然后备份调试软件上下文、恢复被调试软件上下文,使能定时器并跳转到被调试软件;
32)被调试软件执行并被中断返回时,进入到单步仿真模拟模块的中断接口中,中断接口保存被调试软件上下文、恢复调试软件上下文,然后停止定时器,并跳转回调试软件,调试软件读取保存的被调试软件的上下文,观察其程序计数器(PC)来判断被调试软件是否执行了一条指令,如果被调试软件执行了一条指令,则单步调试完成,否则下一步,
33)从指令实行时间表中选取仅次于上次选取值的更大值,并重复步骤31)—32),直到被调试软件执行了一条指令。
在上述技术方案中,当被调试软件运行于连续运行时,调试软件仍通过单步执行逻辑来运行被调试软件,只是单步执行后,不通知用户而直接继续执行,除非遇到某一条指令与所记录的断点相对应。
在上述技术方案中,如果调试软件使用的中断不是NMI,则通过控制处理器对应的子中断掩码控制寄存器实现被调试软件控制全局中断。
在上述技术方案中,其在有操作系统或无操作系统的环境下调试。
本发明的优点和有益效果为:
本发明通过使用与目标软件捆绑的独立调试软件利用外设和外部中断介入来模拟传统JTAG功能,实现不限制处理器平台、支持无操作系统的裸机环境、无需JTAG介入的板级调试方法。
附图说明
图1为调试软件组成图。
图2为单步仿真模拟软件流程图。
图3为通过处理器内部外设实现的单步仿真模拟硬件结构图。
图4为通过板载外部逻辑电路实现的单步仿真模拟硬件结构图。
对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据以上附图获得其他的相关附图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合具体实施例进一步说明本发明的技术方案。
本发明的一种无需JTAG介入的板级调试方法,包括以下步骤,
1)将调试软件与目标软件捆绑下载或分别下载并实现调试软件和目标软件运行;
2)处理器外设中断或外部板级中断实现调试软件对被调试软件的打断执行和控制。
具体地,包括以下步骤,
1)调试软件与目标软件捆绑一同被下载到目标电路板中;
2)当目标处理器开始运行程序时,首先调试软件开始运行,初始化自身环境,然后根据硬件配置将单步仿真模拟模块的中断接口注册到处理器的相应中断向量上,并初始化通信外设;实际上此时运行的是一个嵌入式软件集,里面包含了被调试软件和调试软件,调试软件首先开始运行,当它完成自身初始化后,通过指令转入被调试软件执行。被调试软件和调试软件是集成在一起的,就好像它自己在调试自己一样。
3)转入调试状态管理模块运行,调试状态管理模块调用外部通信管理逻辑的接口获取用户期望的调试行为,根据调试行为读写特定的内存、监视内存变量或者加入/删除程序断点;这些属于常规调试方式,包括被调试程序的内存读写,内存变量的监视和程序的断点设定;
4)单步运行时,调试状态管理模块调用单步仿真模拟模块的接口以实现被调试程序的单步运行,然后调用外部通信管理逻辑的接口通知用户单步执行完毕并等待用户进一步指令。
由于不限制处理器平台、支持无操作系统环境且无需JTAG介入,因此本发明采用软件捆绑的方式,通过与目标软件捆绑下载执行的方式实现调试软件与被调试软件的同时运行,通过处理器外设中断或外部板级中断实现调试软件对被调试软件的打断执行和控制。
其中,需要连续运行时,调试状态管理模块调用单步仿真模拟模块的接口,以实现被调试程序的单步运行,然后判断此时程序指针是否与所设断点中的某一条相符合或者是否通过部通信管理逻辑的接口收到了用户的中断运行指令,如果任一条件满足则调用外部通信管理逻辑的接口通知用户被调试程序被中断并等待用户进一步指令,否则继续运行被调试程序。
具体地,所述的调试软件包括,
单步仿真模拟模块,是调试软件的核心逻辑,其利用外设或外部中断实现对被调试软件的打断执行和控制;
调试状态管理模块,是调试软件的主体逻辑,主要维护各类调试变量如断点控制表、内存监视表等,并根据部通讯管理部分传入的各类用户指令控制各类调试过程;如断点的添加、监视量的变更、内存查看等;
外部通讯管路模块,用于调试软件与用户间的通信,在通讯中断和调试状态管理中被调用执行。
近一步地,还包括通讯中断模块,其提供与外部通信的可选中断接口。当调试软件需要通过复杂通信接口与外界通信时,可以使用此中断接口。调试软件通讯中断部分和外部通信管理部分共同组成了调试软件对外的通信接口,它使用处理器的某一通信外设如UART、SPI、USB或LAN,通过对应的通信形式实现调试状态管理模块与用户之间的通信。其设计逻辑与常用通信程序相似。
作为一个具体实施方式,当使用处理器外设时,配置其时钟并且控制其产生可确定时间的中断。如通常可以使用内置定时器中断,单步仿真模拟模块配置内置定时器的控制寄存器使内置定时器运行于与处理器内核相同的频率,配置内置定时器的比较寄存器和相关寄存器使比较寄存器与内置定时器计数器相同时触发中断。
具体地,包括以下步骤,
1)调试软件预先将单步仿真模拟模块的中断接口注册到内部外设的中断向量上,
2)将处理器执行完每种指令主定时器计数器增加的数值记录在指令执行时间表中;如,并且通过人为或其他方式测量出处理器执行完每种指令主定时器计数器增加的数值(即每种指令处理器时钟经过的周期数,称为指令的执行时间),将这些数值被记录在指令执行时间表中;
3)调试软件准备令被调试软件执行单步执行,包括,
31)首先禁用定时器,将定时器计数器清零,然后将比较寄存器配置为全部指令执行时间表中最低数值加上使能定时器与跳转到被调试软件指令所对应的执行时间之和,然后备份调试软件上下文、恢复被调试软件上下文,使能定时器并跳转到被调试软件;
32)被调试软件执行并被中断返回时,进入到单步仿真模拟模块的中断接口中,中断接口保存被调试软件上下文、恢复调试软件上下文,然后停止定时器,并跳转回调试软件,调试软件读取保存的被调试软件的上下文,观察其程序计数器(PC)来判断被调试软件是否执行了一条指令,如果被调试软件执行了一条指令,则单步调试完成,否则下一步,
33)从指令实行时间表中选取仅次于上次选取值的更大值,并重复步骤31)—32),直到被调试软件执行了一条指令。
作为另外一个实施方式,单步仿真模拟模块注册与板载外部电路相连的处理器外部中断以使用外置定时器,外置定时器的时钟为处理器的内核同步时钟,其通过外部接口使能、控制寄存器数值。
通常可以使用不可屏蔽中断(NMI)中断。板载外部逻辑电路通常可以使用外置定时器,其时钟为处理器的内核同步时钟,它可以通过外部接口使能、控制寄存器数值。当使用其他外部板载电路时,也使用相似的方式,配置其使用与处理器内核相同的时钟并且控制其产生可确定时间的中断。
具体地,包括以下步骤,
1)单步仿真模拟模块通过外部接口配置外置定时器的比较寄存器和相关寄存器使比较寄存器与外置定时器计数器相同时触发中断;
2)将处理器执行完每种指令主定时器计数器增加的数值记录在指令执行时间表中;
调试软件需要预先将单步仿真模拟模块的中断接口注册到外部中断的中断向量上,并且通过人为或其他方式测量出处理器执行完每种指令处理器时钟经过的周期数(称为指令的执行时间),将这些数值被记录在指令执行时间表中。
3)调试软件准备令被调试软件执行单步执行,包括,
31)通过外部接口禁用定时器,将定时器计数器清零,然后通过外部接口将定时器比较寄存器配置为全部指令执行时间表中最低数值的一个值加上使能外置定时器与跳转到被调试软件指令所对应的执行时间之和,然后备份调试软件上下文、恢复被调试软件上下文,使能定时器并跳转到被调试软件;
32)被调试软件执行并被中断返回时,进入到单步仿真模拟模块的中断接口中,中断接口保存被调试软件上下文、恢复调试软件上下文,然后停止定时器,并跳转回调试软件,调试软件读取保存的被调试软件的上下文,观察其程序计数器(PC)来判断被调试软件是否执行了一条指令,如果被调试软件执行了一条指令,则单步调试完成,否则下一步,
33)从指令实行时间表中选取仅次于上次选取值的更大值,并重复步骤31)—32),直到被调试软件执行了一条指令。其中,当被调试软件运行于连续运行时,调试软件仍通过单步执行逻辑来运行被调试软件,只是单步执行后,不通知用户而直接继续执行,除非遇到某一条指令与所记录的断点相对应。
调试状态管理逻辑部分管理调试软件的运行状态,它根据用户期望的调试行为如单步调试或连续运行被调试程序,并且在被调试程序被中断执行时读写内存、查看监视变量。此部分设计逻辑与通用调试软件设计逻辑相似。
本发明所阐述的调试方式是与应用程序捆绑运行,并且依赖中断来实现被调试软件的单步运行,因此被调试软件的一小部分逻辑要做修改。如果调试软件使用的中断不是NMI,则被调试软件不能控制全局中断,如果需要打开或关闭全局中断,可以通过控制处理器对应的子中断掩码控制寄存器实现。被调试软件不能够使用已经调试软件所使用的处理器资源、包括相应的内存、外设与中断。最后,由于调试软件依赖确定的处理器时钟,被调试软件需要通过过程调用的方式调用调试软件实现处理器的时钟控制。除此之外,本发明阐述的调试方法对被调试软件无其他限制。
通过本发明所阐述的调试方法,可以在无需JTAG介入的情况下,对不限制类型的处理器进行板级仿真调试,并且可以同时在有/无操作系统的环境下调试。
具体实施方式:一种无需JTAG介入的板级调试方式,其程序与目标应用捆绑一同被下载到目标电路板中。当目标处理器开始运行程序时,首先调试软件开始运行,其软件结构如图1所示。它首先初始化自身环境,然后根据图3或图4的硬件配置将单步仿真模拟部分的中断接口注册到处理器的相应中断向量上,并初始化通信外设。然后转入调试状态管理部分运行,调试状态管理部分调用外部通信管理逻辑的接口获取用户期望的调试行为,根据调试行为读写特定的内存、监视内存变量或者加入/删除程序断点。当需要单步运行时,调试状态管理部分调用单步仿真模拟部分的接口,根据图2的软件逻辑实现被调试程序的单步运行,然后调用外部通信管理逻辑的接口通知用户单步执行完毕并等待用户进一步指令。当需要连续运行时,调试状态管理部分调用单步仿真模拟部分的接口,根据图2的软件逻辑实现被调试程序的单步运行,然后判断此时程序指针是否与所设断点中的某一条相符合或者是否通过部通信管理逻辑的接口收到了用户的中断运行指令,如果任一条件满足则调用外部通信管理逻辑的接口通知用户被调试程序被中断并等待用户进一步指令。否则继续运行被调试程序。
为了易于说明,实施例中使用了诸如“上”、“下”、“左”、“右”等空间相对术语,用于说明图中示出的一个元件或特征相对于另一个元件或特征的关系。应该理解的是,除了图中示出的方位之外,空间术语意在于包括装置在使用或操作中的不同方位。例如,如果图中的装置被倒置,被叙述为位于其他元件或特征“下”的元件将定位在其他元件或特征“上”。因此,示例性术语“下”可以包含上和下方位两者。装置可以以其他方式定位(旋转90度或位于其他方位),这里所用的空间相对说明可相应地解释。
而且,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个与另一个具有相同名称的部件区分开来,而不一定要求或者暗示这些部件之间存在任何这种实际的关系或者顺序。
以上对本发明做了示例性的描述,应该说明的是,在不脱离本发明的核心的情况下,任何简单的变形、修改或者其他本领域技术人员能够不花费创造性劳动的等同替换均落入本发明的保护范围。

Claims (10)

1.一种无需JTAG介入的板级调试方法,其特征在于:包括以下步骤,
1)将调试软件与目标软件捆绑下载或分别下载并实现调试软件和目标软件运行;
2)处理器外设中断实现调试软件对被调试软件的打断执行和控制,
当使用处理器外设时,配置其时钟并且控制其产生确定时间的中断,包括以下步骤,
1)调试软件预先将单步仿真模拟模块的中断接口注册到内部外设的中断向量上,
2)将处理器执行完每种指令主定时器计数器增加的数值记录在指令执行时间表中;
3)调试软件准备令被调试软件执行单步执行,包括,
31)首先禁用定时器,将定时器计数器清零,然后将比较寄存器配置为全部指令执行时间表中最低数值加上使能定时器与跳转到被调试软件指令所对应的执行时间之和,然后备份调试软件上下文、恢复被调试软件上下文,使能定时器并跳转到被调试软件;
32)被调试软件执行并被中断返回时,进入到单步仿真模拟模块的中断接口中,中断接口保存被调试软件上下文、恢复调试软件上下文,然后停止定时器,并跳转回调试软件,调试软件读取保存的被调试软件的上下文,观察其程序计数器来判断被调试软件是否执行了一条指令,如果被调试软件执行了一条指令,则单步调试完成,否则下一步,
33)从指令实行时间表中选取仅次于上次选取值的更大值,并重复步骤31)—32),直到被调试软件执行了一条指令。
2.根据权利要求1所述的一种无需JTAG介入的板级调试方法,其特征在于:包括以下步骤,
1)调试软件与目标软件捆绑一同被下载到目标电路板中;
2)当目标处理器开始运行程序时,首先调试软件开始运行,初始化自身环境,然后根据硬件配置将单步仿真模拟模块的中断接口注册到处理器的相应中断向量上,并初始化通信外设;
3)转入调试状态管理模块运行,调试状态管理模块调用外部通信管理逻辑的接口获取用户期望的调试行为,根据调试行为读写特定的内存、监视内存变量或者加入/删除程序断点;
4)单步运行时,调试状态管理模块调用单步仿真模拟模块的接口以实现被调试程序的单步运行,然后调用外部通信管理逻辑的接口通知用户单步执行完毕并等待用户进一步指令。
3.根据权利要求2所述的一种无需JTAG介入的板级调试方法,其特征在于: 当需要连续运行时,调试状态管理模块调用单步仿真模拟模块的接口,以实现被调试程序的单步运行,然后判断此时程序指针是否与所设断点中的某一条相符合或者是否通过部通信管理逻辑的接口收到了用户的中断运行指令,如果任一条件满足则调用外部通信管理逻辑的接口通知用户被调试程序被中断并等待用户进一步指令,否则继续运行被调试程序。
4.根据权利要求1所述的一种无需JTAG介入的板级调试方法,其特征在于:所述的调试软件包括,
单步仿真模拟模块,其利用外设或外部中断实现对被调试软件的打断执行和控制;
调试状态管理模块,主要维护各类调试变量如断点控制表、内存监视表,并根据部通讯管理部分传入的各类用户指令控制各类调试过程;
外部通讯管理模块,用于调试软件与用户间的通信,在通讯中断和调试状态管理中被调用执行。
5.根据权利要求4所述的一种无需JTAG介入的板级调试方法,其特征在于:还包括通讯中断模块,其提供与外部通信的可选中断接口。
6.根据权利要求2所述的一种无需JTAG介入的板级调试方法,其特征在于:单步仿真模拟模块注册与板载外部电路相连的处理器外部中断以使用外置定时器,外置定时器的时钟为处理器的内核同步时钟,其通过外部接口使能、控制寄存器数值。
7.根据权利要求6所述的一种无需JTAG介入的板级调试方法,其特征在于:包括以下步骤,
1)单步仿真模拟模块通过外部接口配置外置定时器的比较寄存器和相关寄存器使比较寄存器与外置定时器计数器相同时触发中断;
2)将处理器执行完每种指令主定时器计数器增加的数值记录在指令执行时间表中;
3)调试软件准备令被调试软件执行单步执行,包括,
31)通过外部接口禁用定时器,将定时器计数器清零,然后通过外部接口将定时器比较寄存器配置为全部指令执行时间表中最低数值的一个值加上使能外置定时器与跳转到被调试软件指令所对应的执行时间之和,然后备份调试软件上下文、恢复被调试软件上下文,使能定时器并跳转到被调试软件;
32)被调试软件执行并被中断返回时,进入到单步仿真模拟模块的中断接口中,中断接口保存被调试软件上下文、恢复调试软件上下文,然后停止定时器,并跳转回调试软件,调试软件读取保存的被调试软件的上下文,观察其程序计数器来判断被调试软件是否执行了一条指令,如果被调试软件执行了一条指令,则单步调试完成,否则下一步,
33)从指令实行时间表中选取仅次于上次选取值的更大值,并重复步骤31)—32),直到被调试软件执行了一条指令。
8.根据权利要求1所述的一种无需JTAG介入的板级调试方法,其特征在于:当被调试软件运行于连续运行时,调试软件仍通过单步执行逻辑来运行被调试软件,只是单步执行后,不通知用户而直接继续执行,除非遇到某一条指令与所记录的断点相对应。
9.根据权利要求1所述的一种无需JTAG介入的板级调试方法,其特征在于:如果调试软件使用的中断不是NMI,则通过控制处理器对应的子中断掩码控制寄存器实现被调试软件控制全局中断。
10.根据权利要求1所述的一种无需JTAG介入的板级调试方法,其特征在于:其在有操作系统或无操作系统的环境下调试。
CN201910436247.0A 2019-05-23 2019-05-23 一种无需jtag介入的板级调试方法 Active CN111984521B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910436247.0A CN111984521B (zh) 2019-05-23 2019-05-23 一种无需jtag介入的板级调试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910436247.0A CN111984521B (zh) 2019-05-23 2019-05-23 一种无需jtag介入的板级调试方法

Publications (2)

Publication Number Publication Date
CN111984521A CN111984521A (zh) 2020-11-24
CN111984521B true CN111984521B (zh) 2022-11-29

Family

ID=73436600

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910436247.0A Active CN111984521B (zh) 2019-05-23 2019-05-23 一种无需jtag介入的板级调试方法

Country Status (1)

Country Link
CN (1) CN111984521B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115687159B (zh) * 2022-12-29 2023-03-21 飞腾信息技术有限公司 调试方法、装置及计算机可读存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0721056A (ja) * 1993-06-30 1995-01-24 Nec Corp ソフトウェアデバッグ方法
US6820051B1 (en) * 1999-02-19 2004-11-16 Texas Instruments Incorporated Software emulation monitor employed with hardware suspend mode
WO2006008721A2 (en) * 2004-07-16 2006-01-26 Koninklijke Philips Electronics, N.V. Emulation and debug interfaces for testing an integrated circuit with an asynchronous microcontroller
CN101183330A (zh) * 2007-12-13 2008-05-21 东信和平智能卡股份有限公司 嵌入式系统的在线调试系统及其调试方法
CN101216801A (zh) * 2007-12-27 2008-07-09 东信和平智能卡股份有限公司 嵌入式系统的调试方法
CN101339581A (zh) * 2008-08-29 2009-01-07 北京中星微电子有限公司 基于中断通讯的嵌入式系统的在线调试仿真方法
CN101482848A (zh) * 2009-02-03 2009-07-15 中兴通讯股份有限公司 一种在嵌入式软件运行状态下的动态调试方法及系统
CN101667154A (zh) * 2004-04-29 2010-03-10 爱特梅尔公司 用于改善片上仿真系统中高级语言的仿真速度的装置和方法
CN103198002A (zh) * 2012-01-09 2013-07-10 上海海尔集成电路有限公司 程序运行时间的测量方法及仿真器
CN109766273A (zh) * 2018-12-27 2019-05-17 百富计算机技术(深圳)有限公司 死循环的定位方法、装置、计算机设备和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7055117B2 (en) * 2003-12-29 2006-05-30 Agere Systems, Inc. System and method for debugging system-on-chips using single or n-cycle stepping
US8533530B2 (en) * 2006-11-15 2013-09-10 Qualcomm Incorporated Method and system for trusted/untrusted digital signal processor debugging operations
US7831862B2 (en) * 2007-01-30 2010-11-09 Freescale Semiconductor, Inc. Selective timer control during single-step instruction execution

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0721056A (ja) * 1993-06-30 1995-01-24 Nec Corp ソフトウェアデバッグ方法
US6820051B1 (en) * 1999-02-19 2004-11-16 Texas Instruments Incorporated Software emulation monitor employed with hardware suspend mode
CN101667154A (zh) * 2004-04-29 2010-03-10 爱特梅尔公司 用于改善片上仿真系统中高级语言的仿真速度的装置和方法
WO2006008721A2 (en) * 2004-07-16 2006-01-26 Koninklijke Philips Electronics, N.V. Emulation and debug interfaces for testing an integrated circuit with an asynchronous microcontroller
CN101183330A (zh) * 2007-12-13 2008-05-21 东信和平智能卡股份有限公司 嵌入式系统的在线调试系统及其调试方法
CN101216801A (zh) * 2007-12-27 2008-07-09 东信和平智能卡股份有限公司 嵌入式系统的调试方法
CN101339581A (zh) * 2008-08-29 2009-01-07 北京中星微电子有限公司 基于中断通讯的嵌入式系统的在线调试仿真方法
CN101482848A (zh) * 2009-02-03 2009-07-15 中兴通讯股份有限公司 一种在嵌入式软件运行状态下的动态调试方法及系统
CN103198002A (zh) * 2012-01-09 2013-07-10 上海海尔集成电路有限公司 程序运行时间的测量方法及仿真器
CN109766273A (zh) * 2018-12-27 2019-05-17 百富计算机技术(深圳)有限公司 死循环的定位方法、装置、计算机设备和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
:CAN总线的时间触发调度方法设计及实验研究;冯谦;《信息与控制》;20050430;1-5 *
赵楠.—种针对C28x_DSP的主动栈回溯调试机制.《 中国核科学技术进展报告(第六卷)——中国核学会2019年学术年会论文集第4册(同位素分离分卷)》.2019,479-485. *

Also Published As

Publication number Publication date
CN111984521A (zh) 2020-11-24

Similar Documents

Publication Publication Date Title
US8370806B2 (en) Non-intrusive, thread-selective, debugging method and system for a multi-thread digital signal processor
US6032268A (en) Processor condition sensing circuits, systems and methods
US5841670A (en) Emulation devices, systems and methods with distributed control of clock domains
US6922821B1 (en) System and a method for checking lock step consistency between an in circuit emulation and a microcontroller while debugging process is in progress
US5805792A (en) Emulation devices, systems, and methods
US6704895B1 (en) Integrated circuit with emulation register in JTAG JAP
US5621651A (en) Emulation devices, systems and methods with distributed control of test interfaces in clock domains
US6522985B1 (en) Emulation devices, systems and methods utilizing state machines
US6085336A (en) Data processing devices, systems and methods with mode driven stops
US6668339B1 (en) Microprocessor having a debug interruption function
WO1998021653A9 (en) Virtual monitor debugging method and apparatus
WO1998021653A1 (en) Virtual monitor debugging method and apparatus
US20030200425A1 (en) Devices, systems and methods for mode driven stops
CN105740139B (zh) 一种基于虚拟环境的嵌入式软件调试方法
US20040250150A1 (en) Devices, systems and methods for mode driven stops notice
CN111984521B (zh) 一种无需jtag介入的板级调试方法
EP0411904A2 (en) Processor condition sensing circuits, systems and methods
US7313729B2 (en) Low-cost debugging system with a ROM or RAM emulator
US7698544B2 (en) Automatic halting of a processor in debug mode due to reset
WO2008024701A2 (en) System and method for testing software code for use on a target processor
EP0685793A2 (en) Emulation device, system and method with distributed control of test interfaces in clock domains
CN209765501U (zh) 一种基于jtag的多处理器仿真调试装置
CN100403275C (zh) 应用于固件程序除错的微处理器与方法
JP2001209556A (ja) 検証支援システム
US20130238948A1 (en) Semiconductor integrated circuit

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