CN114546746A - 一种芯片调试的方法、装置、电子设备及存储介质 - Google Patents
一种芯片调试的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114546746A CN114546746A CN202210198612.0A CN202210198612A CN114546746A CN 114546746 A CN114546746 A CN 114546746A CN 202210198612 A CN202210198612 A CN 202210198612A CN 114546746 A CN114546746 A CN 114546746A
- Authority
- CN
- China
- Prior art keywords
- debugging
- chip
- debugged
- target chip
- terminal
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
Abstract
本申请提供了一种芯片调试的方法、装置、电子设备及存储介质,应用于目标待调试芯片,目标待调试芯片包括处理器内核和集成在处理器内核外围的调试模块,调试模块对应一掩码运行程序,方法包括:在处于调试模式的目标待调试芯片接入调试终端后,处理器内核运行调试模块中的掩码运行程序,在掩码运行程序运行结束且目标待调试芯片被调试终端识别后,调试模块接收调试终端发送的调试固件,并运行调试固件;调试模块基于调试固件的运行结果,生成目标待调试芯片的调试信息;调试模块将调试信息发送给调试终端,完成调试。本方法可用于各类芯片设计以实现内嵌USB‑JTAG仿真器功能,大大降低了研发、调试及测试环节的成本,可大幅度提升产业界的研发效率。
Description
技术领域
本申请涉及芯片调试技术领域,具体而言,涉及一种芯片调试的方法、装置、电子设备及存储介质。
背景技术
在线仿真是当前的主流调试仿真方式,通常芯片外部的仿真器会通过测试边界扫描调试端口(JTAG)与处理器内部的调试逻辑通信以完成各类功能。因而这类仿真器习惯称为JTAG仿真器。
要实现仿真调试的功能,JTAG仿真器需要通过PC的通信端口与调试器通信。通信端口可以是串口、并口、网口或其他接口。主流方式是通过USB接口实现仿真器和调试器的通信。
基于USB接口的JTAG仿真器在易用性、实用性及稳定性方面表现优异,但其仍存在一些不足。考虑如下几点:当代微控制器功能越发强大,结构越发复杂,许多外设已经集成在芯片内部,例如USB接口;在线仿真调试系统和微控制器的相互依存关系越发紧密,许多调试功能在芯片内部逻辑与外部仿真器协同工作的背景下难于实现;芯片内部的某些逻辑与外部仿真器的重复设计造成不小的资源浪费导致成本增加。
发明内容
有鉴于此,本申请的目的在于提供一种芯片调试的方法、装置、电子设备及存储介质,可用于各类芯片设计以实现内嵌USB-JTAG仿真器功能,本申请在增强嵌入式微控制器调试能力的同时大大降低了研发、调试及测试环节的成本,可大幅度提升产业界的研发效率。
第一方面,本申请实施例提供了一种芯片调试的方法,所述方法包括:
在处于调试模式的所述目标待调试芯片接入调试终端后,所述处理器内核运行所述调试模块中的掩码运行程序,在所述掩码运行程序运行结束且所述目标待调试芯片被所述调试终端识别后,所述调试模块接收所述调试终端发送的调试固件,并运行所述调试固件;
所述调试模块基于所述调试固件的运行结果,生成所述目标待调试芯片的调试信息;
所述调试模块将所述调试信息发送给所述调试终端,完成调试。
在本申请一些技术方案中,上述目标待调试芯片包括内部总线;所述调试模块包括:内部掩膜储存区和片内调试单元;
所述处理器内核、所述内部掩膜储存区和所述片内调试单元均与所述内部总线连接;所述片内调试单元与所述处理器内核连接;
所述内部掩膜储存区用于存储掩码运行程序;所述片内调试单元用于运行所述调试终端发送的所述调试固件。
在本申请一些技术方案中,上述目标待调试芯片还包括与所述内部总线连接的片内通用串行总线外设、片内非易失参数配置区、片内非易失性存储器和片内随机存取存储器,与所述调试单元连接的边界扫描调试端口;
所述处理器内核设置在所述目标待调试芯片左侧靠上位置,所述调试单元设置在所述处理器内核的下侧;所述调试单元左侧设置边界扫描调试端口;所述目标待调试芯片的右侧从上到下依次设置非易失参数配置区、内部掩膜储存区、片内非易失性存储器和片内随机存取存储器;
所述片内通用串行总线外设连接所述调试终端;所述片内非易失参数配置区用于切换所述目标待调试芯片的工作模式;所述片内非易失性存储器用于存储用户代码;所述片内随机存取存储器用于与所述处理器内核进行数据交换;所述边界扫描调试端口用于连接外部的仿真设备。
在本申请一些技术方案中,上述目标待调试芯片的工作模式包括调试模式和用户模式;所述片内非易失参数配置区内设置有熔丝位;通过所述熔丝位的状态判断所述目标待调试芯片的工作模式:
若所述熔丝位为第一状态,所述目标待调试芯片为调试模式;
若所述熔丝位为第二状态,所述目标待调试芯片为用户模式。
在本申请一些技术方案中,上述片内通用串行总线外设用于实现调试功能或者其他用户功能;
在处于调试模式的所述目标待调试芯片接入调试终端后,所述处理器内核运行所述调试模块中的掩码运行程序,在所述掩码运行程序运行结束且所述目标待调试芯片被所述调试终端识别后,所述调试模块接收所述调试终端发送的调试固件,并运行所述调试固件;包括:
若所述片内通用串行总线外设处于空闲状态,在处于调试模式的所述目标待调试芯片接入调试终端后,所述处理器内核运行所述调试模块中的掩码运行程序,在所述掩码运行程序运行结束且所述目标待调试芯片被所述调试终端识别后,所述调试模块接收所述调试终端发送的调试固件,并运行所述调试固件;
所述调试模块基于所述调试固件的运行结果,生成所述目标待调试芯片的调试信息,包括:
所述片内调试单元基于所述调试固件的运行结果,生成所述目标待调试芯片的调试信息;
所述调试模块将所述调试信息发送给所述调试终端,完成调试,包括:
所述片内调试单元将所述调试信息发送给所述调试终端,完成调试。
在本申请一些技术方案中,上述方法还包括:
在处于调试模式的所述目标待调试芯片完成调试后,根据所述片内非易失参数配置区接收的模式切换信号,将所述目标待调试芯片的模式切换为用户模式;
针对处于用户模式的所述目标待调试芯片,所述处理器内核运行所述片内非易失性存储器中的用户代码。
在本申请一些技术方案中,上述片内非易失参数配置区内设置有安全密钥;通过如下方式进行工作模式切换:
所述片内非易失参数配置区接收第一待验证密钥;
若所述处理器内核验证所述第一待验证密钥与所述安全密钥匹配,所述处理器内核将所述片内非易失参数配置区中所述熔丝位调整为第一状态;
所述片内非易失参数配置区接收第二待验证密钥;
若所述片内调试单元验证所述第二待验证密钥与所述安全密钥匹配,所述片内调试单元将所述片内非易失参数配置区中所述熔丝位调整为第二状态。
第二方面,本申请实施例提供了一种芯片调试的装置,用于调试目标待调试芯片,所述目标待调试芯片包括处理器内核和集成在所述处理器内核外围的调试模块,所述调试模块对应一掩码运行程序;所述装置包括:
运行模块,用于在所述目标待调试芯片接入所述调试终端后,运行所述调试模块中的掩码运行程序,在所述掩码运行程序运行结束且所述目标待调试芯片被所述调试终端识别后,接收所述调试终端发送的调试固件,并运行所述调试固件;
生成模块,用于基于所述调试固件的运行结果,生成所述目标待调试芯片的调试信息;
发送模块,用于将所述调试信息发送给所述调试终端,完成调试。
第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的芯片调试的方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的芯片调试的方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:
一种芯片调试的方法,应用于目标待调试芯片,所述目标待调试芯片包括处理器内核和集成在所述处理器内核外围的调试模块,所述调试模块对应一掩码运行程序,所述方法包括:在处于调试模式的所述目标待调试芯片接入所述调试终端后,所述处理器内核运行所述调试模块中的掩码运行程序,在所述掩码运行程序运行结束且所述目标待调试芯片被所述调试终端识别后,所述调试模块接收所述调试终端发送的调试固件,并运行所述调试固件;所述调试模块基于所述调试固件的运行结果,生成所述目标待调试芯片的调试信息;所述调试模块将所述调试信息发送给所述调试终端,完成调试。本方法可用于各类芯片设计以实现内嵌USB-JTAG仿真器功能,本申请在增强嵌入式微控制器调试能力的同时大大降低了研发、调试及测试环节的成本,可大幅度提升产业界的研发效率。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种芯片调试的方法流程示意图;
图2示出了本申请实施例所提供的一种目标待调试芯片示意图;
图3示出了本申请实施例所提供的一种芯片调试的装置示意图;
图4示出了本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
在线仿真调试系统是嵌入式计算机系统开发和调试的重要工具。尤其以微控制器为核心的应用系统开发中,更离不开在线仿真器系统对芯片内部的监视和调控。
在线仿真调试系统通常包括软件和硬件两个部分:硬件部分通常是一个独立的设备,称为芯片仿真器(Emulator);软件部分称为芯片调试器(Debugger),是一个运行于PC的应用程序。两者通过通信PC的通信端口互联。
芯片仿真器主要有两类实现方式:一种是,由仿真器的仿真头来取代目标微控制器进行工作以实现调试功能,这类方式称为替代式仿真;另一种是,通过集成在芯片内部的部分调试功能配合芯片外部的在线仿真器协同工作以实现调试功能。
在线仿真是当前的主流调试仿真方式,通常芯片外部的仿真器会通过测试边界扫描调试端口(JTAG)与处理器内部的调试逻辑通信以完成各类功能。因而这类仿真器习惯称为JTAG仿真器。
要实现仿真调试的功能,JTAG仿真器需要通过PC的通信端口与调试器通信。通信端口可以是串口、并口、网口或其他接口。主流方式是通过USB接口实现仿真器和调试器的通信。
基于USB接口的JTAG仿真器在易用性、实用性及稳定性方面表现优异,但其仍存在一些不足。考虑如下几点:一方面,当代微控制器功能越发强大,结构越发复杂,许多高级外设已经集成在芯片内部,例如USB接口;一方面,在线仿真调试系统和微控制器的相互依存关系越发紧密,许多高级调试功能在芯片内部逻辑与外部仿真器协同工作的背景下难于实现;另一方面,芯片内部的某些逻辑与外部仿真器的重复设计造成不小的资源浪费导致成本增加。
基于此,本申请实施例提供了一种芯片调试的方法、装置、电子设备及存储介质,下面通过实施例进行描述。
图1示出了本申请实施例所提供的一种芯片调试的方法的流程示意图,其中,该方法应用于目标待调试芯片,目标待调试芯片包括处理器内核和集成在处理器内核外围的调试模块,调试模块对应一掩码运行程序,该方法包括步骤S101-S103;具体的:
S101、在处于调试模式的目标待调试芯片接入调试终端后,处理器内核运行调试模块中的掩码运行程序,在掩码运行程序运行结束且目标待调试芯片被调试终端识别后,调试模块接收调试终端发送的调试固件,并运行调试固件;
S102、调试模块基于调试固件的运行结果,生成目标待调试芯片的调试信息;
S103、调试模块将调试信息发送给调试终端,完成调试。
本申请方法可用于各类芯片设计以实现内嵌USB-JTAG仿真器功能,本申请在增强嵌入式微控制器调试能力的同时大大降低了研发、调试及测试环节的成本,可大幅度提升产业界的研发效率。
下面对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
现有的待调试芯片一般都包括处理器内核CPU CORE、内部总线和与内部总线连接的片内通用串行总线外设USB Controller&PHY、片内非易失参数配置区NVM、片内非易失性存储器FLASH和片内随机存取存储器RAM,与调试单元连接的边界扫描调试端口JTAG。对于现有的待调试芯片在进行仿真调试的时候,需要外接仿真器才能完成仿真调试工作。
针对现有的待调试芯片,本申请在待调试芯片的处理器内核外围集成了一个调试模块,调试模块对应一掩码运行程序,将现有的待调试芯片转换为本申请中的目标待调试芯片。
如图2所示,本申请中目标待调试芯片的结构如下:处理器内核1设置在目标待调试芯片左侧靠上位置,调试单元8设置在处理器内核1的下侧;调试单元8左侧设置边界扫描调试端口9;目标待调试芯片的右侧从上到下依次设置片内非易失参数配置区4、内部掩膜储存区5、片内非易失性存储器6和片内随机存取存储器7;调试模块包括:内部掩膜储存区(ROM)5和调试单元(Debug Unit)8;处理器内核1、内部掩膜储存区5和调试单元8均与内部总线2连接;调试单元8与处理器内核1连接;
片内通用串行总线外设3连接调试终端;片内非易失参数配置区4用于切换目标待调试芯片的工作模式;片内非易失性存储器6用于存储用户代码;片内随机存取存储器7用于与处理器内核1进行数据交换;边界扫描调试端口9用于连接外部的仿真设备;内部掩膜储存区5用于存储掩码运行程序;调试单元8用于运行调试终端发送的调试固件。
本申请中片内通用串行总线外设3用于实现调试功能或者其他用户功能;这里的其他用户功能可以是进行文件传输等。
基于片内通用串行总线外设3的工作状态,本申请中的目标待调试芯片具有两种调试方式:
第一种是片内通用串行总线外设3用于实现其他用户功能时(即若片内通用串行总线外设3处于占用状态),此时本申请中目标待调试芯片通过边界扫描调试端口9外接仿真器对该目标待调试芯片进行仿真调试。
第二种是片内通用串行总线外设3用于实现调试功能时,此时本申请中目标待调试芯片通过如下方式进行仿真调试:
S101、在处于调试模式的目标待调试芯片接入调试终端后,处理器内核1运行调试模块中的掩码运行程序,在掩码运行程序运行结束且目标待调试芯片被调试终端识别后,调试模块接收调试终端发送的调试固件,并运行调试固件。
目标待调试芯片在进行仿真调试的时候,目标待调试芯片需要让调试终端(例如计算机)能够识别出来该目标待调试芯片为符合调试要求的调试设备。
本申请中的目标待调试芯片与调试终端连接以后,处理器内核1通过运行调试模块中的掩码运行程序,能够让调试终端可以将目标待调试芯片识别为调试设备。调试终端验证目标待调试芯片为符合要求的调试设备之后,调试终端向该目标待调试芯片发送调试固件,目标待调试芯片接收了调试固件之后,调试模块运行调试固件。
S102、调试模块基于调试固件的运行结果,生成目标待调试芯片的调试信息。
本申请实施例中,作为一可选实施例,调试单元8在运行了调试固件之后,确定调试固件的运行结果,调试单元8并依据运行结果中每个部件的运行状态,生成目标待调试芯片的调试信息。
S103、调试模块将调试信息发送给调试终端,完成调试。
本申请实施例中,作为一可选实施例,调试单元8将调试信息发送给调试终端,完成调试。
本申请中的目标待调试芯片具有两种工作模块,一种是调试模式,另一种是用户模式。其中,目标待调试芯片处于调试模式时,通过运行调试固件可以对该芯片中的各个部件进行仿真调试;在调试模式时还可以运行其他辅助调试的固件,实现相关功能。
例如,下载至调试单元8区域内的代码可以有多种不同实现,进而让USB设备表现多种不同行为。例如,识别为HID、VCP或STORAGE设备等,从而在调试单元8、内部总线2及片内通用串行总线外设3的作用下实现多种内嵌的调试功能,这样可以通过片内通用串行总线外设3直接获取系统数据,加速用户的开发与调试,同时也可用于产品量产阶段的参数配置、产品加密、序列号修改及其他功能等。
目标待调试芯片处于用户模式的时候,可以运行用户代码,实现芯片本身的功能。
本申请实施例中,作为一可选实施例,在处于调试模式的目标待调试芯片完成调试后,根据片内非易失参数配置区接收的模式切换信号,将目标待调试芯片的模式切换为用户模式;
针对处于用户模式的目标待调试芯片,处理器内核运行片内非易失性存储器中的用户代码。
本申请中对于处于不同工作模式的目标待调试芯片,起到主导控制权的部件不同。处于调试模式时,在目标待调试芯片中起到主导控制权的是调试单元8,处于用户模式时,在目标待调试芯片中起到主导控制权的是处理器内核1。调试单元8和处理器内核1分别在不同时期完成各自对应的工作。处于调试模式的目标待调试芯片,调试单元8通过运行调试固件对目标待调试芯片的各个部件进行调试。处于用户模式的目标待调试芯片,处理器内核1运行片内非易失性存储器6中的用户代码,实现目标待调试芯片自身的功能。
本申请实施例中,作为一可选实施例,片内非易失参数配置区4内设置有熔丝位和安全密钥。
处理器内核1通过检测熔丝位的状态确定目标待调试芯片的工作模式:若熔丝位为第一状态,目标待调试芯片为调试模式;若熔丝位为第二状态,目标待调试芯片为用户模式。
本申请中目标待调试芯片接收到具体切换信号为第一验证密钥或者第二待验证密钥;具体的目标待调试芯片通过如下方式进行工作模式切换:
片内非易失参数配置区接收第一待验证密钥;
若处理器内核验证第一待验证密钥与安全密钥匹配,处理器内核将片内非易失参数配置区中熔丝位调整为第一状态;
片内非易失参数配置区接收第二待验证密钥;
若片内调试单元验证第二待验证密钥与安全密钥匹配,片内调试单元将片内非易失参数配置区中熔丝位调整为第二状态。
在具体实施时,片内非易失参数配置区4内设置有1个熔丝位和安全密钥。熔丝位用于裁决片内处理器内核1是运行保存于片内非易失性存储器6的用户程序还是固化在内部掩膜储存区5的USB-JTAG引导程序。密钥为修改熔丝位时的安全保护机制,只有密钥正确时才可以修改熔丝位。多次的密钥失败将会清空片内非易失性存储器6的内容。
默认情况下(出厂时),熔丝位的状态设定为第一状态,即为调试模式,处理器内核1加载保存于内部掩膜储存区5中的USB固件加载程序。芯片上电后,处理器内核1会执行内部掩膜储存区5中的掩膜代码。内部掩膜储存区5中的掩膜代码会让计算机将该USB设备(即芯片)识别为一个待加载固件的特定设备,之后计算机的驱动程序将自动下载USB-JTAG固件到片内调试单元8的RAM中。之后,处理器内核1将系统控制权交付至调试单元8的内嵌处理器。随着调试单元8中内嵌处理器的运行,计算机将识别到该USB-JTAG设备。此后,计算机的软件调试环境通过该USB-JTAG设备即可实现对芯片自身的在线仿真功能。
本申请可以将目标待调试芯片在硬件不变的情况下变为USB-JTAG,并完成对芯片自身的仿真调试。待调试完毕后,目标待调试芯片可以恢复为原状,本设计在降低系统总成本的同时增强了灵活性,提高了微控制器应用系统的开发效率。
图3示出了本申请实施例所提供的一种芯片调试的装置的结构示意图,装置包括:
运行模块,用于在处于调试模式目标待调试芯片接入调试终端后,运行调试模块中的掩码运行程序,在掩码运行程序运行结束且目标待调试芯片被调试终端识别后,接收调试终端发送的调试固件,并运行调试固件;
生成模块,用于基于调试固件的运行结果,生成目标待调试芯片的调试信息;
发送模块,用于将调试信息发送给调试终端,完成调试。
切换模块,用于若片内通用串行总线外设3处于空闲状态,处理器内核1运行调试模块中的掩码运行程序,在掩码运行程序运行结束且目标待调试芯片被调试终端识别后,根据片内非易失参数配置区4接收模式切换信号,将目标待调试芯片的模式切换为调试模式;
还用于处于调试模式的目标待调试芯片完成调试后,根据片内非易失参数配置区4接收的模式切换信号,将目标待调试芯片的模式切换为用户模式。
切换模块,具体用于片内非易失参数配置区4接收第一待验证密钥;若处理器内核1验证第一待验证密钥与安全密钥匹配,处理器内核1将片内非易失参数配置区4中熔丝位调整为第一状态;
片内非易失参数配置区4接收第二待验证密钥;
若调试单元8验证第二待验证密钥与安全密钥匹配,调试单元8将片内非易失参数配置区4中熔丝位调整为第一状态。
如图4所示,本申请实施例提供了一种电子设备,用于执行本申请中的芯片调试的方法,该设备包括存储器、处理器、总线及存储在该存储器上并可在该处理器上运行的计算机程序,其中,上述处理器执行上述计算机程序时实现上述的芯片调试的方法的步骤。
具体地,上述存储器和处理器可以为通用的存储器和处理器,这里不做具体限定,当处理器运行存储器存储的计算机程序时,能够执行上述的芯片调试的方法。
对应于本申请中的芯片调试的方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述的芯片调试的方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述的芯片调试的方法。
在本申请所提供的实施例中,应该理解到,所揭露系统和方法,可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种芯片调试的方法,其特征在于,应用于目标待调试芯片,所述目标待调试芯片包括处理器内核和集成在所述处理器内核外围的调试模块,所述调试模块对应一掩码运行程序,所述方法包括:
在处于调试模式的所述目标待调试芯片接入调试终端后,所述处理器内核运行所述调试模块中的掩码运行程序,在所述掩码运行程序运行结束且所述目标待调试芯片被所述调试终端识别后,所述调试模块接收所述调试终端发送的调试固件,并运行所述调试固件;
所述调试模块基于所述调试固件的运行结果,生成所述目标待调试芯片的调试信息;
所述调试模块将所述调试信息发送给所述调试终端,完成调试。
2.根据权利要求1所述的方法,其特征在于,所述目标待调试芯片包括内部总线;所述调试模块包括:内部掩膜储存区和片内调试单元;
所述处理器内核、所述内部掩膜储存区和所述片内调试单元均与所述内部总线连接;所述片内调试单元与所述处理器内核连接;
所述内部掩膜储存区用于存储掩码运行程序;所述片内调试单元用于运行所述调试终端发送的所述调试固件。
3.根据权利要求2所述的方法,其特征在于,所述目标待调试芯片还包括与所述内部总线连接的片内通用串行总线外设、片内非易失参数配置区、片内非易失性存储器和片内随机存取存储器,与所述调试单元连接的边界扫描调试端口;
所述处理器内核设置在所述目标待调试芯片左侧靠上位置,所述调试单元设置在所述处理器内核的下侧;所述调试单元左侧设置边界扫描调试端口;所述目标待调试芯片的右侧从上到下依次设置非易失参数配置区、内部掩膜储存区、片内非易失性存储器和片内随机存取存储器;
所述片内通用串行总线外设连接所述调试终端;所述片内非易失参数配置区用于切换所述目标待调试芯片的工作模式;所述片内非易失性存储器用于存储用户代码;所述片内随机存取存储器用于与所述处理器内核进行数据交换;所述边界扫描调试端口用于连接外部的仿真设备。
4.根据权利要求3所述的方法,其特征在于,所述目标待调试芯片的工作模式包括调试模式和用户模式;所述片内非易失参数配置区内设置有熔丝位;通过所述熔丝位的状态判断所述目标待调试芯片的工作模式:
若所述熔丝位为第一状态,所述目标待调试芯片为调试模式;
若所述熔丝位为第二状态,所述目标待调试芯片为用户模式。
5.根据权利要求3所述的方法,其特征在于,所述片内通用串行总线外设用于实现调试功能或者其他用户功能;
在处于调试模式的所述目标待调试芯片接入调试终端后,所述处理器内核运行所述调试模块中的掩码运行程序,在所述掩码运行程序运行结束且所述目标待调试芯片被所述调试终端识别后,所述调试模块接收所述调试终端发送的调试固件,并运行所述调试固件;包括:
若所述片内通用串行总线外设处于空闲状态,在处于调试模式的所述目标待调试芯片接入调试终端后,所述处理器内核运行所述调试模块中的掩码运行程序,在所述掩码运行程序运行结束且所述目标待调试芯片被所述调试终端识别后,所述调试模块接收所述调试终端发送的调试固件,并运行所述调试固件;
所述调试模块基于所述调试固件的运行结果,生成所述目标待调试芯片的调试信息,包括:
所述片内调试单元基于所述调试固件的运行结果,生成所述目标待调试芯片的调试信息;
所述调试模块将所述调试信息发送给所述调试终端,完成调试,包括:
所述片内调试单元将所述调试信息发送给所述调试终端,完成调试。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在处于调试模式的所述目标待调试芯片完成调试后,根据所述片内非易失参数配置区接收的模式切换信号,将所述目标待调试芯片的模式切换为用户模式;
针对处于用户模式的所述目标待调试芯片,所述处理器内核运行所述片内非易失性存储器中的用户代码。
7.根据权利要求4所述的方法,其特征在于,所述片内非易失参数配置区内设置有安全密钥;通过如下方式进行工作模式切换:
所述片内非易失参数配置区接收第一待验证密钥;
若所述处理器内核验证所述第一待验证密钥与所述安全密钥匹配,所述处理器内核将所述片内非易失参数配置区中所述熔丝位调整为第一状态;
所述片内非易失参数配置区接收第二待验证密钥;
若所述片内调试单元验证所述第二待验证密钥与所述安全密钥匹配,所述片内调试单元将所述片内非易失参数配置区中所述熔丝位调整为第二状态。
8.一种芯片调试的装置,其特征在于,用于调试目标待调试芯片,所述目标待调试芯片包括处理器内核和集成在所述处理器内核外围的调试模块,所述调试模块对应一掩码运行程序;所述装置包括:
运行模块,用于在目标待调试芯片接入调试终端后,运行调试模块中的掩码运行程序,在所述掩码运行程序运行结束且所述目标待调试芯片被所述调试终端识别后,接收所述调试终端发送的调试固件,并运行所述调试固件;
生成模块,用于基于所述调试固件的运行结果,生成所述目标待调试芯片的调试信息;
发送模块,用于将所述调试信息发送给所述调试终端,完成调试。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的芯片调试的方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一所述的芯片调试的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210198612.0A CN114546746A (zh) | 2022-03-02 | 2022-03-02 | 一种芯片调试的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210198612.0A CN114546746A (zh) | 2022-03-02 | 2022-03-02 | 一种芯片调试的方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114546746A true CN114546746A (zh) | 2022-05-27 |
Family
ID=81662300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210198612.0A Pending CN114546746A (zh) | 2022-03-02 | 2022-03-02 | 一种芯片调试的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114546746A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116340188A (zh) * | 2023-05-26 | 2023-06-27 | 深流微智能科技(深圳)有限公司 | Gpu芯片渲染任务的调试方法及系统 |
-
2022
- 2022-03-02 CN CN202210198612.0A patent/CN114546746A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116340188A (zh) * | 2023-05-26 | 2023-06-27 | 深流微智能科技(深圳)有限公司 | Gpu芯片渲染任务的调试方法及系统 |
CN116340188B (zh) * | 2023-05-26 | 2023-08-04 | 深流微智能科技(深圳)有限公司 | Gpu芯片渲染任务的调试方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6668339B1 (en) | Microprocessor having a debug interruption function | |
EP0911735A2 (en) | Microprocessor test system | |
US20050268195A1 (en) | Apparatus and method for improving emulation speed of high-level languages in on-chip emulation systems | |
CN101344899A (zh) | 一种片上系统的仿真测试方法及仿真测试系统 | |
CN114546746A (zh) | 一种芯片调试的方法、装置、电子设备及存储介质 | |
US20080126862A1 (en) | System and Method for Testing Software Code for Use on a Target Processor | |
CN101625644A (zh) | 闪存芯片操作方法、在线仿真器和闪存芯片操作系统 | |
CN113315675B (zh) | 一种白盒交换机U-Boot自动化测试方法、系统和存储介质 | |
KR100621095B1 (ko) | 주변 장치 초기화를 위한 부팅 시스템 및 부팅 방법 | |
JP2010175459A (ja) | 診断装置、診断方法および試験装置 | |
JP4024026B2 (ja) | 半導体装置および評価装置 | |
JP2004139458A (ja) | プログラム開発支援装置、プログラム実行装置、コンパイル方法およびデバッグ方法 | |
US8990624B2 (en) | Emulator verification system, emulator verification method | |
CN112885403B (zh) | 一种Flash控制器的功能测试方法、装置及设备 | |
CN115906046A (zh) | 可信计算系统及基于可信计算系统的度量方法 | |
Korbel et al. | Interesting applications of Atmel AVR microcontrollers | |
JP2006293824A (ja) | 半導体装置 | |
CN111176735B (zh) | 一种心电图机启动加速方法 | |
EP0378242A2 (en) | Integrated circuit with a debug environment | |
JP3110418B2 (ja) | インサーキットエミュレータおよび制御方法 | |
JP4893028B2 (ja) | チップセットのエミュレーション装置および方法 | |
CN115185536A (zh) | 程序代码的编译方法、装置、计算机设备及可读存储介质 | |
CN117194209A (zh) | 嵌入式软件的调试方法以及调试装置 | |
JP2006155098A (ja) | マイクロコンピュータの評価方法、マイクロコンピュータの評価システム、マイクロコンピュータ | |
CN117827304A (zh) | 设备可执行固件的加载方法、装置、存储介质及电子设备 |
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 |