CN115220769A - 实时配置固件数据的方法与调试装置 - Google Patents

实时配置固件数据的方法与调试装置 Download PDF

Info

Publication number
CN115220769A
CN115220769A CN202110409754.2A CN202110409754A CN115220769A CN 115220769 A CN115220769 A CN 115220769A CN 202110409754 A CN202110409754 A CN 202110409754A CN 115220769 A CN115220769 A CN 115220769A
Authority
CN
China
Prior art keywords
debugging
firmware
computer system
target processor
connection interface
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
Application number
CN202110409754.2A
Other languages
English (en)
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.)
Realtek Semiconductor Corp
Original Assignee
Realtek Semiconductor Corp
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 Realtek Semiconductor Corp filed Critical Realtek Semiconductor Corp
Priority to CN202110409754.2A priority Critical patent/CN115220769A/zh
Priority to TW110119008A priority patent/TWI774391B/zh
Priority to US17/378,924 priority patent/US11585850B2/en
Publication of CN115220769A publication Critical patent/CN115220769A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31705Debugging aspects, e.g. using test circuits for debugging, using dedicated debugging test circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17724Structural details of logic blocks
    • H03K19/17728Reconfigurable logic blocks, e.g. lookup tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31721Power aspects, e.g. power supplies for test circuits, power saving during test
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318314Tools, e.g. program interfaces, test suite, test bench, simulation hardware, test compiler, test program languages
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318516Test of programmable logic devices [PLDs]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开涉及实时配置固件数据的方法与调试装置。一种实时配置固件数据的方法与调试装置,当产生对目标处理器执行更新或调试的需求时,在实时配置固件数据的方法中,计算机系统产生固件调试请求,固件调试请求附带包括特定调试功能的固件数据,计算机系统加载固件数据至调试装置内的可编程逻辑单元,完成配置后,由计算机系统产生调试指令,经可编程逻辑单元解析指令后得出至少一个调试动作,传送至目标处理器使目标处理器执行至少一个调试动作,于调试完成后,回传调试结果。

Description

实时配置固件数据的方法与调试装置
技术领域
说明书提出一种更新固件的方法,特别是指一种可以实时加载固件数据至调试装置(apparatus for debugging)以实时调试目标处理器固件的方法。
背景技术
在电子装置中,当其中的处理器需要进行更新与调试时,需要通过具备调试功能的调试程序(可称为调试器)进行调试。其中方法之一是将此装置连接计算机装置,利用调试程序进行调试而显示发生错误的程序代码位置,并可进一步进行修正。
在很多情况下,为了获得更多更新的功能,用户必须按照装置之厂家说明的步骤对调试程序的固件数据进行升级。然而,固件升级的成功与否也会受到很多因素的影响,例如网络环境、操作者的熟练程度等。固件的升级频率一般较低,这导致传统的调试程序在功能上有比较长的时间是无法改变的,使得传统的调试程序较难适用于新型的电子装置。
习知技术针对上述情况,提供一种带有追踪(Trace)功能的调试器,但这些调试器价格较高且仅适用特定的处理器架构,导致其通用性不佳。
发明内容
现有计算机系统针对特定装置中目标处理器调试的固件数据升级不易,或是功能强大的调试器却又仅适用特定处理器架构。而由于单芯片多处理器核心架构已成为主流,并需要以较低成本满足多样的追踪需求的调试器,本发明提出一种实时配置固件数据的方法与调试装置,使得计算机系统可以通过调试装置实时以最新的固件数据对目标处理器进行调试,能满足多样需求。
根据至少一个实施例,在实时配置固件数据的方法中,先由计算机系统产生固件调试请求,固件调试请求附带包括特定调试功能的固件数据,之后通过连接接口传送至调试装置的连接接口单元,接着自连接接口单元加载固件数据至调试装置中的可编程逻辑单元。当计算机系统判断固件数据成功加载到可编程逻辑单元时,产生调试指令,并经连接接口单元发送至可编程逻辑单元,由可编程逻辑单元解析该调试指令,得出至少一个调试动作,并传送调试指令到目标处理器的调试接口上,使目标处理器执行,该至少一个调试动作,完成调试后回传调试结果。
优选地,当固件数据成功加载至可编程逻辑单元时,可编程逻辑单元即回馈信号给连接接口单元,再经连接接口单元将此完成固件配置成功的信息回馈给计算机系统。
优选地,在调试装置中的采样电路用以获得目标处理器的电压信号,成为传送至计算机系统的电压讯息,此电压讯息让计算机系统可以产生让调试装置中的电源控制电路能匹配目标处理器的电压的电压参数,并接着产生调试指令。
在至少一个实施例中,调试指令包括设定目标处理器的断点、单步执行以及/或读写目标处理器的存储器,亦包括目标处理器全速运行、访问处理器内部及外设资源、对目标处理器进行性能追踪,以及/或实时监测处理器内部的状态。
根据调试装置的至少一个实施例,调试装置主要包括连接接口单元,用以连接计算机系统;可编程逻辑单元,计算机系统通过所述连接接口单元将固件数据传输到可编程逻辑单元中;以及外围电路单元,其中包括电源控制电路、采样电路与驱动保护电路,用以检测外部信号电压参数和设定调试装置信号的电压和驱动力。当有调试需求时,由调试装置运行所述实时配置固件数据的方法。
进一步地,在调试装置中,可编程逻辑单元与外围电路单元之间设有调试总线,将连接接口单元传过来的并行数据转换成调试总线的格式,再经过驱动保护电路送到目标处理器。调试装置还包括高速并行接口,用于对具有追踪端口的目标处理器进行实时追踪。
进一步地,在调试装置中以随机存取存储器实现数据储存单元,用于数据缓冲,有利于提高对连接接口单元传输带宽的利用率。
进一步地,计算机系统通过连接接口单元传送至可编程逻辑单元的数据包括所述可编程逻辑单元的配置数据,使其实现特定的组合逻辑和时序逻辑,以及使目标处理器执行不同调试动作的数据包。
进一步地,以现场可编程逻辑门阵列实现所述可编程逻辑单元,可编程逻辑单元采用具有静态随机存取存储器的查找表结构。
为使能更进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与图式,然而所提供的图式仅用于提供参考与说明,并非用来对本发明加以限制。
附图说明
图1绘示根据本发明一些实施例的实时配置固件数据方法的调试装置示意图;
图2绘示根据本发明一些实施例的实时配置固件数据方法的流程图;
图3绘示根据本发明一些实施例的调试装置执行实时配置固件数据方法的流程图;
图4绘示根据本发明一些实施例的实时配置固件数据方法的写入指令流程图;
图5绘示根据本发明一些实施例的传递调试指令帧的格式示意图;以及
图6绘示根据本发明一些实施例的实时配置固件数据方法的系统的示意图。
具体实施方式
以下是通过特定的具体实施例来说明本发明的实施方式,本领域技术人员可由本说明书所公开的内容了解本发明的优点与效果。本发明可通过其他不同的具体实施例加以施行或应用,本说明书中的各项细节也可基于不同观点与应用,在不悖离本发明的构思下进行各种修改与变更。另外,本发明的附图仅为简单示意说明,并非依实际尺寸的描绘,事先声明。以下的实施方式将进一步详细说明本发明的相关技术内容,但所公开的内容并非用以限制本发明的保护范围。
应当可以理解的是,虽然本文中可能会使用到“第一”、“第二”、“第三”等术语来描述各种元件或者信号,但这些元件或者信号不应受这些术语的限制。这些术语主要是用以区分一元件与另一元件,或者一信号与另一信号。另外,本文中所使用的术语“或”,应视实际情况可能包括相关联的列出项目中的任一个或者多个的组合。
本发明涉及调试(或称为调试)程序(debugging),例如提出一种计算机系统,其中运行操作系统,运用其中计算机程序调试目标处理器(可以为电子装置中的微处理器、中央处理器等),执行调试的过程中,计算机系统以特定连接接口(如通用串行总线(USB))连接调试装置,先将包括调试功能的固件数据加载到此装置,以对目标处理器执行固件调试程序,执行固件调试的位置主要是在所提出的调试装置中。当调试装置通过连接接口连接计算机系统时,计算机系统会对调试装置进行初始化,并识别调试装置,再发出调试指令,包括追踪调试装置状态,于初始化后即对目标处理器执行固件调试程序,执行固件调试或更新。在此一提的是,固件调试程序可包括利用目标处理器的开发厂商提供的工具程序,以单步执行(single-stepping)与断点(breakpoint)等方式得出发生错误的程序代码,还包括追踪模式与其他诊断程序,除了得出问题所在之外,还可以进一步进行修正。
本发明提出一种实时配置固件数据的方法与调试装置,这是一种让计算机系统可以迅速且实时地配置(configuration)固件数据的方法,其主要技术概念是,当每次进行电子装置中固件调试,如针对其中处理器(称目标处理器)固件进行更新、调试与诊断,可以实时将具有特定调试功能的固件数据加载到调试装置中,固件数据之取得可自在线服务器(其中为厂商提供的网站服务)下载包括特定更新或调试功能的固件数据,下载并配置至调试装置中,即开始更新目标处理器固件的程序。当完成固件更新后,即可关闭或重新启动其电子装置,这时在调试装置中的固件数据即被删除。这个过程可能仅在毫秒级,可以满足各种更新需求。
图1绘示根据本发明一些实施例的实时配置固件数据方法的装置示意图。图1显示有计算机系统160以及调试装置100。当有任一目标处理器150中有固件更新、诊断、调试需求时,计算机系统160可以通过特定连接接口(连接接口单元110)连接调试装置100,连接接口常见的如通用串行总线(USB),之后由计算机系统160发动固件调试程序,产生固件调试请求与所附带特定调试功能的固件数据传送至调试装置100,完成加载固件数据后,调试装置100可对目标处理器150进行固件调试。
在一些实施例中,目标处理器150就是被调试的目标。调试装置100中的主要元件包括连接接口单元110、可编程逻辑单元(programmable logic unit)120、外围电路单元(peripheral circuit unit)130和数据储存单元(data storage unit)140。其中连接接口单元110可工作在一种高速传输模式,如USB2.0/3.0等传输模式,能够满足大多数目标处理器150对调试与更新速度的要求。调试装置100除了具有一般固件调试用的串行接口(如JTAG(Joint Test Action Group)、SWD(Serial Wire Debug))等调试总线外,还可包括高速并行接口(如MICTOR38),可用于对具有追踪端口(Trace port)的目标处理器150进行实时追踪(Trace),用于追踪目标处理器150的性能。实时追踪可包括执行调试时的状态数据以及通过调试总线151读出目标处理器150内的状态数据,以供分析性能。
在一些实施例中,可编程逻辑单元120可根据具体调试的需求取得固件数据,包括可通过网络连线(如通过计算机系统160连线外部服务器)弹性地更新固件数据。数据储存单元140电连接可编程逻辑单元120,其是调试装置100中的可选单元,一般可以随机存取存储器(Random-Access Memory,RAM)实现。数据储存单元140可用于数据缓冲(DataBuffer),有利于提高对连接接口单元110传输带宽的利用率,进而提升调试速度。图中显示的外围电路单元130包括电源控制电路131、采样电路132与驱动保护电路133,具有检测外部信号电压参数和设定调试装置100信号的电压和驱动力(driving force)的功能。
从调试装置100具体实现来说,连接接口单元110部分包括接口芯片(如USB芯片)及其外围电路,举例来说,连接接口单元110可以USB2.0高速模式运行,理论速度可达到480Mbps。连接接口单元110在调试装置100中承担三种任务,第一种:正常数据传输任务,将计算机系统160传过来的调试指令转发以并行(parallel)方式传送到下一级(如目标处理器150);或者是接收下一级(如目标处理器150)的调试数据,再回传给计算机系统160。第二种:负责可编程逻辑单元120的配置,这一过程称之为固件升级,升级过后即可实现特定的用于调试的逻辑功能。第三种,监测读取目标处理器150的电压参数,然后上传给计算机系统160进一步处理。
根据以上调试装置100的实施例,计算机系统可通过调试装置100的连接接口单元110(如USB)将两种类型的固件数据传输到其中的可编程逻辑单元120,第一种数据类型是:可编程逻辑单元120的配置数据(configuration data),使其实现特定的组合逻辑和时序逻辑功能;第二种类型是使目标处理器150执行不同调试动作的数据包,形成固件调试请求,包括但不限于:设定处理器断点(Breakpoint)、处理器单步执行(Step)、处理器全速运行(Free running)、访问处理器内部及外设资源;或者是对目标处理器150进行性能追踪(Performance Trace or PC Sample),实时监测处理器内部的状态,如总线上的数据、某些如跳转等指令的监测等。
在一些实施例中,可编程逻辑单元120可以现场可编程门阵列(FieldProgrammable Gate Array,FPGA)实现,其可以静态随机存取存储器(Static RandomAccess Memory,SRAM)的查找表结构(Look Up Table,LUT)实现,将连接接口单元110传过来的并行数据根据需要暂存到数据储存单元140,或者直接转换成某一总线(即调试总线151)的格式,经过驱动保护电路133送到目标处理器150。反方向的数据流可依此类推。
在一些实施例中,外围电路单元130主要包括电源控制电路131、采样电路132以及驱动保护电路133三个电路,其包括三种功能,第一种:通过采样电路132检测外部调试接口上的电压,然后将结果通过连接接口单元110送回计算机系统160。第二种:提高信号驱动的能力、电路元件的过电流保护。第三种:经连接接口单元110从计算机系统150传来的电压参数直接被送到电源控制电路131,使电源控制电路131输出正确的电压给可编程逻辑单元120和驱动保护电路133,以达到和目标处理器150电压值匹配的目的。
图2绘示根据本发明一些实施例的实时配置固件数据方法的流程图,并可配合图3所示的施例。图3亦绘示根据本发明一些实施例的调试装置执行实时配置固件数据方法的流程图。例如,调试装置100的连接接口单元110、可编程逻辑单元120、数据储存单元140与外围电路单元130之间的协作,以及对目标处理器150执行实时调试的运作流程。
进行实时配置固件数据的方法流程之初,可在计算机系统160中预先设置好能满足目标处理器150固件调试需求的一或多个固件数据,其为事先通过验证或由特定来源取得。这些固件数据主要储存于计算机系统160的储存装置中,其中运行的软件程序,如驱动调试装置100的驱动程序,可根据需求随时被存取并进行固件调试程序。当有特定目标处理器150有调试需求时,即可执行以下实施例描述的流程。
在图2的流程中,开始于目标处理器150有固件调试的需求(步骤S201),以调试装置100通过特定连接接口连接计算机系统160,以通用串行总线为例,可以计算机系统160供电给调试装置100,并用于数据传输(步骤S203),接着由计算机系统160中的软件程序产生固件调试请求,其中可为固件升级的请求,并附带本次调试所需的固件数据,发送至连接接口单元110(步骤S205)。连接接口单元110检测到新的调试需求后,可将接收到的固件调试请求与附带的固件数据下载到可编程逻辑单元120(步骤S207)。下载成功后,可编程逻辑单元120即回馈信号给连接接口单元110(步骤S209),再经连接接口单元110将此有关完成固件配置成功等信息回馈给计算机系统160(步骤S209’)。反之,若加载可编程逻辑单元120失败,回馈失败讯息至计算机系统160,后续将可据此对实时配置固件数据的方法进行调整。
此时,计算机系统160所执行的软件程序可判断固件数据是否成功地加载至可编程逻辑单元120(步骤S211)。当判断并未成功加载固件数据(否),运行于计算机系统160中的软件程序将继续尝试是否有固件调试的需求与相关数据,或是判断为退出此程序(步骤S213),并结束流程(步骤S215)。反之,若判断成功加载固件程序(是),即继续流程,进入固件调试的模式。
接着,调试装置100通过采样电路(如图1所示的采样电路132)获得目标处理器150的电压信号并将此电压讯息传送至计算机系统160(图2的步骤S217以及图3的步骤S217’),计算机系统160即根据此电压讯息设定电压参数(步骤S219),提供给电源控制电路(如图1所示的电源控制电路131)。这个电压参数是能让调试装置100中电源控制电路匹配目标处理器150的电压,最终与目标处理器150完成电压匹配,以执行后续调试步骤。
完成以上初始化步骤后,计算机系统160发送调试指令,其中包括设定断点、单步执行或读写目标处理器150的存储器等步骤(步骤S221),以执行后续S231~S239等步骤。由于调试程序是针对多种项目进行至少一个调试动作,并需反复调试,因此过程中将判断是否调试结束(步骤S223)。若本次调试已经结束,即结束本次调试程序(步骤S225),同时让调试装置100抛弃本次完成调试使用的固件数据(步骤S227),结束后可将调试装置100与计算机系统160断线(步骤S229)。
在调试过程中,当调试装置100的连接接口单元110接收到调试指令,将接收的调试指令转换为并行数据(parallel)发送至可编程逻辑单元120(步骤S231),可编程逻辑单元120按照下载的固件数据对传来的数据进行进一步解析,可得出至少一个调试动作,然后将调试指令转换为执行硬件调试或转换为调试总线(如图1所示的调试总线151)对应协议的格式(步骤S233),再以调试总线的格式发送到外围电路单元130,外围电路单元130对得到的数据进行调整后,传送到目标处理器150的调试接口上(步骤S235),使得目标处理器150也接收调试指令,并据此执行调试程序,即执行解析得出至少一个调试动作(步骤S237),目标处理器150完成调试后回传调试结果(步骤S237’),并等待下一个调试指令(步骤S239),流程回到步骤S221。
执行调试程序时的写入指令范例可参考图4,图4绘示根据本发明一些实施例的实时配置固件数据方法的写入指令流程图。
开始固件调试程序(步骤S401),以对目标处理器(如图1所示的目标处理器150)写入指令为例,计算机系统(如图1所示的计算机系统160)合成写入指令帧,可参考图5所示的根据本发明一些实施例的传递调试指令帧的格式示意图,写入指令帧记载有写入帧标头51、地址53、长度55以及数据内容57。接着通过连接接口单元110传送此写入指令帧至连接此计算机系统160的调试装置100(步骤S403),在调试装置100中,将写入指令帧传送到可编程逻辑单元120(步骤S405),可编程逻辑单元即解析指令帧(步骤S407),此例为取得写入指令与数据内容57,再将相关数据写入(暂存)数据储存单元140(步骤S409)。
之后,可编程逻辑单元120继续从数据储存单元140中读出写入指令帧的数据内容57,合成调试用的接口指令,即合成一系列的符合调试装置100中调试总线151协议的格式,如符合JTAG的指令暂存区(IR)与数据暂存区(DR)的格式(步骤S411),之后传送调试指令至目标处理器150的调试接口(步骤S413),目标处理器150即可根据指令执行固件调试程序。
完成以上动作后,可编程逻辑单元120可将结果通过连接接口单元110回馈给计算机系统160(步骤S415),结束本次写入流程(步骤S417),此后计算机系统160可再发出新的指令。
在计算机系统160中设置有各种调试功能的固件数据时,为能支持各种目标装置的调试需求,所述方法可以自外部系统取得经过验证的固件数据,如图6绘示根据本发明一些实施例的实时配置固件数据方法的系统的示意图。
在一些实施例中,服务器61中可储存各种目标装置(如图1所示的目标处理器150)厂商提供包括各种调试功能的固件数据,以能通过网络60支持各端的调试需求,设于终端的各计算机系统601、603,可以随时通过调试装置602、604调试目标处理器611、612,并能在调试程序之前确认计算机系统601、603内是否具备调试需求的固件数据,若有需求,即通过网络60连线服务器61下载所需的固件数据。
综上所述,根据以上实时配置固件数据的方法与调试装置的实施例,所提出的方法为提出调试装置,连接让用户操作调试的计算机系统,使得可通过此调试装置对目标处理器执行调试,能通过计算机系统实时加载包括特定调试功能的固件数据至此调试装置,再对目标处理器进行固件调试,所述方法能够满足各种变化的调试需求。
以上所公开的内容仅为本发明的优选可行实施例,并非因此局限本发明的申请专利范围,所以凡是运用本发明说明书及图式内容所做的等效技术变化,均包括于本发明的申请专利范围内。
【符号说明】
100:调试装置
160:计算机系统
110:连接接口单元
120:可编程逻辑单元
140:数据储存单元
130:外围电路单元
131:电源控制电路
132:采样电路
133:驱动保护电路
150:目标处理器
151:调试总线
153:采样通道
51:写入帧标头
53:地址
55:长度
57:数据内容
60:网络
61:服务器
601,603:计算机系统
602,604:调试装置
611,612:目标处理器
步骤S201~S239实时配置固件数据的流程
步骤S401~S417实时配置固件数据的流程

Claims (10)

1.一种实时配置固件数据的方法,包括:
计算机系统产生固件调试请求,通过连接接口传送至调试装置之一连接接口单元,其中该固件调试请求附带包括特定调试功能的固件数据;
自该连接接口单元加载该固件数据至该调试装置中的可编程逻辑单元;
当该计算机系统判断该固件数据成功加载该可编程逻辑单元时,产生调试指令;
经该连接接口单元发送该调试指令至该可编程逻辑单元;
该可编程逻辑单元解析该调试指令,得出至少一个调试动作;以及
传送该调试指令到目标处理器的调试接口上,使该目标处理器执行该至少一个调试动作,完成调试后回传调试结果。
2.如权利要求1所述的实时配置固件数据的方法,其中该调试装置通过通用串行总线连接该计算机系统,使该计算机系统供电给该调试装置,并用于数据传输。
3.如权利要求1所述的实时配置固件数据的方法,其中,经确认成功加载该固件数据至该可编程逻辑单元后,该可编程逻辑单元回馈信号给该连接接口单元,再经该连接接口单元将此完成固件配置成功的信息回馈给该计算机系统。
4.如权利要求1所述的实时配置固件数据的方法,其中,该调试装置通过其中的采样电路获得该目标处理器的电压信号,成为传送至该计算机系统的电压讯息。
5.如权利要求4所述的实时配置固件数据的方法,其中,该计算机系统根据该目标处理器的电压讯息设定电压参数,使得该调试装置中的电源控制电路能匹配该目标处理器的电压,接着产生该调试指令。
6.如权利要求5所述的实时配置固件数据的方法,其中该调试指令包括设定该目标处理器的断点、单步执行以及/或读写该目标处理器存储器。
7.如权利要求6所述的实时配置固件数据的方法,其中该调试指令还包括该目标处理器全速运行、访问处理器内部及外设资源、对该目标处理器进行性能追踪,以及/或实时监测处理器内部的状态。
8.如权利要求1至7中任一项所述的实时配置固件数据的方法,其中,在完成该调试程序后,该可编程逻辑单元抛弃本次调试的该固件数据。
9.一种调试装置,包括:
连接接口单元,该调试装置通过该连接接口单元连接计算机系统;
可编程逻辑单元,计算机系统通过该连接接口单元将固件数据传输到该可编程逻辑单元中;以及
外围电路单元,其中包括电源控制电路、采样电路与驱动保护电路,用以检测外部信号电压参数和设定该调试装置信号的电压和驱动力;
其中该调试装置运行实时配置固件数据的方法,包括:
该计算机系统产生固件调试请求,通过连接接口传送至该连接接口单元,其中该固件调试请求附带固件数据;
自该连接接口单元加载该固件数据至该调试装置中的该可编程逻辑单元;
在该计算机系统判断该固件数据成功加载该可编程逻辑单元时,根据目标处理器的电压讯息设定电压参数,使得该电源控制电路能匹配该目标处理器的电压,接着产生调试指令;
经该连接接口单元发送该调试指令至该可编程逻辑单元;
该可编程逻辑单元解析该调试指令,得出至少一个调试动作;以及
传送该调试指令到该目标处理器的调试接口上,使该目标处理器执行该至少一个调试动作,完成调试后回传调试结果。
10.如权利要求9所述的调试装置,其中在该可编程逻辑单元与该外围电路单元之间设有调试总线,将该连接接口单元传过来的并行数据转换成该调试总线的格式,再经过该驱动保护电路送到该目标处理器。
CN202110409754.2A 2021-04-16 2021-04-16 实时配置固件数据的方法与调试装置 Pending CN115220769A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110409754.2A CN115220769A (zh) 2021-04-16 2021-04-16 实时配置固件数据的方法与调试装置
TW110119008A TWI774391B (zh) 2021-04-16 2021-05-26 實時配置韌體數據的方法與除錯裝置
US17/378,924 US11585850B2 (en) 2021-04-16 2021-07-19 Method for real-time firmware configuration and debugging apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110409754.2A CN115220769A (zh) 2021-04-16 2021-04-16 实时配置固件数据的方法与调试装置

Publications (1)

Publication Number Publication Date
CN115220769A true CN115220769A (zh) 2022-10-21

Family

ID=83602458

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110409754.2A Pending CN115220769A (zh) 2021-04-16 2021-04-16 实时配置固件数据的方法与调试装置

Country Status (3)

Country Link
US (1) US11585850B2 (zh)
CN (1) CN115220769A (zh)
TW (1) TWI774391B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115220769A (zh) * 2021-04-16 2022-10-21 瑞昱半导体股份有限公司 实时配置固件数据的方法与调试装置
TWI819826B (zh) * 2022-09-30 2023-10-21 瑞昱半導體股份有限公司 具有韌體更新錯誤排除機制的電子系統及其韌體更新方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0869434A3 (en) 1997-03-31 1999-09-15 Hewlett-Packard Company Method for outputting trace information of a microprocessor
TWI480731B (zh) * 2010-06-30 2015-04-11 Insyde Software Corp 轉接裝置及經由該轉接裝置之除錯方法
KR101581702B1 (ko) 2010-12-23 2016-01-11 인텔 코포레이션 테스트, 검증, 및 디버그 아키텍처
US9203408B1 (en) * 2014-04-04 2015-12-01 Altera Corporation Reconfigurable logic analyzer circuitry
US9606175B2 (en) * 2014-12-26 2017-03-28 Intel Corporation Reprogramming a port controller via its own external port
US9568547B2 (en) * 2015-03-17 2017-02-14 Intel Corporation Method, apparatus and system for dynamic bandwidth management in systems
US10054636B2 (en) 2015-10-23 2018-08-21 Intel IP Corporation Device, system and method to support communication of test, debug or trace information with an external input/output interface
CN105607998B (zh) 2015-12-11 2018-10-12 成都新兴信息技术研究所 一种通过在线方式进行嵌入软件调试的系统与方法
SI3258378T1 (sl) * 2016-06-14 2022-09-30 Qoitech Ab Usklajevanje meritev z nadziranjem izvrševanja programske kode
US20180285241A1 (en) * 2017-03-28 2018-10-04 Carnegie Mellon University Energy-interference-free debugger for intermittent energy-harvesting systems
US10789153B2 (en) * 2018-04-03 2020-09-29 Xilinx, Inc. Debug controller circuit
US10992298B1 (en) * 2019-10-18 2021-04-27 Gowin Semiconductor Corporation Method and system for providing wireless FPGA programming download via a wireless communication block
US11280829B1 (en) * 2019-12-19 2022-03-22 Xlnx, Inc. System-on-chip having secure debug mode
US20210365591A1 (en) * 2020-05-22 2021-11-25 Intel Corporation Secure debug of fpga design
US11782089B2 (en) * 2020-07-01 2023-10-10 Dell Products, L.P. Detecting and remediating unauthorized debug sessions
CN111934931A (zh) * 2020-08-10 2020-11-13 中国科学院高能物理研究所 基于xvc协议的服务器及fpga固件更新调试方法
CN112506727B (zh) * 2020-12-16 2024-07-02 珠海昇生微电子有限责任公司 一种芯片调试、测试以及固件更新的方法及其系统
CN115220769A (zh) * 2021-04-16 2022-10-21 瑞昱半导体股份有限公司 实时配置固件数据的方法与调试装置

Also Published As

Publication number Publication date
US11585850B2 (en) 2023-02-21
TW202242642A (zh) 2022-11-01
TWI774391B (zh) 2022-08-11
US20220334179A1 (en) 2022-10-20

Similar Documents

Publication Publication Date Title
US6289300B1 (en) Integrated circuit with embedded emulator and emulation system for use with such an integrated circuit
EP0530247B1 (en) In-circuit emulator
US6230119B1 (en) Integrated circuit with embedded emulator and emulation system for use with such an integrated circuit
CN115220769A (zh) 实时配置固件数据的方法与调试装置
KR20010006193A (ko) 소형의 트레이스 기록 기억장치를 포함하는 디버그 인터페이스
CN113157508B (zh) 嵌入式系统的测试方法、系统、装置、设备及存储介质
CN115757183A (zh) 天熠嵌入式操作系统下一种基于代理的任务级调试方法
US8533683B2 (en) Stack walking enhancements using sensorpoints
CN109857434A (zh) 基于usb的软件升级方法
US20110061042A1 (en) Synchronized java debugger
KR20050020693A (ko) 프로그램 처리 장치
CN113364747B (zh) 调试方法、装置、系统及数据集生成方法、装置
KR100768396B1 (ko) 프로그램 처리 장치
CN112685066B (zh) 一种异构平台的mcu软件代理模式开发方法
CN110795350B (zh) 一种risc-v处理器的可控跟踪调试方法及系统
CN111427839A (zh) 一种Intel SoC FPGA的远程在线配置、调试方法
CN116737078A (zh) 一种快速闪存读写系统、方法、设备及介质
WO2004036420A1 (ja) プログラム開発支援装置、プログラム実行装置、コンパイル方法およびデバッグ方法
CN111459827A (zh) 一种跨平台调试shell的实现方法、装置和计算机
CN115981928A (zh) 处理器远程调试方法、系统以及存储介质
US20040015885A1 (en) Emulator and emulation method
CN109783417B (zh) 一种串口通讯装置及方法
CN113419955A (zh) 软件版本自动测试系统、方法、介质及设备
KR20050063023A (ko) 제이티에이지를 이용한 임베디드 시스템의 디버깅 장치 및방법
JPH1083318A (ja) 電子回路解析装置

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