CN112506727A - 一种芯片调试、测试以及固件更新的方法及其*** - Google Patents
一种芯片调试、测试以及固件更新的方法及其*** Download PDFInfo
- Publication number
- CN112506727A CN112506727A CN202011490989.0A CN202011490989A CN112506727A CN 112506727 A CN112506727 A CN 112506727A CN 202011490989 A CN202011490989 A CN 202011490989A CN 112506727 A CN112506727 A CN 112506727A
- Authority
- CN
- China
- Prior art keywords
- debugging
- chip
- functional interface
- mode
- data
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000005540 biological transmission Effects 0.000 claims description 38
- 230000000875 corresponding effect Effects 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 abstract description 60
- 238000012423 maintenance Methods 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种芯片调试、测试以及固件更新的方法及其***,该方法包括将硬件调试器连接至调试芯片的功能接口,将硬件调试器连接至调试主机,当调试芯片的功能接口作为调试接口时,将调试芯片的功能接口切换至调试模式,当选择调试芯片的一种功能接口当作调试接口时,该功能接口处于调试模式,调试主机将接收到的调试操作指令生成调试命令,并将调试命令发送至硬件调试器,硬件调试器对调试命令中数据进行解析后,传输至调试芯片,以完成相应的调试、测试、烧录操作,并将反馈结果发送回调试主机。该***用于实现上述的方法。本发明在芯片本身具备的功能基础上,复用相应的资源,以较低成本支持芯片的调试、测试、固件更新及维护。
Description
技术领域
本发明涉及芯片技术领域,尤其涉及一种芯片调试、测试以及固件更新的方法以及应用该方法的***。
背景技术
芯片产品包括MCU、CPU、MPU、SoC等多种类型,每种类型的芯片在生产、测试、研发、量产等不同的阶段,都有调试、测试、固件更新及维护等需求。
在通常的芯片设计中,调试测试是通过JTAG(Joint Test Action Group)、SWD(Serial Wire Debug)等接口实现的,固件的更新及维护是通过USB、UART等接口实现的。这在传统的CPU或SoC领域,由于芯片引脚、外设以及资源的丰富,这样的方法和***是没有问题的。
随着物联网的快速发展,大量的芯片用在物联网节点上,从成本和体积等方面考虑,芯片的引脚、外设以及资源就非常受限了,此时,传统的调试、测试以及固件更新的方法和***就显得越来越不合时宜了,存在以下缺点:
(1)JTAG需要至少4个引脚,SWD需要2个引脚,并且对这些引脚的上拉或下拉状态都提出了要求,再加上额外的用于固件的更新及维护的USB或UART等接口,芯片中额外用于调试、测试、固件更新及维护的资源,占比就非常大,这本身就是一种浪费。
(2)物联网芯片的引脚数量都非常少(通常8个,少则4个、3个),每个引脚上都会复用必须的功能,再复用调试、测试、固件更新及维护相关的模块和功能,会非常困难。
(3)物联网芯片的芯片功能和外设资源,也是非常稀缺和紧凑的,额外的JTAG/SWD/USB/UART等功能,也是一种浪费。
发明内容
本发明的主要目的在于提供一种在芯片本身具备的功能基础上,复用相应的资源,以较低成本支持芯片的调试、测试、固件更新及维护的芯片调试、测试以及固件更新的方法。
本发明的另一目的在于提供一种在芯片本身具备的功能基础上,复用相应的资源,以较低成本支持芯片的调试、测试、固件更新及维护的芯片调试、测试以及固件更新的***。
为了实现上述的主要目的,本发明提供的一种芯片调试、测试以及固件更新的方法,其包括将带有调试功能接口的硬件调试器连接至调试芯片的功能接口,用于将调试芯片的调试协议,转换成调试主机可以识别的统一格式;将硬件调试器连接至调试主机;当调试芯片的功能接口作为调试接口时,将调试芯片的功能接口切换至调试模式;当选择调试芯片的一种功能接口当作调试接口时,该功能接口处于调试模式,调试主机将通过图形用户界面接收到的调试操作指令生成调试命令,并将调试命令发送至硬件调试器,硬件调试器对调试命令中数据进行解析后,传输至调试芯片,以完成相应的调试、测试、烧录操作,并将反馈结果发送回调试主机。
进一步的方案中,当一种功能接口处于调试模式时,调试芯片的调试传输模块用于在多种功能接口和调试模块之间搭建通信通道,将调试主机发送的调试命令转发至调试模块,并将调试模块的应答数据传回调试主机,调试模块与处理器连接。
更进一步的方案中,当调试芯片启动时,调试芯片的功能接口处于正常模式或调试模式下,并通过调试芯片的配置项可配置;若调试芯片启动时,该功能接口处于调试模式下,处理器将配置寄存器将调试芯片功能接口的调试模式关闭;在芯片启动时的预定时间内,调试主机发送包含着强制开启功能的调试命令强制开启调试芯片功能接口的调试模式,当调试模式开启后,处理器将无法关闭调试模式,直到调试主机再次发送关闭强制开启调试模式功能。
更进一步的方案中,调试芯片功能接口的调试模式的开启具体包括:在调试芯片出厂时,通过只读的配置项,将功能接口的调试模式默认开启,在调试芯片上电后,该功能接口处于调试模式下,可以接收并响应调试主机发送的调试指令;在调试芯片上电后,调试芯片的处理器可以在任何时候通过配置寄存器开启功能接口的调试模式。
更进一步的方案中,调试芯片功能接口的调试模式的关闭具体包括:在调试芯片出厂时,通过只读的配置项,将功能接口的调试模式默认关闭,在调试芯片上电后,该功能接口处于正常模式下,可以当作正常功能接口使用;若调试芯片配置为默认开启调试模式,在调试芯片上电后,调试主机通过该功能接口调试、测试芯片,并通过寄存器控制,主动关闭该功能接口的调试模式;若该功能接口调试模式没有处于强制开启状态,调试芯片的处理器可以在任何时候通过配置寄存器关闭功能接口的调试模式。
更进一步的方案中,调试芯片功能接口的调试模式在关闭时的数据接收具体包括:调试主机通过功能接口按照指定的通讯协议发送数据;在该功能接口及其内置控制器接收到数据后,缓存在控制器内部的buffer中,并以中断、标志位等形式通知处理器;运行于处理器的软件将接收到的数据取出,根据具体的应用场景,处理或保存。
更进一步的方案中,调试芯片功能接口的调试模式在关闭时的数据发送具体包括:当运行于处理器中的软件需要发送数据时,将数据按照功能接口及其内置控制器预设好的形式,写入功能接口内置控制器中;功能接口内置控制器根据通讯协议格式将数据通过该功能接口发送出去;调试主机通过该功能接口接收到发送的数据。
更进一步的方案中,调试芯片功能接口的调试模式在开启时的数据接收具体包括:调试主机通过硬件调试器向调试芯片的功能接口按照指定的协议发送数据;在功能接口及其内置控制器接收到数据后,缓存在控制器内部的buffer中,由于该功能接口处于调试模式下,该数据在处理器中不可见,功能接口内置控制器会直接将该数据传输给调试传输模块;在调试传输模块接收到该数据后,转发给调试模块,由调试模块解析调试指令,并做出相应的动作。
更进一步的方案中,调试芯片功能接口的调试模式在开启时的数据发送具体包括:在不同的调试指令执行完成后,调试模块将执行的结果及数据返回给调试传输模块;调试传输模块将数据传输至功能接口内置控制器中;功能接口内置控制器按照协议格式将数据通过功能接口发送出去;调试主机通过该功能接口接收到发送的数据。
更进一步的方案中,调试芯片功能接口的调试模式的强制开启功能的打开具体包括:在调试芯片功能接口的调试模式默认开启时,在芯片启动时的预定时间内,由调试主机发送包含着打开强制开启功能的调试命令控制打开;在调试芯片启动时,通过检测特定引脚的电平信号,若检测到高电平,则打开;在调试芯片启动时,通过检测模拟的供电引脚上特定的波形,若匹配,则打开。
更进一步的方案中,调试芯片功能接口的调试模式的强制开启功能的关闭具体包括:在调试芯片上电时,调试芯片功能接口的调试模式的强制开启功能默认处于关闭状态;在调试模式开启的任何时间点,由调试主机发送包含着关闭强制开启功能的调试命令关闭;在调试芯片启动时,通过检测特定引脚的电平信号,若检测到低电平,则关闭;在调试芯片启动时,通过检测模拟的供电引脚上特定的波形,若不匹配,则关闭。
为了实现上述的另一目的,本发明提供的一种芯片调试、测试以及固件更新的***,其包括调试主机、具有调试功能接口的硬件调试器、调试芯片,所述硬件调试器连接在所述调试主机与所述调试芯片的功能接口之间,用于将调试芯片的调试协议,转换成调试主机可以识别的统一格式;所述调试芯片具有多种功能接口,当调试芯片的一种功能接口作为调试接口时,将该功能接口切换至调试模式,以完成相应的调试、测试、烧录操作,并将反馈结果发送回所述调试主机。
进一步的方案中,所述调试芯片包括多个功能接口、调试传输模块、调试模块以及处理器,当一种功能接口处于调试模式时,调试传输模块用于在多个功能接口和调试模块之间搭建通信通道,将调试主机发送的调试命令转发至调试模块,并将调试模块的应答数据传回调试主机,调试模块与处理器连接。
更进一步的方案中,所述功能接口包括GPIO、I2C、SPI、UART、USB、HDQ中的任一种具备调试功能的复用功能接口。
由此可见,本发明具有以下有益效果:
1、不需要单独的调试、测试、固件更新及维护接口,根据芯片的功能,复用芯片已有功能的接口。
2、可用于调试、测试、固件更新及维护的已有功能模块,提供正常和调试两种模式,这两种模式可以由运行在芯片上的软件,或者主机发送的特定时序和协议,或者某一个特殊的I/O电平,控制和切换。
3、可用于调试、测试、固件更新及维护的已有功能模块,处于调试模式时,和芯片中调试传输模块配合,实现相应的功能。
4、适用于不同功能接口的统一的调试协议。
附图说明
图1是本发明一种芯片调试、测试以及固件更新的方法实施例的流程框图。
图2是本发明一种芯片调试、测试以及固件更新的***实施例的原理图。
图3是本发明一种芯片调试、测试以及固件更新的***实施例中调试芯片的原理图。
以下结合附图及实施例对本发明作进一步说明。
具体实施方式
为了使发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限用于本发明。
一种芯片调试、测试以及固件更新的方法实施例:
参见图1,本发明的芯片调试、测试以及固件更新的方法在对芯片进行调试、测试、固件更新及维护时,首先,执行步骤S1,将带有调试功能接口的硬件调试器连接至调试芯片的功能接口,用于将调试芯片的调试协议,转换成调试主机可以识别的统一格式。
接着,执行步骤S2,将硬件调试器连接至调试主机,当调试芯片的功能接口作为调试接口时,将调试芯片的功能接口切换至调试模式。
然后,执行步骤S3,当选择调试芯片的一种功能接口当作调试接口时,该功能接口处于调试模式,调试主机将通过图形用户界面接收到的调试操作指令生成调试命令,并将调试命令发送至硬件调试器。
然后,执行步骤S4,硬件调试器对调试命令中数据进行解析后,传输至调试芯片,以完成相应的调试、测试、烧录操作,并将反馈结果发送回调试主机。
在步骤S3中,当一种功能接口处于调试模式时,调试芯片的调试传输模块用于在多种功能接口和调试模块之间搭建通信通道,将调试主机发送的调试命令转发至调试模块,并将调试模块的应答数据传回调试主机,调试模块与处理器连接。
进一步的,当调试芯片启动时,调试芯片的功能接口处于正常模式或调试模式下,并通过调试芯片的配置项可配置;若调试芯片启动时,该功能接口处于调试模式下,处理器将配置寄存器将调试芯片功能接口的调试模式关闭;在芯片启动时的预定时间内,调试主机发送包含着强制开启功能的调试命令强制开启调试芯片功能接口的调试模式,当调试模式开启后,处理器将无法关闭调试模式,直到调试主机再次发送关闭强制开启调试模式功能。
在本实施例中,调试芯片功能接口的调试模式的开启具体包括:在调试芯片出厂时,通过只读的配置项,将功能接口的调试模式默认开启,在调试芯片上电后,该功能接口处于调试模式下,可以接收并响应调试主机发送的调试指令;在调试芯片上电后,调试芯片的处理器可以在任何时候通过配置寄存器开启功能接口的调试模式。
可见,可通过如下方式开启功能接口的调试模式:
在芯片出厂时,通过只读的配置项,将功能接口的调试模式默认开启,此时芯片上电后,功能接口处于调试模式下,可以接收并响应调试主机发送的调试指令;芯片软件可以在任何时候,通过寄存器,开启功能接口的调试模式。
在本实施例中,调试芯片功能接口的调试模式的关闭具体包括:在调试芯片出厂时,通过只读的配置项,将功能接口的调试模式默认关闭,在调试芯片上电后,该功能接口处于正常模式下,可以当作正常功能接口使用;若调试芯片配置为默认开启调试模式,在调试芯片上电后,调试主机通过该功能接口调试、测试芯片,并通过寄存器控制,主动关闭该功能接口的调试模式;若该功能接口调试模式没有处于强制开启状态,调试芯片的处理器可以在任何时候通过配置寄存器关闭功能接口的调试模式。
可见,可通过如下方式关闭功能接口的调试模式:
芯片出厂时,通过只读的配置项,将功能接口的调试模式默认关闭,此时芯片上电后,功能接口处于正常模式下,可以当作正常功能使用;如果芯片配置为默认开启调试模式,芯片上电后,调试主机就可以通过该接口调试、测试芯片,相应的,调试主机可以通过寄存器控制,主动关闭该接口的调试模式;如果该功能接口调试模式没有处于强制开启状态,芯片软件可以在任何时候,通过寄存器,关闭功能接口的调试模式,以便使用该功能接口的正常功能。
在本实施例中,调试芯片功能接口的调试模式在关闭时的数据接收具体包括:调试主机通过功能接口按照指定的通讯协议发送数据;在该功能接口及其内置控制器接收到数据后,缓存在控制器内部的buffer中,并以中断、标志位等形式通知处理器;运行于处理器的软件将接收到的数据取出,根据具体的应用场景,处理或保存。
可见,功能接口调试模式关闭时的数据接收流程如下:
其它主机通过功能接口(如单线UART)按照指定的协议(如UART协议)发送数据;功能接口及其控制器(如UART控制器)接收到数据后,缓存在控制器内部的buffer中,并以中断、标志位等形式通知调试芯片的处理器;运行于处理器的软件将接收到的数据取出,根据具体的应用场景,处理或保存。
在本实施例中,调试芯片功能接口的调试模式在关闭时的数据发送具体包括:当运行于处理器中的软件需要发送数据时,将数据按照功能接口及其内置控制器预设好的形式,写入功能接口内置控制器中;功能接口内置控制器根据通讯协议格式将数据通过该功能接口发送出去;调试主机通过该功能接口接收到发送的数据。
可见,功能接口调试模式关闭时的数据发送流程如下:
当运行于处理器中的软件需要发送数据时,会将数据按照功能接口及其控制器(如UART控制器)约定好的形式,写入功能接口控制器;功能接口控制器按照协议格式(如UART协议)将数据通过功能接口发送出去;其它主机通过功能接口可以接收到发送的数据。
在本实施例中,调试芯片功能接口的调试模式在开启时的数据接收具体包括:调试主机通过硬件调试器向调试芯片的功能接口按照指定的协议发送数据;在功能接口及其内置控制器接收到数据后,缓存在控制器内部的buffer中,由于该功能接口处于调试模式下,该数据在处理器中不可见,功能接口内置控制器会直接将该数据传输给调试传输模块;在调试传输模块接收到该数据后,转发给调试模块,由调试模块解析调试指令,并做出相应的动作。
可见,功能接口调试模式开启时的数据接收流程如下:
调试主机通过硬件调试器向芯片的功能接口(如单线UART)按照指定的协议(如UART协议)发送数据(如调试指令);功能接口及其控制器(如UART控制器)接收到数据后,缓存在控制器内部的buffer中,此时由于处于调试模式下,该数据在处理器中不可见,功能接口控制器会直接通知调试传输模块,将数据交给它;调试传输模块接收到数据后,转发给调试模块,由调试模块解析调试指令,并做出相应的动作。
在本实施例中,调试芯片功能接口的调试模式在开启时的数据发送具体包括:在不同的调试指令执行完成后,调试模块将执行的结果及数据返回给调试传输模块;调试传输模块将数据传输至功能接口内置控制器中;功能接口内置控制器按照协议格式将数据通过功能接口发送出去;调试主机通过该功能接口接收到发送的数据。
可见,功能接口调试模式开启时的数据发送流程如下:
不同的调试指令执行完成后,调试模块会将执行的结果及数据返回给调试传输模块;调试传输模块将数据交给功能接口控制器;功能接口控制器按照协议格式(如UART协议)将数据通过功能接口发送出去;其它主机,通过功能接口可以接收到发送的数据。
在本实施例中,适用于不同功能接口的统一的调试协议如下:
适用于不同功能接口的统一的调试协议,和调试模块的具体实现有关,实例如表(一)和表(二):
表(一):PC Host to Target Chip(低字节在前)
(1)
表(二):Target Chip to Host(低字节在前)
(2)
在本实施例中,调试芯片功能接口的调试模式的强制开启功能的打开具体包括:在调试芯片功能接口的调试模式默认开启时,在芯片启动时的预定时间内,由调试主机发送包含着打开强制开启功能的调试命令控制打开;在调试芯片启动时,通过检测特定引脚的电平信号,若检测到高电平,则打开;在调试芯片启动时,通过检测模拟的供电引脚上特定的波形,若匹配,则打开。
可见,功能接口调试模式强制开启功能,可以通过如下的方式打开:
功能接口的调试模式默认开启时,在芯片启动时的固定时间内(软件运行之前),由调试主机发送调试命令打开;在芯片启动时,通过检测特定引脚的电平,如果为高电平,则打开;在芯片启动时,通过检测模拟的供电引脚(如DC5V)上特定的波形,如果匹配,则打开。
在本实施例中,调试芯片功能接口的调试模式的强制开启功能的关闭具体包括:在调试芯片上电时,调试芯片功能接口的调试模式的强制开启功能默认处于关闭状态;在调试模式开启的任何时间点,由调试主机发送包含着关闭强制开启功能的调试命令关闭;在调试芯片启动时,通过检测特定引脚的电平信号,若检测到低电平,则关闭;在调试芯片启动时,通过检测模拟的供电引脚上特定的波形,若不匹配,则关闭。
可见,功能接口调试模式强制开启功能,可以通过如下的方式关闭:
芯片上电时,默认处于关闭状态;调试模式开启的任何时间点,调试主机都可以发送调试命令关闭;在芯片启动时,通过检测特定引脚的电平,如果为低电平,则关闭;在芯片启动时,通过检测模拟的供电引脚(如DC5V)上特定的波形,如果不匹配,则关闭。
因此,本发明不需要单独的调试、测试、固件更新及维护接口,根据芯片的功能,复用芯片已有功能的接口;可以复用的功能接口包括(但不限于)GPIO、I2C、SPI、UART、USB、HDQ等任意一种具备调试功能的复用功能接口;复用的调试功能,不会影响这些接口的正常功能,相应的引脚数目、接口协议等,均和这些接口的正常功能保持一致,例如复用I2C接口时使用2个引脚、遵循I2C协议,复用HDQ接口时使用1个引脚、遵循HDQ协议,复用UART接口时使用1个或2个引脚、遵循半双工或全双工的串口协议;不需要芯片中的每个接口都具备调试功能,具体到某一型号的芯片时,可以根据该芯片的基本功能,选择合适的接口作为调试功能。
本实施例选作调试功能的功能接口,有正常和调试两种模式,例如,在正常模式下,可以使用该接口的正常功能;在调试模式下,该接口的数据收发逻辑将会由调试传输模块控制,主机发送调试、测试、烧录命令时,调试传输模块会将数据取走解析,然后交给调试模块,完成相应的调试、测试、烧录操作,并收集调试模块的反馈,将结果发送回调试主机。
在芯片启动时,接口可以处于正常或调试模式下,并通过芯片的配置项可配置。
如果启动时接口处于调试模式下,启动后软件可以根据需求,配置寄存器将调试模式关闭。
为了避免软件启动后,意外的立即关闭调试模式,导致无法再调试、测试或烧录,支持调试模式强制开启功能,芯片启动时的一段时间内(可配置,例如1ms),调试主机可以发送调试指令强制开启调试模式,开启后,软件将无法关闭调试模式,直到调试主机再次发送关闭强制开启调试模式功能。
一种芯片调试、测试以及固件更新的***实施例:
参见图2与图3,本发明提供的一种芯片调试、测试以及固件更新的***,其包括调试主机10、具有调试功能接口的硬件调试器20、调试芯片30,硬件调试器20连接在调试主机10与调试芯片30的功能接口之间,用于将调试芯片30的调试协议,转换成调试主机10可以识别的统一格式;调试芯片30具有多种功能接口,当调试芯片30的一种功能接口作为调试接口时,将该功能接口切换至调试模式,以完成相应的调试、测试、烧录操作,并将反馈结果发送回调试主机10。
调试芯片30包括多个功能接口31、调试传输模块32、调试模块33以及处理器34,当一种功能接口31处于调试模式时,调试传输模块32用于在多个功能接口31和调试模块33之间搭建通信通道,将调试主机10发送的调试命令转发至调试模块33,并将调试模块33的应答数据传回调试主机10,调试模块33与处理器34连接。
功能接口31包括GPIO、I2C、SPI、UART、USB、HDQ中的任一种具备调试功能的复用功能接口。
具体地,图2中的PC Host为调试主机10,通过USB、以太网等形式与DebugTranslator连接。
Debug Translator为硬件调试器20,Debug Translator通过特定的、带有调试功能的接口和目标调试芯片30(Target Chip)连接,用于将芯片的调试协议,转换成PC Host可以识别的统一格式。
Target Chip为调试芯片30,通过特定的、带有调试功能的接口,实现调试、测试、固件更新等功能。
其中,I2C、UART、SPI、HDQ等功能模块,和传统的实现方式保持一致,并挂载到***的总线上。
在传统实现的基础上,这些功能模块,需要作为调试接口时,增加一个调试模式,用于通过Debug Translator和PC host通信。
同一个芯片中,可根据实际的应用场景,选择一个或多个功能模块当作调试接口。
在图3中,Debug Transport Module为调试传输模块32,Debug Module为调试模块33,CPU Core为调试芯片30的处理器34。
当某个功能模块处于调试模式时,Debug Transport Module负责在功能接口31模块和Debug Module之间搭建一座桥梁,将PC Host发送的调试命令转发至Debug Module,并将Debug Module的应答数据,转回PC Host。
另外,Debug Transport Module还负责功能接口31调试模式的开发、调试模式强制开启功能的打开或关闭。
Debug Module是芯片中支持调试功能的主要实体,支持执行控制(单步、全速、暂停)、寄存器读写、Memory读写、断点等操作。
由此可见,本发明具有以下有益效果:
1、不需要单独的调试、测试、固件更新及维护接口(如JTAG/SWD/USB/UART等),根据芯片的功能,复用芯片已有功能的接口(如GPIO/I2C/SPI/UART等)。
2、可用于调试、测试、固件更新及维护的已有功能模块,提供正常和调试两种模式,这两种模式可以由运行在芯片上的软件,或者主机发送的特定时序和协议,或者某一个特殊的I/O电平,控制和切换。
3、可用于调试、测试、固件更新及维护的已有功能模块,处于调试模式时,和芯片中调试传输模块32配合,实现相应的功能。
4、适用于不同功能接口的统一的调试协议。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本公开中涉及的器件、装置、设备、***的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、***。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
需要说明的是,以上仅为本发明的优选实施例,但发明的设计构思并不局限于此,凡利用此构思对本发明做出的非实质性修改,也均落入本发明的保护范围之内。
Claims (14)
1.一种芯片调试、测试以及固件更新的方法,其特征在于,包括:
将带有调试功能接口的硬件调试器连接至调试芯片的功能接口,用于将调试芯片的调试协议,转换成调试主机可以识别的统一格式;
将硬件调试器连接至调试主机;
当调试芯片的功能接口作为调试接口时,将调试芯片的功能接口切换至调试模式;
当选择调试芯片的一种功能接口当作调试接口时,该功能接口处于调试模式,调试主机将通过图形用户界面接收到的调试操作指令生成调试命令,并将调试命令发送至硬件调试器,硬件调试器对调试命令中数据进行解析后,传输至调试芯片,以完成相应的调试、测试、烧录操作,并将反馈结果发送回调试主机。
2.根据权利要求1所述的方法,其特征在于:
当一种功能接口处于调试模式时,调试芯片的调试传输模块用于在多种功能接口和调试模块之间搭建通信通道,将调试主机发送的调试命令转发至调试模块,并将调试模块的应答数据传回调试主机,调试模块与处理器连接。
3.根据权利要求2所述的方法,其特征在于:
当调试芯片启动时,调试芯片的功能接口处于正常模式或调试模式下,并通过调试芯片的配置项可配置;
若调试芯片启动时,该功能接口处于调试模式下,处理器将配置寄存器将调试芯片功能接口的调试模式关闭;
在芯片启动时的预定时间内,调试主机发送包含着强制开启功能的调试命令强制开启调试芯片功能接口的调试模式,当调试模式开启后,处理器将无法关闭调试模式,直到调试主机再次发送关闭强制开启调试模式功能。
4.根据权利要求2所述的方法,其特征在于:
调试芯片功能接口的调试模式的开启具体包括:在调试芯片出厂时,通过只读的配置项,将功能接口的调试模式默认开启,在调试芯片上电后,该功能接口处于调试模式下,可以接收并响应调试主机发送的调试指令;
在调试芯片上电后,调试芯片的处理器可以在任何时候通过配置寄存器开启功能接口的调试模式。
5.根据权利要求4所述的方法,其特征在于:
调试芯片功能接口的调试模式的关闭具体包括:
在调试芯片出厂时,通过只读的配置项,将功能接口的调试模式默认关闭,在调试芯片上电后,该功能接口处于正常模式下,可以当作正常功能接口使用;
若调试芯片配置为默认开启调试模式,在调试芯片上电后,调试主机通过该功能接口调试、测试芯片,并通过寄存器控制,主动关闭该功能接口的调试模式;
若该功能接口调试模式没有处于强制开启状态,调试芯片的处理器可以在任何时候通过配置寄存器关闭功能接口的调试模式。
6.根据权利要求2所述的方法,其特征在于:
调试芯片功能接口的调试模式在关闭时的数据接收具体包括:
调试主机通过功能接口按照指定的通讯协议发送数据;
在该功能接口及其内置控制器接收到数据后,缓存在控制器内部的buffer中,并以中断、标志位等形式通知处理器;
运行于处理器的软件将接收到的数据取出,根据具体的应用场景,处理或保存。
7.根据权利要求6所述的方法,其特征在于:
调试芯片功能接口的调试模式在关闭时的数据发送具体包括:
当运行于处理器中的软件需要发送数据时,将数据按照功能接口及其内置控制器预设好的形式,写入功能接口内置控制器中;
功能接口内置控制器根据通讯协议格式将数据通过该功能接口发送出去;
调试主机通过该功能接口接收到发送的数据。
8.根据权利要求2所述的方法,其特征在于:
调试芯片功能接口的调试模式在开启时的数据接收具体包括:
调试主机通过硬件调试器向调试芯片的功能接口按照指定的协议发送数据;
在功能接口及其内置控制器接收到数据后,缓存在控制器内部的buffer中,由于该功能接口处于调试模式下,该数据在处理器中不可见,功能接口内置控制器会直接将该数据传输给调试传输模块;
在调试传输模块接收到该数据后,转发给调试模块,由调试模块解析调试指令,并做出相应的动作。
9.根据权利要求8所述的方法,其特征在于:
调试芯片功能接口的调试模式在开启时的数据发送具体包括:
在不同的调试指令执行完成后,调试模块将执行的结果及数据返回给调试传输模块;
调试传输模块将数据传输至功能接口内置控制器中;
功能接口内置控制器按照协议格式将数据通过功能接口发送出去;
调试主机通过该功能接口接收到发送的数据。
10.根据权利要求3所述的方法,其特征在于:
调试芯片功能接口的调试模式的强制开启功能的打开具体包括:
在调试芯片功能接口的调试模式默认开启时,在芯片启动时的预定时间内,由调试主机发送包含着打开强制开启功能的调试命令控制打开;
在调试芯片启动时,通过检测特定引脚的电平信号,若检测到高电平,则打开;
在调试芯片启动时,通过检测模拟的供电引脚上特定的波形,若匹配,则打开。
11.根据权利要求10所述的方法,其特征在于:
调试芯片功能接口的调试模式的强制开启功能的关闭具体包括:
在调试芯片上电时,调试芯片功能接口的调试模式的强制开启功能默认处于关闭状态;
在调试模式开启的任何时间点,由调试主机发送包含着关闭强制开启功能的调试命令关闭;
在调试芯片启动时,通过检测特定引脚的电平信号,若检测到低电平,则关闭;
在调试芯片启动时,通过检测模拟的供电引脚上特定的波形,若不匹配,则关闭。
12.一种芯片调试、测试以及固件更新的***,其特征在于,包括:
调试主机、具有调试功能接口的硬件调试器、调试芯片,所述硬件调试器连接在所述调试主机与所述调试芯片的功能接口之间,用于将调试芯片的调试协议,转换成调试主机可以识别的统一格式;
所述调试芯片具有多种功能接口,当调试芯片的一种功能接口作为调试接口时,将该功能接口切换至调试模式,以完成相应的调试、测试、烧录操作,并将反馈结果发送回所述调试主机。
13.根据权利要求12所述的***,其特征在于,包括:
所述调试芯片包括多个功能接口、调试传输模块、调试模块以及处理器,当一种功能接口处于调试模式时,调试传输模块用于在多个功能接口和调试模块之间搭建通信通道,将调试主机发送的调试命令转发至调试模块,并将调试模块的应答数据传回调试主机,调试模块与处理器连接。
14.根据权利要求13所述的***,其特征在于,包括:
所述功能接口包括GPIO、I2C、SPI、UART、USB、HDQ中的任一种具备调试功能的复用功能接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011490989.0A CN112506727B (zh) | 2020-12-16 | 2020-12-16 | 一种芯片调试、测试以及固件更新的方法及其*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011490989.0A CN112506727B (zh) | 2020-12-16 | 2020-12-16 | 一种芯片调试、测试以及固件更新的方法及其*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112506727A true CN112506727A (zh) | 2021-03-16 |
CN112506727B CN112506727B (zh) | 2024-07-02 |
Family
ID=74972953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011490989.0A Active CN112506727B (zh) | 2020-12-16 | 2020-12-16 | 一种芯片调试、测试以及固件更新的方法及其*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112506727B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113238767A (zh) * | 2021-04-09 | 2021-08-10 | Tcl空调器(中山)有限公司 | 接口复用方法、空调外机及可读存储介质 |
CN113645093A (zh) * | 2021-07-09 | 2021-11-12 | 芯来智融半导体科技(上海)有限公司 | 一种待测设备、开发调试***和通信方法 |
CN114488992A (zh) * | 2021-12-17 | 2022-05-13 | 徐工汉云技术股份有限公司 | 一种基于监督机器学习的电动车控制器适配多车型的方法 |
TWI774391B (zh) * | 2021-04-16 | 2022-08-11 | 瑞昱半導體股份有限公司 | 實時配置韌體數據的方法與除錯裝置 |
CN114994499A (zh) * | 2022-05-18 | 2022-09-02 | 广芯微电子(广州)股份有限公司 | 一种芯片测试方法及装置 |
CN115658412A (zh) * | 2022-10-09 | 2023-01-31 | 深圳市思远半导体有限公司 | 一种单线调试方法、装置、mcu芯片、调试器及*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495781A (zh) * | 2011-11-30 | 2012-06-13 | 青岛海信信芯科技有限公司 | Soc芯片的调试方法和调试*** |
CN105095040A (zh) * | 2014-05-08 | 2015-11-25 | 中国科学院微电子研究所 | 一种芯片调试方法与装置 |
US20170322867A1 (en) * | 2016-05-04 | 2017-11-09 | STMicroelectronics (Beijing) R&D Co. Ltd | Debugging support unit for microprocessor |
CN107704346A (zh) * | 2017-08-08 | 2018-02-16 | 湖南国科微电子股份有限公司 | Soc芯片调试方法及调试*** |
CN108475227A (zh) * | 2016-03-31 | 2018-08-31 | 华为技术有限公司 | 测试功能组件及数据调试方法 |
CN111124440A (zh) * | 2019-12-17 | 2020-05-08 | 湖南国科微电子股份有限公司 | 芯片软件烧录方法、芯片软件烧录数据处理方法和装置 |
-
2020
- 2020-12-16 CN CN202011490989.0A patent/CN112506727B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495781A (zh) * | 2011-11-30 | 2012-06-13 | 青岛海信信芯科技有限公司 | Soc芯片的调试方法和调试*** |
CN105095040A (zh) * | 2014-05-08 | 2015-11-25 | 中国科学院微电子研究所 | 一种芯片调试方法与装置 |
CN108475227A (zh) * | 2016-03-31 | 2018-08-31 | 华为技术有限公司 | 测试功能组件及数据调试方法 |
US20170322867A1 (en) * | 2016-05-04 | 2017-11-09 | STMicroelectronics (Beijing) R&D Co. Ltd | Debugging support unit for microprocessor |
CN107704346A (zh) * | 2017-08-08 | 2018-02-16 | 湖南国科微电子股份有限公司 | Soc芯片调试方法及调试*** |
CN111124440A (zh) * | 2019-12-17 | 2020-05-08 | 湖南国科微电子股份有限公司 | 芯片软件烧录方法、芯片软件烧录数据处理方法和装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113238767A (zh) * | 2021-04-09 | 2021-08-10 | Tcl空调器(中山)有限公司 | 接口复用方法、空调外机及可读存储介质 |
TWI774391B (zh) * | 2021-04-16 | 2022-08-11 | 瑞昱半導體股份有限公司 | 實時配置韌體數據的方法與除錯裝置 |
US11585850B2 (en) | 2021-04-16 | 2023-02-21 | Realtek Semiconductor Corp. | Method for real-time firmware configuration and debugging apparatus |
CN113645093A (zh) * | 2021-07-09 | 2021-11-12 | 芯来智融半导体科技(上海)有限公司 | 一种待测设备、开发调试***和通信方法 |
CN113645093B (zh) * | 2021-07-09 | 2023-11-28 | 芯来智融半导体科技(上海)有限公司 | 一种待测设备、开发调试***和通信方法 |
CN114488992A (zh) * | 2021-12-17 | 2022-05-13 | 徐工汉云技术股份有限公司 | 一种基于监督机器学习的电动车控制器适配多车型的方法 |
CN114994499A (zh) * | 2022-05-18 | 2022-09-02 | 广芯微电子(广州)股份有限公司 | 一种芯片测试方法及装置 |
CN115658412A (zh) * | 2022-10-09 | 2023-01-31 | 深圳市思远半导体有限公司 | 一种单线调试方法、装置、mcu芯片、调试器及*** |
Also Published As
Publication number | Publication date |
---|---|
CN112506727B (zh) | 2024-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112506727B (zh) | 一种芯片调试、测试以及固件更新的方法及其*** | |
CN208314755U (zh) | 一种人工智能开发平台和*** | |
KR100572165B1 (ko) | 유니버셜 직렬 버스 디바이스 컨트롤러 | |
US20100122003A1 (en) | Ring-based high speed bus interface | |
KR101035832B1 (ko) | 집적 종단점 장치와, 집적 pci 익스프레스 종단점 장치및 pci 익스프레스 통신 시스템 | |
CN109558371B (zh) | 用于与微控制器通信的方法、以及计算*** | |
CN107066746B (zh) | 基于i2c接口通过cpld来实现pca9555功能的方法 | |
CN106776428A (zh) | 终端设备、读写设备、数据传输***和硬件初始化方法 | |
CN104021102A (zh) | 基于状态机和片内总线的cpci串口板及其工作方法 | |
CN103399830B (zh) | 通过PCI Express总线读取计算机物理内存的设备及方法 | |
CN105681145A (zh) | 一种基于FPGA的FlexRay通信模块 | |
TW201627862A (zh) | 除錯電路、除錯請求電路及除錯系統 | |
CN109634256B (zh) | 一种通用can控制器芯片的板级验证*** | |
WO2018223253A1 (zh) | 一种运动控制卡、运动控制***、机器人***及数控机床 | |
CN109828933A (zh) | 一种ncsi功能网卡及网卡的ncsi功能的实现方法 | |
CN109634901A (zh) | 一种基于uart的数据传输***及其控制方法 | |
CN117978934B (zh) | 一种补光同步信号电路及其电子设备 | |
CN111158731A (zh) | 一种基于cpld的网卡固件升级装置及方法 | |
CN109407574B (zh) | 一种多总线可选择输出控制装置及其方法 | |
CN104699055A (zh) | 一种现场总线控制器及方法 | |
CN112783817B (zh) | 设备接入检测装置、PCIe路由卡、***、控制方法及介质 | |
CN204406186U (zh) | 一种现场总线控制器 | |
US6263305B1 (en) | Software development supporting system and ROM emulation apparatus | |
US6895456B2 (en) | System supporting multicast master cycles between different busses in a computer system | |
CN110855581B (zh) | 适用于vpx架构的40g和srio复用的国产交换刀片装置 |
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 |