CN116893874A - 在线仿真器装置 - Google Patents
在线仿真器装置 Download PDFInfo
- Publication number
- CN116893874A CN116893874A CN202310326995.XA CN202310326995A CN116893874A CN 116893874 A CN116893874 A CN 116893874A CN 202310326995 A CN202310326995 A CN 202310326995A CN 116893874 A CN116893874 A CN 116893874A
- Authority
- CN
- China
- Prior art keywords
- event
- memory
- tracking
- program
- address
- 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
- 230000015654 memory Effects 0.000 claims abstract description 204
- 238000001514 detection method Methods 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims abstract description 5
- 238000010586 diagram Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
-
- 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/3636—Software debugging by tracing the execution of the program
- G06F11/364—Software debugging by tracing the execution of the program tracing values on a bus
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)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明提供一种能够在CPU的程序执行中产生特定事件的情况下立即参照CPU的动作历史的在线仿真器装置。包括:CPU,执行程序,并输出或者输入输出伴随程序的执行而变化的参数值;多个追踪存储器,依次存储CPU输出或者输入输出的参数值,形成参数值的变化历史;事件检测电路,检测伴随CPU执行程序而产生的特定事件;以及事件追踪控制电路,响应于由事件检测电路进行的特定事件检测,而使多个追踪存储器中的任意一个追踪存储器的存储动作停止,从一个追踪存储器读出参数值的变化历史并输出。
Description
技术领域
本发明涉及试验性地执行程序的在线仿真器装置。
背景技术
在线仿真器装置是在开发微型计算机系统时所使用的试验装置,代替该CPU来确认微型计算机系统的CPU是否按照程序正确地执行。
在专利文献1中公开一种在线仿真器装置,具有:调试用CPU;储存程序、数据的主存储器;在调试时控制调试用CPU的控制电路;以及记录调试用CPU的程序执行中的命令的执行历史、及对主存储器的数据访问的历史的追踪存储器装置。在该现有的在线仿真器装置中,能够基于记录在追踪存储器装置中的命令执行历史的信息,从记录在追踪存储器装置中的数据访问历史的信息获取并输出伴随调试用CPU中的命令的执行而新写入主存储器的数据。
专利文献1:日本特开2005-182573号公报
在上述的现有的在线仿真器装置中,在追踪存储器装置中记录的调试用CPU的程序执行中的命令的执行历史、对主存储器的数据访问的历史的参照一般在调试用CPU结束程序的执行之后进行。
然而,根据在线仿真器装置的利用者,有时希望在程序的执行中产生中断等事件时立即基于这些历史来验证事件产生时的动作,在现有的在线仿真器装置中,存在不能基于记录在追踪存储器装置中的历史在事件产生之后立即验证那样的事件产生时的动作的问题。
发明内容
因此,本发明的目的在于提供一种能够在CPU的程序执行中产生特定事件的情况下立即参照CPU的动作历史的在线仿真器装置。
本发明的在线仿真器装置的特征在于,包括:CPU,执行程序,输出或者输入输出伴随上述程序的执行而变化的参数值;多个追踪存储器,依次存储上述CPU输出或者输入输出的上述参数值,形成上述参数值的变化历史;事件检测电路,检测伴随上述CPU执行上述程序而产生的特定事件;以及事件追踪控制电路,响应于由上述事件检测电路进行的上述特定事件检测而使上述多个追踪存储器中的任意一个追踪存储器的存储动作停止,从上述一个追踪存储器读出上述参数值的变化历史并输出。
根据本发明的在线仿真器装置,在CPU执行程序中产生特定事件的情况下,不会使CPU的程序执行动作停止,能够取出包含该事件产生时的其前后的程序执行地址等的参数值,因此能够在事件产生之后立即参照该参数值的变化历史,由此,能够获得程序调试时的实时性。
附图说明
图1是示出作为本发明的实施例1的在线仿真器装置的结构的框图。
图2是示出作为本发明的实施例2的在线仿真器装置的结构的框图。
附图标记说明
10…微型计算机调试系统;11…ICE电路;12…微型计算机电路;20…ICE控制CPU;21…实时追踪控制电路;22…实时追踪存储器;23…事件追踪控制电路;24-1~24-n…事件追踪存储器;25…事件检测电路;26-1~26-m…信号线;30…PC调试器;31…CPU;32…程序存储器;33…数据存储器。
具体实施方式
以下,参照附图并对本发明的实施例进行详细说明。
【实施例1】
图1示出作为本发明的实施例1的在线仿真器装置的结构。该在线仿真器装置具备:包含ICE(在线仿真器)电路11以及微型计算机电路12的微型计算机调试系统10、ICE控制CPU(中央处理装置)20以及PC调试器30。
ICE电路11包括:实时追踪控制电路21、实时追踪存储器22、事件追踪控制电路23、事件追踪存储器24-1~24-n(n为2以上的整数)以及事件检测电路25。微型计算机电路12包括:CPU31、程序存储器32以及数据存储器33。
在微型计算机电路12中,CPU31与程序存储器32连接。在程序存储器32中存储有调试对象的程序。CPU31执行存储于程序存储器32的调试对象的程序。在该程序的执行中,CPU31生成程序执行地址信号,从由程序执行地址信号表示的地址指定的程序存储器32的存储位置读出调试对象的程序的命令。读出的命令被供给至CPU31,CPU31执行该命令。数据存储器33例如由RAM(随机访问存储器)构成。CPU31通过执行调试对象的程序,从而进行将数据写入数据存储器33,另外读出写入到数据存储器33的数据。CPU31在对数据存储器33进行数据的写入或者读出动作时,将表示与数据存储器33的存储位置对应的地址的访问地址信号供给至数据存储器33。
另外,CPU31伴随调试对象的程序的执行而产生特定事件。特定事件是指CPU31的特征性的动作状态。作为该事件的具体例,有(1)程序执行地址(程序执行地址信号表示的地址)与特定地址一致这样的程序执行地址一致事件、(2)中断事件、(3)复位事件、(4)数据存储器33的写入或者读出目的地的地址(访问地址信号表示的地址)与特定地址一致这样的数据存储器地址一致事件。
微型计算机电路12为了检测特定事件的产生,而将从CPU31输出的复位信号、中断信号、表示数据存储器33的写入或者读出目的地的地址的访问地址信号、以及表示程序存储器32的执行地址的程序执行地址信号供给至事件检测电路25。
ICE控制CPU20与ICE电路11内的实时追踪控制电路21以及事件追踪控制电路23连接,向实时追踪控制电路21以及事件追踪控制电路23分别发送命令,另外,接收从实时追踪控制电路21或者事件追踪控制电路23输出的数据。
实时追踪控制电路21与具有用于存储程序执行地址的多个存储位置的实时追踪存储器22连接。实时追踪控制电路21控制包含实时追踪存储器22的追踪的开始以及追踪的结束的追踪动作,并且生成按顺序指定存储程序执行地址的实时追踪存储器22的存储位置的追踪存储器地址信号。
向实时追踪存储器22以及事件追踪存储器24-1~24-n供给CPU31输出的程序执行地址信号。程序执行地址信号表示的地址是与CPU31执行程序一起变化的CPU31的输出参数值。实时追踪存储器22根据实时追踪控制电路21的追踪的开始控制而在由追踪存储器地址信号指定的存储位置存储程序执行地址信号表示的地址。此外,本实施例1中所说的实时追踪是指按程序执行地址信号的输出顺序存储CPU31输出的程序执行地址信号表示的地址。
从微型计算机电路12向事件检测电路25供给上述的复位信号、中断信号、访问地址信号以及程序执行地址信号。事件检测电路25根据复位信号、中断信号、访问地址信号以及程序执行地址信号来判别特定事件的产生,作为判别结果,在产生特定事件时产生事件信号。事件检测电路25在与事件追踪控制电路23之间设置有m(m为2以上的整数)个信号线26-1~26-m。事件信号通过信号线26-1~26-m的任意一个信号线被供给至事件追踪控制电路23。
事件追踪控制电路23与事件追踪存储器24-1~24-n的各事件追踪存储器连接。从实时追踪控制电路21向事件追踪控制电路23供给追踪时钟信号。追踪时钟信号是指定事件追踪存储器24-1~24-n的各写入地址的定时信号,与上述的追踪存储器地址信号的地址指定的定时同步。事件追踪控制电路23与追踪时钟信号同步地分别生成事件追踪地址信号。各事件追踪地址信号被供给至事件追踪存储器24-1~24-n,指定事件追踪存储器24-1~24-n的存储位置。事件追踪存储器24-1~24-n各自在由事件追踪地址信号指定的存储位置存储CPU31输出的程序执行地址信号表示的地址。
事件追踪存储器24-1~24-n例如是相同的存储位置数的存储器,分别具有用于存储程序执行地址信号表示的地址的多个存储位置,但也可以比实时追踪存储器22的存储位置数少。此处,为了使说明简单,假设在事件追踪存储器24-1~24-n的各事件追踪存储器中存在k(2以上的整数)个用于存储地址的存储位置。若对事件追踪存储器24-1进行说明,则事件追踪地址信号从事件追踪存储器24-1的第一存储位置按顺序指定,但第k存储位置指定完毕时,则接着再次重复从第一存储位置按顺序指定。即,在第k存储位置按顺序写入地址后重复数据的重写。这对于事件追踪存储器24-2~24-n也是同样的。但是,事件追踪地址信号也可以在事件追踪存储器24-1~24-n的各事件追踪存储器中独立,指定不同的存储位置。
事件追踪控制电路23若从事件检测电路25接收事件信号,则使处于地址存储动作中即、依次存储程序执行地址信号表示的地址中的事件追踪存储器24-1~24-n中的任意一个事件追踪存储器的地址存储动作停止。该地址存储动作的停止也可以在接收事件信号之后稍微延迟进行。延迟时间例如是程序执行地址信号表示的地址相当于几个步骤的时间。另外,事件追踪控制电路23通过ICE控制CPU20的控制,从使地址存储动作停止的事件追踪存储器的各存储位置从时间上较旧的数据(程序执行地址信号表示的地址)按顺序读出k个数据。具体而言,事件追踪控制电路23若将读出地址信号例如供给至事件追踪存储器24-1,则读出由读出地址信号指定的存储位置的数据,并将其作为读出数据而从事件追踪存储器24-1供给至事件追踪控制电路23,对k个存储位置进行该数据读出动作。
PC调试器30与ICE控制CPU20连接,是用户进行用于调试的操作的PC(个人计算机)。另外,PC调试器30具有显示器,接收事件的产生通知、以及分别存储于事件追踪存储器24-1~24-n的数据即程序执行地址的供给,能够使事件产生时的程序执行地址的变化显示于显示器。
接下来,对上述的结构的实施例1的在线仿真器装置的动作进行说明。
首先,通过对PC调试器30的用户操作从PC调试器30经由ICE控制CPU20对CPU31供给调试对象的程序的执行命令。CPU31响应于执行命令而从储存于程序存储器32的程序读出命令,并开始执行该命令。即,CPU31与CPU时钟信号同步地对程序存储器32供给程序执行地址信号,程序存储器32读出处于程序执行地址信号表示的地址的存储位置的命令,并将该命令供给至CPU31。CPU31执行被供给的命令。
程序执行地址信号表示的地址是CPU31内的未图示的程序计数器的计数值。CPU31每当执行被供给的命令时便使程序计数器的计数值更新。程序计数器的计数值从初始值起按顺序变化,但根据程序中的命令会产生跳转到特定值的情况。
程序执行地址信号被供给至实时追踪存储器22、事件追踪存储器24-1~24-n以及事件检测电路25。实时追踪存储器22每当被供给程序执行地址信号时,将程序执行地址信号表示的地址存储于由追踪存储器地址信号指定的存储位置。如上述那样从实时追踪控制电路21供给追踪存储器地址信号。
事件追踪存储器24-1~24-n的各事件追踪存储器每当被供给程序执行地址信号时便将程序执行地址信号表示的地址存储于由事件追踪地址信号指定的存储位置。如上述那样从事件追踪控制电路23分别供给事件追踪地址信号。这样,实时追踪存储器22以及事件追踪存储器24-1~24-n各自的追踪对象是程序执行地址信号表示的地址,该地址指定程序存储器32的存储位置。另外,在事件追踪存储器24-1~24-n各自中例如能够存储比实时追踪存储器22少的最近k个地址。
在事件检测电路25中,除了程序执行地址信号之外,还从微型计算机电路12供给上述的复位信号、中断信号以及访问地址信号。如上所述,事件检测电路25根据复位信号、中断信号、访问地址信号以及程序执行地址信号来判别特定事件的产生,并在产生特定事件时产生事件信号。
此处,如以下那样设为预先设定按照每个事件传输事件信号的信号线和使用所存储的数据的事件追踪存储器。对于程序执行地址与特定地址一致这个第一事件,经由信号线26-1将第一事件信号供给至事件追踪控制电路23,使用存储于事件追踪存储器24-1的数据。对于中断这个第二事件,经由信号线26-2及将第二事件信号供给至事件追踪控制电路23,使用存储于事件追踪存储器24-2的数据。对于复位这个第三事件,经由信号线26-3将第三事件信号供给至事件追踪控制电路23,使用存储于事件追踪存储器24-3的数据。对于数据存储器33的写入或者读出目的地的地址与特定地址一致这个第四事件,经由信号线26-4将第四事件信号供给至事件追踪控制电路23,使用存储于事件追踪存储器24-4的数据。
在事件检测电路25中,如果检测出第一事件,即从程序执行地址信号检测出程序执行地址与特定地址一致,则将第一事件信号经由信号线26-1供给至事件追踪控制电路23。事件追踪控制电路23对ICE控制CPU20通知产生第一事件,停止将事件追踪地址信号供给至事件追踪存储器24-1。由此,PC调试器30经由ICE控制CPU20被供给第一事件的产生通知,并将第一事件即程序执行地址一致的产生显示于显示器。通过停止将事件追踪地址信号供给至事件追踪存储器24-1,事件追踪存储器24-1停止从CPU31供给的程序执行地址信号表示的地址的存储即事件追踪动作。另外,事件追踪控制电路23为了表示事件追踪存储器24-1的事件追踪动作的停止而设置关于事件追踪存储器24-1的停止标志。
事件追踪控制电路23将读出地址信号供给至事件追踪存储器24-1,按时间上从旧到新的顺序读出存储于事件追踪存储器24-1的k个地址数据,并将读出地址数据作为信号依次供给至ICE控制CPU20。由此,读出地址数据信号、即包含程序执行地址一致事件产生时的其前后的程序执行地址信号经由ICE控制CPU20被供给至PC调试器30,因此在PC调试器30的显示器显示该程序执行地址信号表示的地址的变化。
事件追踪控制电路23若结束从事件追踪存储器24-1读出地址数据,则将事件追踪地址信号再次供给至事件追踪存储器24-1。由此,事件追踪存储器24-1根据事件追踪地址信号重新开始将从CPU31供给的程序执行地址信号表示的地址存储于由事件追踪地址信号指定的存储位置。另外,事件追踪控制电路23复位关于事件追踪存储器24-1的停止标志。
在事件检测电路25中,如果检测出第二事件、即中断的产生,则将第二事件信号经由信号线26-2供给至事件追踪控制电路23。事件追踪控制电路23对ICE控制CPU20通知产生第二事件,并停止将事件追踪地址信号供给至事件追踪存储器24-2。由此,PC调试器30经由ICE控制CPU20被供给第二事件的产生通知,并将第二事件即中断事件的产生显示于显示器。通过停止将事件追踪地址信号供给至事件追踪存储器24-2的,事件追踪存储器24-2停止从CPU31供给的程序执行地址信号表示的地址的存储即事件追踪动作。另外,事件追踪控制电路23为了表示事件追踪存储器24-2的事件追踪动作的停止而设置关于事件追踪存储器24-2的停止标志。
事件追踪控制电路23将读出地址信号供给至事件追踪存储器24-2,按时间上从旧到新的顺序读出存储于事件追踪存储器24-2的k个地址数据,并将读出地址数据作为信号依次供给至ICE控制CPU20。由此,由于将读出地址数据信号、即包含中断事件产生时的其前后的程序执行地址信号经由ICE控制CPU20供给至PC调试器30,因此在PC调试器30的显示器显示该程序执行地址信号表示的地址的变化。
事件追踪控制电路23若结束从事件追踪存储器24-2读出地址数据,则将事件追踪地址信号再次供给至事件追踪存储器24-2。由此,事件追踪存储器24-2根据事件追踪地址信号重新开始将从CPU31供给的程序执行地址信号表示的地址存储于由事件追踪地址信号指定的存储位置。另外,事件追踪控制电路23复位关于事件追踪存储器24-2的停止标志。
在事件检测电路25中,如果检测出第三事件、即复位的产生,则将第三事件信号经由信号线26-3供给至事件追踪控制电路23。事件追踪控制电路23对ICE控制CPU20通知产生第三事件,并停止将事件追踪地址信号供给至事件追踪存储器24-3的。由此,PC调试器30经由ICE控制CPU20被供给第三事件的产生通知,并将第三事件即复位事件的产生显示于显示器。通过停止将事件追踪地址信号供给至事件追踪存储器24-3,事件追踪存储器24-3停止从CPU31供给的程序执行地址信号表示的地址的存储即事件追踪动作。另外,事件追踪控制电路23为了表示事件追踪存储器24-3的事件追踪动作的停止而设置关于事件追踪存储器24-3的停止标志。
事件追踪控制电路23将读出地址信号供给至事件追踪存储器24-3,按时间上从旧到新的顺序读出存储于事件追踪存储器24-3的k个地址数据,并将读出地址数据作为信号依次供给至ICE控制CPU20。由此,由于将读出地址数据信号、即包含复位事件产生时的其前后的程序执行地址信号经由ICE控制CPU20供给至PC调试器30,因此在PC调试器30的显示器显示该程序执行地址信号表示的地址的变化。
事件追踪控制电路23若结束从事件追踪存储器24-3读出地址数据,则将事件追踪地址信号再次供给至事件追踪存储器24-3。由此,事件追踪存储器24-3根据事件追踪地址信号重新开始将从CPU31供给的程序执行地址信号表示的地址存储于由事件追踪地址信号指定的存储位置。另外,事件追踪控制电路23复位关于事件追踪存储器24-3的停止标志。
在事件检测电路25中,如果检测出第四事件、即数据存储器33的写入或者读出目的地的地址与特定地址一致,则将第四事件信号经由信号线26-4供给至事件追踪控制电路23。事件追踪控制电路23对ICE控制CPU20通知产生第四事件,并停止将事件追踪地址信号供给至事件追踪存储器24-4。由此,PC调试器30经由ICE控制CPU20被供给第四事件的产生通知,并将第四事件即数据存储器的写入或者读出目的地的地址一致事件显示于显示器。通过停止将事件追踪地址信号供给至事件追踪存储器24-4,事件追踪存储器24-4停止从CPU31供给的程序执行地址信号表示的地址的存储即事件追踪动作。另外,事件追踪控制电路23为了表示事件追踪存储器24-4的事件追踪动作的停止而设置关于事件追踪存储器24-4的停止标志。
事件追踪控制电路23将读出地址信号供给至事件追踪存储器24-4,按时间上从旧到新的顺序读出存储于事件追踪存储器24-4的k个地址数据,并将读出地址数据作为信号依次供给至ICE控制CPU20。由此,由于将读出地址数据信号、即包含数据存储器的写入或者读出目的地的地址一致事件产生时的其前后的程序执行地址信号经由ICE控制CPU20供给至PC调试器30,因此在PC调试器30的显示器显示该程序执行地址信号表示的地址的变化。
事件追踪控制电路23若结束从事件追踪存储器24-4读出地址数据,则将事件追踪地址信号再次供给至事件追踪存储器24-4。由此,事件追踪存储器24-4根据事件追踪地址信号重新开始将从CPU31供给的程序执行地址信号表示的地址存储于由事件追踪地址信号指定的存储位置。另外,事件追踪控制电路23复位关于事件追踪存储器24-4的停止标志。
如上所述,在事件追踪存储器24-1~24-4各自的事件追踪动作的停止中,设置关于事件追踪存储器24-1~24-4各自的停止标志。例如,在设置关于事件追踪存储器24-1的停止标志后,如果检测出第一事件、即从程序执行地址信号检测出程序执行地址与特定地址一致,则通过关于事件追踪存储器24-1的停止标志的设置,从事件追踪存储器24-1~24-n中的事件追踪存储器24-1以外的事件追踪存储器进行地址数据的读出。例如,可以按照每个事件分配多个事件追踪存储器。如果对第一事件分配事件追踪存储器24-1和24-5,则也可以在事件追踪存储器24-1的事件追踪动作的停止中,产生新的第一事件的情况下从事件追踪存储器24-5进行地址数据的读出。这对于其它事件也是同样的。
这样,在实施例1的在线仿真器装置中,在CPU31执行程序中产生事件的情况下不会使CPU31的程序执行动作停止,能够取出包含该事件产生时的其前后的程序执行地址,因此能够在事件产生之后立即参照该程序执行地址的变化历史,由此,能够获得程序调试时的实时性。
【实施例2】
图2示出作为本发明的实施例2的在线仿真器装置的结构。在实施例2的在线仿真器装置中,从CPU31向数据存储器33的访问地址信号的供给线与实时追踪存储器22连接。向实时追踪存储器22供给CPU31输出的访问地址信号。另外,在CPU31与数据存储器33之间的写入/读出数据的供给线连接有事件追踪存储器24-1~24-n。向事件追踪存储器24-1~24-n供给CPU31输入输出的写入/读出数据作为信号。即,实时追踪存储器22的追踪对象是访问地址信号表示的地址,该地址指定数据存储器33的存储位置。事件追踪存储器24-1~24-n的追踪对象是写入/读出数据。在实施例2中,写入/读出数据是与CPU31执行程序一起变化的CPU31的输入输出参数值。
实时追踪存储器22每当被供给访问地址信号时便将访问地址信号表示的地址存储于由追踪存储器地址信号指定的存储位置。事件追踪存储器24-1~24-n各自将有关由访问地址信号指定的存储位置的写入/读出数据存储于由事件追踪地址信号指定的存储位置。在事件追踪存储器24-1~24-n的各事件追踪存储器中能够存储比实时追踪存储器22少的最近k个数据。这样,事件追踪存储器24-1~24-n各自的事件追踪动作是存储CPU31输入输出的写入/读出数据,这与实施例1不同。
在事件检测电路25中,若对检测出第一事件、即从程序执行地址信号检测出程序执行地址与特定地址一致的情况的动作进行说明,则将第一事件信号经由信号线26-1供给至事件追踪控制电路23。事件追踪控制电路23对ICE控制CPU20通知产生第一事件,并停止将事件追踪地址信号供给至事件追踪存储器24-1。由此,PC调试器30经由ICE控制CPU20被供给第一事件的产生通知,并将第一事件即程序执行地址一致的产生显示于显示器。通过停止将事件追踪地址信号供给至事件追踪存储器24-1,事件追踪存储器24-1停止写入/读出数据的存储即事件追踪动作。另外,事件追踪控制电路23为了表示事件追踪存储器24-1的事件追踪动作的停止而设置关于事件追踪存储器24-1的停止标志。
事件追踪控制电路23将读出地址信号供给至事件追踪存储器24-1,按时间上从旧到新的顺序读出存储于事件追踪存储器24-1的k个写入/读出数据,并将读出的写入/读出数据作为信号依次供给至ICE控制CPU20。由此,由于将读出的写入/读出数据、即包含程序执行地址一致事件产生时的其前后的写入/读出数据经由ICE控制CPU20供给至PC调试器30,因此在PC调试器30的显示器显示该写入/读出数据的变化。
事件追踪控制电路23若结束从事件追踪存储器24-1读出写入/读出数据,则将事件追踪地址信号再次供给至事件追踪存储器24-1。由此,事件追踪存储器24-1根据事件追踪地址信号重新开始将从CPU31或者数据存储器33供给的写入/读出数据存储于由事件追踪地址信号指定的存储位置。另外,事件追踪控制电路23复位关于事件追踪存储器24-1的停止标志。
对于其它第二~第四事件产生时,除了追踪写入/读出数据之外与实施例1相同,因此省略此处的说明。
这样,在实施例2的在线仿真器装置中,在CPU31执行程序中产生事件的情况下不会使CPU31的程序执行动作停止,能够取出包含该事件产生时的其前后的基于CPU31的对数据存储器33的写入数据或者从数据存储器33读出的读出数据,因此能够在事件的产生之后立即参照该写入/读出数据的变化历史,由此,能够获得程序调试时的实时性。
在上述的各实施例中,作为特定事件,示出程序执行地址与特定地址一致这样的程序执行地址一致事件、中断事件、复位事件以及数据存储器33的写入或者读出目的地的地址与特定地址一致这样的数据存储器地址一致事件,但本发明并不限定于这些事件。也可以获得包含CPU31生成特定运算结果这样的事件等其它事件产生时的其前后的程序执行地址、写入/读出数据的变化历史。
在实施例1中,在事件产生之后获得程序执行地址的变化历史,在实施例2中,在事件产生之后获得写入/读出数据的变化历史,但也可以在事件产生之后获得程序执行地址的变化历史以及写入/读出数据的变化历史的双方。
另外,作为在程序执行中CPU31输出的参数值,除了在实施例1中从CPU31向程序存储器32输出的程序执行地址信号表示的地址、在实施例2中CPU31对数据存储器33输入输出的写入/读出数据之外,例如,也可以是从CPU31为了驱动各种周边设备(未图示)而输出的端口号等数据。
Claims (7)
1.一种在线仿真器装置,其特征在于,包括:
CPU,执行程序,并输出或者输入输出伴随上述程序的执行而变化的参数值;
多个追踪存储器,依次存储上述CPU输出或者输入输出的上述参数值,形成上述参数值的变化历史;
事件检测电路,检测伴随上述CPU执行上述程序而产生的特定事件;以及
事件追踪控制电路,响应于由上述事件检测电路进行的上述特定事件检测而使上述多个追踪存储器中的任意一个追踪存储器的存储动作停止,从上述一个追踪存储器读出上述参数值的变化历史并输出。
2.根据权利要求1所述的在线仿真器装置,其特征在于,
在从由上述事件检测电路进行的上述特定事件检测经过预先决定的延迟后,上述事件追踪控制电路使上述一个追踪存储器的存储动作停止。
3.根据权利要求1或2所述的在线仿真器装置,其特征在于,
上述事件追踪控制电路在从上述一个追踪存储器读出上述参数值的变化历史之后,重新开始上述一个追踪存储器的存储动作。
4.根据权利要求1~3中任意一项所述的在线仿真器装置,其特征在于,
上述事件追踪控制电路响应于上述一个追踪存储器的存储动作的停止中的由上述事件检测电路进行的上述特定事件检测,而使上述多个追踪存储器中的除了上述一个追踪存储器之外的其它追踪存储器的存储动作停止,从上述其它追踪存储器读出上述参数值的变化历史并输出。
5.根据权利要求1~4中任意一项所述的在线仿真器装置,其特征在于,
包含存储上述程序的程序存储器,
上述参数值是上述CPU输出的程序执行地址信号表示的上述程序存储器的存储位置的地址。
6.根据权利要求1~4中任意一项所述的在线仿真器装置,其特征在于,
包含存储数据的数据存储器,
上述参数值是上述CPU对上述数据存储器输入输出的写入/读出数据。
7.根据权利要求1~4中任意一项所述的在线仿真器装置,其特征在于,
上述特定事件是上述CPU输出的程序执行地址信号表示的地址与第一特定地址一致、上述程序的执行中的中断、上述程序的执行中的复位、以及上述CPU输出的访问地址信号表示的地址与第二特定地址一致中的至少一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022-059027 | 2022-03-31 | ||
JP2022059027A JP2023150108A (ja) | 2022-03-31 | 2022-03-31 | インサーキットエミュレータ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116893874A true CN116893874A (zh) | 2023-10-17 |
Family
ID=88194404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310326995.XA Pending CN116893874A (zh) | 2022-03-31 | 2023-03-30 | 在线仿真器装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230315612A1 (zh) |
JP (1) | JP2023150108A (zh) |
CN (1) | CN116893874A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118227408A (zh) * | 2024-02-04 | 2024-06-21 | 上海聪链信息科技有限公司 | 基于cpu的数据追踪方法、装置及电子终端 |
-
2022
- 2022-03-31 JP JP2022059027A patent/JP2023150108A/ja active Pending
-
2023
- 2023-03-29 US US18/192,530 patent/US20230315612A1/en active Pending
- 2023-03-30 CN CN202310326995.XA patent/CN116893874A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118227408A (zh) * | 2024-02-04 | 2024-06-21 | 上海聪链信息科技有限公司 | 基于cpu的数据追踪方法、装置及电子终端 |
CN118227408B (zh) * | 2024-02-04 | 2024-10-11 | 上海聪链信息科技有限公司 | 基于cpu的数据追踪方法、装置及电子终端 |
Also Published As
Publication number | Publication date |
---|---|
US20230315612A1 (en) | 2023-10-05 |
JP2023150108A (ja) | 2023-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6467083B1 (en) | Debugging system for computer program, method for checking target program and information storage medium for storing checking program | |
US5159671A (en) | Data transfer unit for small computer system with simultaneous transfer to two memories and error detection and rewrite to substitute address | |
US5935006A (en) | Debug apparatus and method for debugging game program in ROM cartridge | |
EP0897151A1 (en) | Device and method for debugging systems controlled by microprocessors | |
US20060010282A1 (en) | Method and apparatus to boot a system by monitoring an operating status of a NAND flash memory | |
US5218525A (en) | Method and apparatus for partially running a sequence program for debugging thereof | |
US20080016415A1 (en) | Evaluation system and method | |
TWI759719B (zh) | 快閃記憶體控制器及用於快閃記憶體控制器的方法 | |
CN116893874A (zh) | 在线仿真器装置 | |
US4231089A (en) | Data processing system with apparatus for correcting microinstruction errors | |
US20010027387A1 (en) | Debugging supporting apparatus, debugging supporting method and recording medium readable by computer with its programs recorded thereon | |
EP1906309A2 (en) | Information processing apparatus, control apparatus therefor, control method therefor and control program | |
JP3376306B2 (ja) | データ処理装置、そのデータ処理方法 | |
KR940001146B1 (ko) | 정보 처리 장치의 비교 체크 기능 검사를 위한 시스템 | |
US5930470A (en) | Debugging system and debugging method | |
US20050060690A1 (en) | Microprocessor system with software emulation processed by auxiliary hardware | |
US5816922A (en) | Game apparatus and method for debugging game program | |
US20010051866A1 (en) | Tracing circuit, tracing method and record medium for operation monitoring device | |
JP2007058450A (ja) | 半導体集積回路 | |
CN116893875A (zh) | 在线仿真器装置 | |
EP3557422A1 (en) | Method for accessing code sram, and electronic device | |
US20240168861A1 (en) | Semiconductor chip, debug system, and synchronization method | |
KR950001057B1 (ko) | 마이크로 프로세서(micro processor) | |
JP2000284985A (ja) | デバッグシステム及び情報記憶媒体 | |
JPH11219293A (ja) | アドレストレース方法及びトレーサメモリ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |