JP5906789B2 - Message output control device and message output control method - Google Patents

Message output control device and message output control method Download PDF

Info

Publication number
JP5906789B2
JP5906789B2 JP2012033353A JP2012033353A JP5906789B2 JP 5906789 B2 JP5906789 B2 JP 5906789B2 JP 2012033353 A JP2012033353 A JP 2012033353A JP 2012033353 A JP2012033353 A JP 2012033353A JP 5906789 B2 JP5906789 B2 JP 5906789B2
Authority
JP
Japan
Prior art keywords
register
output
message
file
function
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
JP2012033353A
Other languages
Japanese (ja)
Other versions
JP2013171345A (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.)
Socionext Inc
Original Assignee
Socionext Inc
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 Socionext Inc filed Critical Socionext Inc
Priority to JP2012033353A priority Critical patent/JP5906789B2/en
Publication of JP2013171345A publication Critical patent/JP2013171345A/en
Application granted granted Critical
Publication of JP5906789B2 publication Critical patent/JP5906789B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、通信系IP(Intellectual Property)マクロのドライバソフトウェアでのデバッグの際のメッセージ出力を制御することに関する。   The present invention relates to controlling message output during debugging with driver software of a communication IP (Intellectual Property) macro.

従来より、通信系IPマクロのドライバソフトウェアの開発に当たっては、そのデバッグの際に標準的なソフトウェアのデバッグ用ツールであるデバッガソフトウェアが利用できない。デバッガでは、動作速度が実際の通信系IPの標準的な速度と比較し著しく遅いため、利用すると通信相手側がタイムアウトエラーを発生してしまい、本来動作確認すべき状態にすることができないためである。従って、通信系IPマクロのデバッグでは、主に、通信系IPマクロを検証するためのドライバソフトウェアから、通信系IPマクロの動作中に出力されたメッセージ(ログメッセージ)を記憶領域に保持しておき、動作終了後に、開発者が出力されたメッセージを見て検証している。   Conventionally, when developing driver software for communication IP macros, debugger software, which is a standard software debugging tool, cannot be used for debugging. This is because in the debugger, the operation speed is significantly slower than the standard speed of the actual communication system IP, and if used, the communication partner will generate a time-out error and the original operation check state cannot be made. . Therefore, in communication IP macro debugging, messages (log messages) output during operation of the communication IP macro from the driver software for verifying the communication IP macro are mainly stored in the storage area. After the operation is finished, the developer checks the output message and verifies it.

そのため、例えば、ソフトウェアの命令の実行中、デバイスメッセージを定期的にアクノリッジデバイスに書き込むこと等が提案されている。   Therefore, for example, it has been proposed to periodically write a device message to the acknowledge device during execution of software instructions.

特開2010−044747号公報JP 2010-044747 A

しかしながら、上記従来技術では、通信系IPマクロのレジスタの値などをファイルやコンソールなどの出力装置に出力させていることが可能であるが、異なる通信規格を実装するなどIPマクロの動作が複雑化しつつあるため、レジスタの数も増大していること等の状況において、全てのレジスタの値を常時出力する仕組みはデバッグを効果的に行うためには現実的ではない。   However, in the above prior art, it is possible to output the register value of the communication system IP macro to an output device such as a file or a console, but the operation of the IP macro becomes complicated by mounting different communication standards. Therefore, in a situation where the number of registers is increasing, a mechanism for always outputting the values of all the registers is not practical for effective debugging.

一方で、必要なレジスタの値のみを出力する仕組みをドライバソフトウェアにデバッグ用途として組み込むことは可能ではある。実際に、開発者は、その仕組みをドライバソフトウェアに組み込む作業を繰り返し実施してはいるが、このような開発者による作業では、次の問題がある。   On the other hand, it is possible to incorporate a mechanism for outputting only the necessary register values into the driver software for debugging purposes. Actually, the developer repeatedly performs the work of incorporating the mechanism into the driver software, but such work by the developer has the following problems.

(1)必要なレジスタを適宜判断して、その値を取得する仕組みをドライバソフトウェアに組み込んでコンパイルし、ターゲット装置で走行させ、メッセージを取得して解析することを行う。この場合、デバッグの段階に応じて検証対象のレジスタが異なるため、デバッグの段階毎にドライバソフトウェアを変更するのは煩雑である。また、レジスタ数が増加すると、その変更時に本来は消したり、変更してはならないコードを誤って修正してしまうことがある。誤った修正によって新たなバグが作りこまれてしまい、本来のデバッグ作業に加えて更に負担を増やしてしまうといった問題があった。   (1) A necessary register is appropriately determined, and a mechanism for acquiring the value is compiled into the driver software, compiled, run on the target device, and a message is acquired and analyzed. In this case, since the register to be verified differs depending on the debug stage, it is complicated to change the driver software for each debug stage. In addition, when the number of registers increases, a code that should not be changed when it is changed may be erroneously corrected. There was a problem that new bugs were created by incorrect corrections, which increased the burden in addition to the original debugging work.

(2)一方で、一旦出力させたメッセージをそのまま消さないでいることも、解析性を阻害するために現実的ではない。   (2) On the other hand, it is not realistic to delete the once output message as it is because it impedes analysis.

(3)また、デバッグ専用のメッセージであるため最終的には消去は必要であるにも関わらず、メッセージ出力の記載箇所が増加すれば、その削除を忘れる可能性も高くなる。このようなデバッグ用メッセージの消し忘れによって、実際の製品で不用意にメッセージが出力されてしまう可能性がある。   (3) In addition, since it is a message dedicated to debugging, it is ultimately necessary to delete the message, but if the number of message output descriptions increases, there is a high possibility that the message will be forgotten to be deleted. If you forget to delete the debug message, the actual product may inadvertently output the message.

開示のメッセージ出力制御装置は、ソースコードと、メッセージ出力対象となるレジスタを指定した埋め込み指示ファイルとを記憶した記憶部と、前記ソースコードの、前記記憶部に記憶された前記埋め込み指示ファイルよって指定される前記レジスタへアクセスする記述を、出力期間の間、該レジスタの値を含むメッセージを出力装置に出力する記述を含む置き換え内容で置き換えて、該内容で置き換えられた該ソースコードから実行形式のバイナリファイルを前記記憶部に作成する作成部とを有する。 Message output control apparatus disclosed includes a source code, a storage unit that stores an embedded instruction to the specified file register to be message output target, the source code, depending on the embedding instruction file stored in the storage unit The description for accessing the specified register is replaced with the replacement content including the description for outputting the message including the value of the register to the output device during the output period, and the execution format is executed from the source code replaced with the content. A creating unit for creating the binary file in the storage unit.

また、上記課題を解決するための手段として、コンピュータによって実行されるメッセージ出力制御方法、及び、コンピュータに上記メッセージ出力制御装置として機能させるためのプログラムとすることもできる。   Further, as means for solving the above-described problems, a message output control method executed by a computer and a program for causing a computer to function as the message output control device can be used.

開示の技術では、通信系IPマクロのドライバソフトウェアでのデバッグの際のメッセージ出力を制御することができる。   With the disclosed technology, it is possible to control message output during debugging with the driver software of the communication IP macro.

第1実施例に係るデバッグシステムの構成例を示す図である。It is a figure which shows the structural example of the debug system which concerns on 1st Example. ホスト装置のハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of a host apparatus. 通信プロトコルの階層と機能との対応関係を示す図である。It is a figure which shows the correspondence of the hierarchy of a communication protocol, and a function. 埋め込み指示ファイルの形式例を示す図である。It is a figure which shows the example of a format of an embedding instruction | indication file. 開発者による処理の流れを説明するための図である。It is a figure for demonstrating the flow of a process by a developer. 変換プログラムを実行するホストCPUによるバイナリファイルの作成処理の一例を説明するための図である。It is a figure for demonstrating an example of the creation process of the binary file by the host CPU which performs the conversion program. ステップS114におけるソースコード解析処理を説明するための図である。It is a figure for demonstrating the source code analysis process in step S114. 変換プログラムを実行するホストCPUによるバイナリファイルの作成処理の他の例を説明するための図である。It is a figure for demonstrating the other example of the creation process of the binary file by the host CPU which performs the conversion program. ステップS134におけるアセンブラコード解析処理を説明するための図である。It is a figure for demonstrating the assembler code analysis process in step S134. 埋め込み指示構造体の例を示す図である。It is a figure which shows the example of an embedding instruction | indication structure. 変換プログラムを実行するホストCPUによる構造体作成処理を説明するための図である。It is a figure for demonstrating the structure creation process by the host CPU which performs the conversion program. 機能出力状態保存領域の例を示す図である。It is a figure which shows the example of a function output state preservation | save area | region. 各機能出力状態保存領域の構成例を示す図である。It is a figure which shows the structural example of each function output state preservation | save area | region. IPマクロへのレジスタアクセス命令が実行する処理を説明するための図である。It is a figure for demonstrating the process which the register access instruction to an IP macro performs. タイマー割込ハンドラのサブプログラムによる処理を説明するための図である。It is a figure for demonstrating the process by the subprogram of a timer interruption handler. メッセージの出力例を示す図である。It is a figure which shows the example of an output of a message. 検証時の通信例を示す図である。It is a figure which shows the example of communication at the time of verification. メッセージの出力量の違いを説明するための図である。It is a figure for demonstrating the difference in the output amount of a message. 第1実施例に係るデバッグシステムの他の構成例を示す図である。It is a figure which shows the other structural example of the debugging system which concerns on 1st Example. 図19のデバッグシステムにおける開発者による処理の流れを説明するための図である。It is a figure for demonstrating the flow of a process by the developer in the debugging system of FIG. 第2実施例に係るデバッグシステムの構成例を示す図である。It is a figure which shows the structural example of the debug system which concerns on 2nd Example. 実行可能形式作成処理を説明するための図である。It is a figure for demonstrating the executable format creation process. 適用することによって解消可能な問題点の例を説明するための図である。It is a figure for demonstrating the example of the problem which can be eliminated by applying.

以下、本発明の実施の形態を図面に基づいて説明する。本実施例では、通信系IPマクロの下記の特徴を利用することにある。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In this embodiment, the following features of the communication IP macro are used.

(1)通信系IPマクロがサポートする機能は、ほぼ対向側(通信相手先)とのやりとりの結果、状態変化が発生する。   (1) The function supported by the communication system IP macro undergoes a state change as a result of the exchange with the opposite side (communication partner).

(2)状態変化が発生した場合、その影響はその機能に応じて一定時間内で収束し、一定時間後は、次の状態変化が対向側とのやり取りの結果、再度発生するまでは、状態変化が起きない。   (2) When a state change occurs, the effect converges within a certain time according to the function, and after a certain time, until the next state change occurs again as a result of the exchange with the opposite side, There is no change.

(3)通信系IPマクロはそのサポートする機能毎にレジスタが分類されていることが殆どであり、共通している機能は極少数である。   (3) In the communication IP macro, the registers are classified for each function supported, and there are very few functions in common.

ここでは、USB(Universal Serial Bus)の機能(「USB Function」)のIPマクロを利用して説明するが、本実施例は、USB規格のIPマクロに限定するものではなく、他の通信系IPマクロ(SATA(Serial Advanced Technology Attachment)、PCI−Express、Ethernet(登録商標)など)にも適用が可能である。   Here, description will be made using an IP macro of a USB (Universal Serial Bus) function (“USB Function”). However, this embodiment is not limited to the USB standard IP macro, but other communication system IPs. The present invention can also be applied to macros (SATA (Serial Advanced Technology Attachment), PCI-Express, Ethernet (registered trademark), etc.).

「USB Function」には、
(機能A)USB Bus制御
(機能B)Endpoint管理:Default-Endpoint(Endpoint#0)への制御データ転送
(機能C)Bulkなどのデータ転送(バルクデータ転送)
を主に含む。機能A、機能B、及び機能Cを実現するためのレジスタはそれぞれ複数あるが、本実施例では、下記のレジスタの値の状態変化の確認と、制御を実行する。実際のIPマクロでは、システム上のCPUへの割り込み通知用途などで、更に多くのレジスタが必要であるが、ここでは省略する。
“USB Function”
(Function A) USB Bus control (Function B) Endpoint management: Control data transfer to Default-Endpoint (Endpoint # 0) (Function C) Data transfer such as Bulk (bulk data transfer)
Including mainly. Although there are a plurality of registers for realizing the function A, the function B, and the function C, in this embodiment, confirmation of state changes of the following register values and control are executed. An actual IP macro requires more registers for interrupt notification to the CPU on the system, but is omitted here.

上記機能Aの検証では、状態変化を確認するための状態レジスタ「USB_S」と、状態を制御するための制御レジスタ「USB_C」とを対象とする。   In the verification of the function A, the state register “USB_S” for confirming the state change and the control register “USB_C” for controlling the state are targeted.

上記機能Bの検証では、状態変化を確認するための状態レジスタ「EP0_S」と、状態を制御するための制御レジスタ「EP0_C」とを対象とする。   In the verification of the function B, the state register “EP0_S” for confirming the state change and the control register “EP0_C” for controlling the state are targeted.

上記機能Cの検証では、状態変化を確認するための状態レジスタ「EP1_S」と、状態を制御するための制御レジスタ「EP1_C」)とを対象とする。   In the verification of the function C, the state register “EP1_S” for confirming the state change and the control register “EP1_C” for controlling the state are targeted.

以下、上記機能BのDefault-Endpointへの制御データ転送に着目して説明する。制御データ転送では、ドライバソフトウェアは、下記手順を実行する。
(B−1)制御データ転送の発生の有無を状態レジスタ「EP0_S」で確認する。
(B−2)上記(B−1)で制御データ転送が発生していれば、制御データのパケットサイズをチェックして、状態レジスタ「EP0_S」から転送種別を読み出す。
Hereinafter, description will be given focusing on control data transfer to Default-Endpoint of function B. In the control data transfer, the driver software executes the following procedure.
(B-1) The status register “EP0_S” confirms whether or not control data transfer has occurred.
(B-2) If control data transfer has occurred in (B-1) above, the packet size of the control data is checked, and the transfer type is read from the status register “EP0_S”.

そして、
(B−3)読み出し完了フラグを制御レジスタ「EP0_C」に設定する。
(B−4)上記(B−2)で読み出した転送種別に応じて制御レジスタに対向側に返すべきパケットのデータ値を必要な回数(バイト数)を設定する。
(B−5)状態レジスタ「EP0_S」を確認し、制御レジスタ「EP0_C」に設定した値(返送パケット)が全て設定し終わったことを書き込む。
And
(B-3) A read completion flag is set in the control register “EP0_C”.
(B-4) A required number of data (bytes) is set to the data value of the packet to be returned to the opposite side in the control register according to the transfer type read in (B-2) above.
(B-5) Check the status register “EP0_S” and write that all values (return packets) set in the control register “EP0_C” have been set.

次に、
(B−6)対向側からの受領確認パケットの到着を状態レジスタ「EP0_C」で確認する。到着するまで、確認を継続する。
(B−7)受領確認パケットの到着を確認したら、その内容を状態レジスタ「EP0_C」から読み出し、読み出し完了フラグを制御レジスタ「EP0_C」に設定する。
next,
(B-6) The arrival of the receipt confirmation packet from the opposite side is confirmed by the status register “EP0_C”. Continue checking until it arrives.
(B-7) Upon confirming the arrival of the receipt confirmation packet, the contents are read from the status register “EP0_C”, and the read completion flag is set in the control register “EP0_C”.

ドライバソフトウェア内において上述した手順(B−1)から手順(B−7)のフローを実現する部分でのデバッグの際、手順(B−3)の設定以降にて、機能(B)の各レジスタの内容が手順(B−7)の完了までの期間あれば、有益なデバッグとなりえる。手順(B−3)よりも前、又は、手順(B−7)以降の状態レジスタ「EP0_C」及び制御レジスタ「EP0_C」の値については、特にデバッグに必要な値とはなり得ない。   Each register of the function (B) after the setting of the procedure (B-3) at the time of debugging in the part realizing the flow of the procedure (B-1) to the procedure (B-7) in the driver software If the contents of the period until the completion of the procedure (B-7), it can be useful debugging. The values of the status register “EP0_C” and the control register “EP0_C” before the procedure (B-3) or after the procedure (B-7) cannot be particularly required for debugging.

そこで、手順(B−3)から手順(B−7)の期間の機能(B)に関連する状態レジスタ「EP0_C」及び制御レジスタ「EP0_C」の値のみが逐次出力されれば、必要な情報が全て得られ、かつ、不要な情報の出力を抑制することができる。   Therefore, if only the values of the status register “EP0_C” and the control register “EP0_C” related to the function (B) in the period from the procedure (B-3) to the procedure (B-7) are sequentially output, the necessary information is obtained. All obtained and unnecessary output can be suppressed.

手順(B−3)の開始の判定については、機能(B)に関連する状態レジスタ「EP0_C」及び制御レジスタ「EP0_C」への書き込みで判断することができる。   The determination of the start of the procedure (B-3) can be made by writing to the status register “EP0_C” and the control register “EP0_C” related to the function (B).

出力の停止条件については、手順(B−7)後に停止されるのであればよいことになる。しかし、必ずしも手順(B−7)の判定が他のレジスタへの書き込み動作の区別を行うことは不可能ではないが、煩雑となる。複雑な判定ロジックを組み込めば、それだけ新たに問題が発生する可能性がある。   As for the output stop condition, it is sufficient if the output is stopped after the procedure (B-7). However, although it is not necessarily impossible for the determination of the procedure (B-7) to distinguish between write operations to other registers, it becomes complicated. If complicated judgment logic is incorporated, a new problem may occur.

通信系のプロトコルでは、通常、応答時間に上限が定められており、それ以降の情報は不要にすることが可能である。手順(B−3)からその応答時間以内のレジスタの値の出力があれば良いことになる。例えば、複数の通信手順があるため、その規格で定められた時間のN倍(所定倍の時間)に設定する。所定倍(N倍)の時間は、規格に基づいて定めることが可能な時間長以内とする。   In communication protocols, there is usually an upper limit on response time, and subsequent information can be made unnecessary. It suffices if there is an output of the register value within the response time from the procedure (B-3). For example, since there are a plurality of communication procedures, it is set to N times (predetermined times) the time determined by the standard. The predetermined multiple (N times) time is within a time length that can be determined based on the standard.

上述したようなメッセージ(ログメッセージ)の出力制御を実現するための構成について、以下に説明する。   A configuration for realizing output control of the message (log message) as described above will be described below.

図1は、第1実施例に係るデバッグシステムの構成例を示す図である。図1に例示されるデバッグシステム101は、ホスト装置10と、ICE(In-Circuit Emulator)装置224と、ターゲット装置30とを有する。デバッグシステム101は、メッセージ出力制御装置に相当する。   FIG. 1 is a diagram illustrating a configuration example of a debugging system according to the first embodiment. The debug system 101 illustrated in FIG. 1 includes a host device 10, an ICE (In-Circuit Emulator) device 224, and a target device 30. The debug system 101 corresponds to a message output control device.

ホスト装置10は、ICE装置224に接続され、ICE装置224を制御して、ターゲット装置30の検証を行なうホストコンピュータである。ホスト装置10は、後述される図2に示されるハードウェア構成を有する。   The host device 10 is a host computer that is connected to the ICE device 224 and controls the ICE device 224 to verify the target device 30. The host device 10 has a hardware configuration shown in FIG.

ホスト装置10は、ホストCPU11によって制御され、記憶領域221と222とを有する。記憶領域221は、ホストCPU11が処理を実行するために用いられる記憶領域であり、例えば、ホストCPU11が埋め込み(クロス)コンパイラ及びリンカプログラムを実行する際に使用される。記憶領域222は、プログラムのソースコード、第1実施例に係る埋め込み指示ファイル、バイナリファイル等を格納する記憶領域である。   The host device 10 is controlled by the host CPU 11 and has storage areas 221 and 222. The storage area 221 is a storage area used for the host CPU 11 to execute processing, and is used, for example, when the host CPU 11 executes an embedded (cross) compiler and a linker program. The storage area 222 is a storage area for storing a program source code, an embedding instruction file according to the first embodiment, a binary file, and the like.

後述される図2に示すハードウェア構成において、記憶領域221は、RAM(Random Access Memory)等を有する主記憶装置12の記憶領域に相当し、記憶領域222は、ハードディスクデバイス等を有する補助記憶装置13に相当する。ホストCPU11と、記憶領域221と、記憶領域222とは、バス223で接続される。   In the hardware configuration shown in FIG. 2 described later, the storage area 221 corresponds to a storage area of the main storage device 12 having a RAM (Random Access Memory) or the like, and the storage area 222 is an auxiliary storage device having a hard disk device or the like. It corresponds to 13. The host CPU 11, the storage area 221, and the storage area 222 are connected by a bus 223.

記憶領域222には、ソースコード200と、埋め込み指示ファイル202と、バイナリファイル210と、変換プログラム220とが記憶される。ソースコード200は、IPマクロ212を制御するプログラム(ドライバソフトウェア)のソースコードである。埋め込み指示ファイル202は、マクロ毎に、IPマクロ仕様・規格書202に基づいて作成され、所定レジスタを監視してその値を含むメッセージを出力するためのコードを含むデータファイルである。   The storage area 222 stores the source code 200, the embedding instruction file 202, the binary file 210, and the conversion program 220. The source code 200 is a source code of a program (driver software) that controls the IP macro 212. The embedding instruction file 202 is a data file that is created for each macro based on the IP macro specification / standard document 202 and includes a code for monitoring a predetermined register and outputting a message including the value.

バイナリファイル210は、実行可能形式のバイナリファイルであり、埋め込み指示ファイル202に従って、検証対象の機能に関するレジスタのうち、指定されたレジスタのみメッセージ出力させるようにしたバイナリファイル210である。   The binary file 210 is an executable format binary file, and is a binary file 210 that causes a message to be output only for a specified register among the registers related to the function to be verified in accordance with the embedding instruction file 202.

変換プログラム220は、埋め込み指示ファイル202と、プログラムのソースコード200とを入力して、実行形式のプログラム(バイナリファイル210)を出力する埋め込み(クロス)コンパイラ及びリンカプログラムである。変換プログラム220がホストCPU11によって実行されて実現する処理部が、バイナリファイル210を作成する作成部に相当する。   The conversion program 220 is an embedded (cross) compiler and linker program that inputs the embedding instruction file 202 and the source code 200 of the program and outputs an executable program (binary file 210). A processing unit realized by executing the conversion program 220 by the host CPU 11 corresponds to a creation unit that creates the binary file 210.

IPマクロ仕様・規格書201は、データファイルの場合は、記憶領域222に格納されていても良い。   In the case of a data file, the IP macro specification / standard document 201 may be stored in the storage area 222.

ICE装置222は、ソフトウェアとハードウェアの検証を行なうための装置であり、ホストCPU11によって実行される制御プログラムの指示に従ってバイナリファイル210をターゲット装置30の記憶領域214に転送して、ターゲット装置30のターゲットCPU211にバイナリファイル210の内容に従って動作させる装置である。   The ICE device 222 is a device for verifying software and hardware, and transfers the binary file 210 to the storage area 214 of the target device 30 in accordance with an instruction of a control program executed by the host CPU 11 to This is a device that causes the target CPU 211 to operate according to the contents of the binary file 210.

ターゲット装置30は、ターゲットCPU211と、IPマクロ212と、接続先デバイス213と、記憶領域214と、メッセージ出力装置217と、タイマーモジュール218とを有する。   The target device 30 includes a target CPU 211, an IP macro 212, a connection destination device 213, a storage area 214, a message output device 217, and a timer module 218.

ターゲットCPU211は、実行可能形式のプログラムを走行させるCPUである。IPマクロ212は、通信制御を行う機能部分に相当し、ターゲットCPU211に接続される。接続先デバイス213は、IPマクロ212に接続され通信を行う装置である。記憶領域214は、ターゲットCPU211で実行するプログラムを格納する記憶領域であり、例えば、RAM等のメモリ装置である。   The target CPU 211 is a CPU that runs an executable program. The IP macro 212 corresponds to a functional part that performs communication control, and is connected to the target CPU 211. The connection destination device 213 is an apparatus that is connected to the IP macro 212 and performs communication. The storage area 214 is a storage area for storing a program executed by the target CPU 211, and is a memory device such as a RAM.

メッセージ出力装置217は、プログラム実行中の指示によりメッセージを出力する装置であり、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)等の表示部を有する。タイマーモジュール218は、メッセージの出力判定に利用されるタイマー機能である。   The message output device 217 is a device that outputs a message in response to an instruction during program execution, and includes a display unit such as a CRT (Cathode Ray Tube) or an LCD (Liquid Crystal Display). The timer module 218 is a timer function used for message output determination.

ターゲットCPU211と、IPマクロ212と、記憶領域214と、メッセージ出力装置217と、タイマーモジュール218とは、バス215で接続される。また、接続先デバイス213は、バス216によってIPマクロ212に接続される。   The target CPU 211, the IP macro 212, the storage area 214, the message output device 217, and the timer module 218 are connected by a bus 215. The connection destination device 213 is connected to the IP macro 212 via the bus 216.

第1実施例に係るホスト装置10は、図2に示すようなハードウェア構成を有する。図2は、ホスト装置のハードウェア構成を示す図である。図2において、ホスト装置10は、コンピュータによって制御される端末であって、ホストCPU(Central Processing Unit)11と、主記憶装置12と、補助記憶装置13と、入力装置14と、表示装置15と、ドライブ18とを有し、バスBに接続される。   The host device 10 according to the first embodiment has a hardware configuration as shown in FIG. FIG. 2 is a diagram illustrating a hardware configuration of the host device. In FIG. 2, a host device 10 is a terminal controlled by a computer, and includes a host CPU (Central Processing Unit) 11, a main storage device 12, an auxiliary storage device 13, an input device 14, and a display device 15. , Drive 18 and connected to bus B.

ホストCPU11は、主記憶装置12に格納された制御プログラムに従ってホスト装置10を制御すると共に、ICE装置224にターゲット装置30を検証するための指示を行なう。主記憶装置12には、例えば、RAM(Random Access Memory)等が用いられ、ホストCPU11にて実行される制御プログラム、ホストCPU11での処理に必要なデータ、ホストCPU11での処理にて得られたデータ等を格納する。また、主記憶装置12の一部の領域が、ホストCPU11での処理に利用されるワークエリアとして割り付けられている。   The host CPU 11 controls the host device 10 according to the control program stored in the main storage device 12 and instructs the ICE device 224 to verify the target device 30. For example, a RAM (Random Access Memory) or the like is used as the main storage device 12 and is obtained by a control program executed by the host CPU 11, data necessary for processing by the host CPU 11, and processing by the host CPU 11. Stores data etc. A part of the main storage device 12 is allocated as a work area used for processing in the host CPU 11.

補助記憶装置13には、例えば、ハードディスクドライブが用いられ、各種処理を実行するためのプログラム等のデータを格納する。補助記憶装置13に格納されているプログラムの一部が主記憶装置12にロードされ、ホストCPU11に実行されることによって、各種処理が実現される。記憶部130は、主記憶装置12と補助記憶装置13とを有する。   For example, a hard disk drive is used as the auxiliary storage device 13 and stores data such as programs for executing various processes. A part of the program stored in the auxiliary storage device 13 is loaded into the main storage device 12 and executed by the host CPU 11 to realize various processes. The storage unit 130 includes a main storage device 12 and an auxiliary storage device 13.

入力装置14は、マウス、キーボード等を有し、ユーザがホスト装置10による処理に必要な各種情報を入力するために用いられる。表示装置15は、ホストCPU11の制御のもとに必要な各種情報を表示する。   The input device 14 includes a mouse, a keyboard, and the like, and is used for a user to input various information necessary for processing by the host device 10. The display device 15 displays various information required under the control of the host CPU 11.

ホスト装置10によって行われる処理を実現する制御プログラムは、例えば、CD−ROM(Compact Disc Read-Only Memory)等の記憶媒体19によってホスト装置10に提供される。即ち、プログラムが保存された記憶媒体19がドライブ18にセットされると、ドライブ18が記憶媒体19からプログラムを読み出し、その読み出されたプログラムがバスBを介して補助記憶装置13にインストールされる。そして、プログラムが起動されると、補助記憶装置13にインストールされたプログラムに従ってホストCPU11がその処理を開始する。尚、プログラムを格納する媒体としてCD−ROMに限定するものではなく、コンピュータが読み取り可能な媒体であればよい。コンピュータ読取可能な記憶媒体として、CD−ROMの他に、DVDディスク、USBメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリであっても良い。   A control program for realizing the processing performed by the host device 10 is provided to the host device 10 by a storage medium 19 such as a CD-ROM (Compact Disc Read-Only Memory). That is, when the storage medium 19 storing the program is set in the drive 18, the drive 18 reads the program from the storage medium 19, and the read program is installed in the auxiliary storage device 13 via the bus B. . When the program is started, the host CPU 11 starts its processing according to the program installed in the auxiliary storage device 13. The medium for storing the program is not limited to a CD-ROM, and any medium that can be read by a computer may be used. As a computer-readable storage medium, in addition to a CD-ROM, a portable recording medium such as a DVD disk or a USB memory, or a semiconductor memory such as a flash memory may be used.

また、ホスト装置10によって行われる処理を実現する制御プログラムが、通信I/F17を介して外部装置から提供されてもよい。或いは、外部装置へ該プログラムを提供し、後述される各処理は外部装置で実現されるように構成してもよい。通信I/F17による通信は無線又は有線に限定されるものではない。   In addition, a control program that implements processing performed by the host device 10 may be provided from an external device via the communication I / F 17. Alternatively, the program may be provided to an external device, and each process described below may be realized by the external device. Communication by the communication I / F 17 is not limited to wireless or wired.

USB通信を例にして、通信プロトコルの階層と、上述したUSBの機能(A)〜(C)との対応について説明する。図3は、通信プロトコルの階層と機能との対応関係を示す図である。図3において、USB通信プロトコル階層2は、IPマクロ仕様・規格書201によって定義され、下層から順に、USB Bus状態、USB EndPoint制御、USB Class制御、上位層を含む。また、各層での処理もIPマクロ仕様・規格書201によって示される。   Taking USB communication as an example, the correspondence between the communication protocol hierarchy and the USB functions (A) to (C) described above will be described. FIG. 3 is a diagram illustrating a correspondence relationship between communication protocol layers and functions. In FIG. 3, the USB communication protocol layer 2 is defined by the IP macro specification / standard document 201, and includes a USB Bus state, USB EndPoint control, USB Class control, and an upper layer in order from the lower layer. Further, the processing in each layer is also indicated by the IP macro specification / standard document 201.

USB通信プロトコル階層2において、USB Bus状態の層は機能A(USB Bus制御)に相当し、USB EndPoint制御の層は機能B(USB EndPoint制御(EndPoint管理))に相当する。USB Class制御の層と、上位層とは、機能C(USB EndPoint制御(データ転送))に相当する。   In the USB communication protocol layer 2, the USB Bus state layer corresponds to function A (USB Bus control), and the USB EndPoint control layer corresponds to function B (USB EndPoint control (EndPoint management)). The USB class control layer and the upper layer correspond to function C (USB EndPoint control (data transfer)).

次に、埋め込み指示ファイル202の形式について説明する。図4は、埋め込み指示ファイルの形式例を示す図である。図4(A)において、マクロ毎に作成される埋め込み指示ファイル202は、機能種別毎、つまり、機能毎に、対象となるレジスタを指定した、メッセージ出力に関する制御コード4が作成される。各制御コード4によって、機能名4a、メッセージ出力条件式4b、対象となるレジスタ毎のレジスタ情報4cとが示される。   Next, the format of the embedding instruction file 202 will be described. FIG. 4 is a diagram illustrating a format example of an embedding instruction file. In FIG. 4A, in the embedding instruction file 202 created for each macro, a control code 4 related to message output is created for each function type, that is, for each function, specifying a target register. Each control code 4 indicates a function name 4a, a message output conditional expression 4b, and register information 4c for each target register.

メッセージ出力条件式4bは、対象のレジスタの値を含むメッセージを出力させる時間間隔を示すタイマー時間を指定する。レジスタ情報4cは、図4(B)に例示されるような構成を有する。   The message output conditional expression 4b specifies a timer time indicating a time interval for outputting a message including the value of the target register. The register information 4c has a configuration as illustrated in FIG.

図4(B)において、レジスタ情報4cによって、レジスタ名4c−1と、レジスタアドレス4c−2と、メッセージ出力形式4c−3とが指定される。   In FIG. 4B, register name 4c-1, register address 4c-2, and message output format 4c-3 are designated by register information 4c.

図5は、図1のデバッグシステム100における開発者による処理の流れを説明するための図である。図5において、開発者は、IPマクロ仕様・規格書201に基づいて、埋め込み指示ファイル202を手作業で作成し、記憶領域222に保存する(ステップS101)。開発者は、ホスト装置10に変換プログラム220の実行を指示する(ステップS102)。変換プログラム220は記憶領域221にロードされ、ホストCPU11によって実行される。変換プログラム220の実行によって、バイナリファイル210が作成され、記憶領域222に保存される。   FIG. 5 is a diagram for explaining the flow of processing by the developer in the debug system 100 of FIG. In FIG. 5, the developer manually creates an embedding instruction file 202 based on the IP macro specification / standard document 201 and stores it in the storage area 222 (step S101). The developer instructs the host device 10 to execute the conversion program 220 (step S102). The conversion program 220 is loaded into the storage area 221 and executed by the host CPU 11. By executing the conversion program 220, a binary file 210 is created and stored in the storage area 222.

開発者は、ホスト装置10に対して、ターゲット装置30の検証を開始させる(ステップS103)。ホスト装置10は、ICE装置224により、ターゲット装置30の記憶領域214にバイナリファイル210を転送させ、ターゲット装置30のターゲットCPU211に実行させる。   The developer causes the host device 10 to start verification of the target device 30 (step S103). The host device 10 causes the ICE device 224 to transfer the binary file 210 to the storage area 214 of the target device 30 and cause the target CPU 211 of the target device 30 to execute it.

ターゲットCPU211がバイナリファイル210に従って動作することにより、ターゲットCPU211はIPマクロ212を制御し、バス216経由で接続先デバイス213との通信が実行される(ステップS104)。その際、埋め込み指示ファイル202で指定したレジスタの値などを含むメッセージがメッセージ出力装置217に出力される。   When the target CPU 211 operates according to the binary file 210, the target CPU 211 controls the IP macro 212, and communication with the connection destination device 213 is executed via the bus 216 (step S104). At this time, a message including a register value designated by the embedding instruction file 202 is output to the message output device 217.

開発者は、メッセージ出力装置217に出力されたメッセージや接続先デバイス213で出力されるメッセージ等を確認して(ステップS105)、問題が有るか否かを判断する(ステップS106)。開発者は、問題が有ると判断した場合、問題に関するメッセージを解析する(ステップS107)。   The developer checks the message output to the message output device 217, the message output from the connection destination device 213, and the like (step S105), and determines whether there is a problem (step S106). If the developer determines that there is a problem, the developer analyzes a message regarding the problem (step S107).

開発者は、問題の解析にメッセージが不足しているか否かを判断する(ステップS108)。開発者は、メッセージは十分であると判断した場合、問題を解決するためにソースコード200を修正して(ステップS109)、ステップS102へと戻る。一方、開発者は、メッセージが不足していると判断した場合、埋め込み指示ファイル202を修正、追加して、記憶領域222に保存し(ステップS110)、ステップS102へと戻る。   The developer determines whether a message is insufficient for analyzing the problem (step S108). If the developer determines that the message is sufficient, the developer corrects the source code 200 to solve the problem (step S109), and returns to step S102. On the other hand, when the developer determines that the message is insufficient, the developer corrects and adds the embedding instruction file 202, saves it in the storage area 222 (step S110), and returns to step S102.

ステップS106において、開発者は、問題が無いと判断した場合、この処理(作業)を終了する。   In step S106, when the developer determines that there is no problem, the process (work) is terminated.

上述したステップS102における、開発者による実行指示に従って、ホストCPU11による変換プログラム220の実行中、IPマクロ212へのレジスタ操作APIが利用されるソースコード200からバイナリファイル210を作成するまでのフローを図6で説明する。   In accordance with the execution instruction from the developer in step S102 described above, the flowchart from the source code 200 using the register operation API to the IP macro 212 to the creation of the binary file 210 during execution of the conversion program 220 by the host CPU 11 is illustrated. 6 will be described.

図6は、変換プログラムを実行するホストCPUによるバイナリファイルの作成処理の一例を説明するための図である。図6において、ホストCPU11は、埋め込み指示ファイル202を読み込んで、埋め込み指示ファイル202の内容に従って、「埋め込み指示構造体」(後述)を記憶領域221に格納する(ステップS111)。ホストCPU11は、未処理のソースコード200が残っているか否かを判断する(ステップS112)。   FIG. 6 is a diagram for explaining an example of a binary file creation process by the host CPU that executes the conversion program. 6, the host CPU 11 reads the embedding instruction file 202 and stores an “embedding instruction structure” (described later) in the storage area 221 in accordance with the contents of the embedding instruction file 202 (step S111). The host CPU 11 determines whether or not unprocessed source code 200 remains (step S112).

ホストCPU11は、未処理のソースコード200が残っていると判断した場合、作業用に一時ファイル3fを記憶領域221に作成する(ステップS113)。ホストCPU11は、ソースコードを解析するソースコード解析処理を実行し、その実行結果を作成した一時ファイル3fに保存する(ステップS114)。   When the host CPU 11 determines that the unprocessed source code 200 remains, the host CPU 11 creates a temporary file 3f for work in the storage area 221 (step S113). The host CPU 11 executes source code analysis processing for analyzing the source code, and stores the execution result in the created temporary file 3f (step S114).

その後、ホストCPU11は、一時ファイル3fをコンパイルして、オブジェクトコードを作成する(ステップS115)。また、ホストCPU11は、オブジェクトコードのファイル名を、元のソースコード200のファイル名に基づいて適切な名前に変更する(ステップS116)。   Thereafter, the host CPU 11 compiles the temporary file 3f and creates an object code (step S115). Further, the host CPU 11 changes the file name of the object code to an appropriate name based on the file name of the original source code 200 (step S116).

ステップS112において、未処理のソースコード200が残っていない場合、ホストCPU11は、埋め込み指示の内容に応じて、ターゲット装置30の記憶領域214に必要な領域を確保するサブプログラムを、オブジェクトファイルとして作成させる(ステップS117)。また、ホストCPU11は、割り込みハンドラでの処理を実行するサブプログラムをオブジェクトファイルとして作成する(ステップS118)。   If no unprocessed source code 200 remains in step S112, the host CPU 11 creates a subprogram that secures a necessary area in the storage area 214 of the target device 30 as an object file in accordance with the contents of the embedding instruction. (Step S117). In addition, the host CPU 11 creates a subprogram for executing processing in the interrupt handler as an object file (step S118).

ホストCPU11は、全オブジェクトファイルをリンクして、バイナリファイル210を作成して(ステップS119)、この処理を終了する。   The host CPU 11 links all object files to create a binary file 210 (step S119), and ends this process.

上述したステップS114におけるソースコード解析処理を図7で説明する。図7は、ステップS114におけるソースコード解析処理を説明するための図である。図7において、ホストCPU11は、ソースコード200の最後か否かを判断する(ステップS121)。ホストCPU11は、ソースコード200の最後の場合、この処理を終了する。   The source code analysis process in step S114 described above will be described with reference to FIG. FIG. 7 is a diagram for explaining the source code analysis processing in step S114. In FIG. 7, the host CPU 11 determines whether or not it is the last of the source code 200 (step S121). The host CPU 11 ends this process when the source code 200 is the last.

ホストCPU11は、Parser(構文解析)により次の構文要素を抽出して(ステップS122)、抽出した構文要素がIPマクロへのレジスタ操作APIか否かを判断する(ステップS123)。ホストCPU11は、抽出した構文要素がIPマクロへのレジスタ操作APIでないと判断した場合、一時ファイル3fに記述をそのまま出力して(ステップS124)、ステップS121へと戻り、上述同様の処理を繰り返す。   The host CPU 11 extracts the next syntax element by Parser (syntax analysis) (step S122), and determines whether or not the extracted syntax element is a register operation API to the IP macro (step S123). If the host CPU 11 determines that the extracted syntax element is not a register operation API to the IP macro, the host CPU 11 outputs the description as it is to the temporary file 3f (step S124), returns to step S121, and repeats the same processing as described above.

一方、ステップS123において、ホストCPU11は、抽出した構文要素がIPマクロへのレジスタ操作APIである場合、レジスタ操作APIの名前から、書き込み区別を判断し、API引数で指定されるアドレスからレジスタアドレスを取得する(ステップS125)。   On the other hand, in step S123, when the extracted syntax element is the register operation API to the IP macro, the host CPU 11 determines the write distinction from the name of the register operation API, and determines the register address from the address specified by the API argument. Obtain (step S125).

そして、ホストCPU11は、「埋め込み指示構造体」(図10)を参照して、取得したレジスタアドレスを各レジスタテーブル5r(図10)から検索する(ステップS126)。取得したレジスタアドレスが設定されたレジスタテーブル5rの構造体が特定される。また、ホストCPU11は、レジスタテーブル5rが接続される機能テーブル5f(図10)を取得する(ステップS127)。   Then, the host CPU 11 refers to the “embedding instruction structure” (FIG. 10) and searches the obtained register address from each register table 5r (FIG. 10) (step S126). The structure of the register table 5r in which the acquired register address is set is specified. Further, the host CPU 11 acquires the function table 5f (FIG. 10) to which the register table 5r is connected (step S127).

次に、ホストCPU11は、機能テーブル5fから出力制御規則を取得し、レジスタテーブル5rから出力形式を取得して置き換え内容を作成し、IPマクロへのレジスタアクセス命令を示す置き換え内容で操作API呼出箇所を置き換える(ステップS128)。ホストCPU11は、置き換えた結果を一時ファイル3fに出力して(ステップS129)、ステップS121へと戻り、上記同様の処理を繰り返す。   Next, the host CPU 11 obtains an output control rule from the function table 5f, obtains an output format from the register table 5r, creates a replacement content, and calls an operation API call with a replacement content indicating a register access instruction to the IP macro. Is replaced (step S128). The host CPU 11 outputs the replacement result to the temporary file 3f (step S129), returns to step S121, and repeats the same processing as described above.

一方、ステップS121において、ホストCPU11は、ソースコード200の最後であると判断した場合、この処理を終了する。   On the other hand, if the host CPU 11 determines in step S121 that it is the last of the source code 200, the process is terminated.

上述したステップS102における、開発者による実行指示に従って、ホストCPU11による変換プログラム220の実行中、IPマクロ212へのレジスタ操作APIが利用されていない(例えば、アセンブラコードで記述された)ソースコード200からバイナリファイル210を作成するまでのフローを図8で説明する。   From the source code 200 in which the register operation API to the IP macro 212 is not used (for example, written in assembler code) during the execution of the conversion program 220 by the host CPU 11 in accordance with the execution instruction by the developer in step S102 described above. The flow up to creation of the binary file 210 will be described with reference to FIG.

図8は、変換プログラムを実行するホストCPUによるバイナリファイルの作成処理の他の例を説明するための図である。図8において、ホストCPU11は、埋め込み指示ファイル202を読み込んで、埋め込み指示ファイル202の内容に従って、「埋め込み指示構造体」(後述)を記憶領域221に格納する(ステップS131)。ホストCPU11は、未処理のソースコード200が残っているか否かを判断する(ステップS132)。   FIG. 8 is a diagram for explaining another example of the binary file creation process by the host CPU that executes the conversion program. In FIG. 8, the host CPU 11 reads the embedding instruction file 202 and stores an “embedding instruction structure” (described later) in the storage area 221 in accordance with the contents of the embedding instruction file 202 (step S131). The host CPU 11 determines whether or not unprocessed source code 200 remains (step S132).

ホストCPU11は、未処理のソースコード200が残っていると判断した場合、コンパイラにより、ソースコード200をコンパイルしてアセンブラコード200aを記憶部記憶領域222に作成し(ステップS132−2)、作業用に一時ファイル3fを記憶領域221に作成する(ステップS133)。ホストCPU11は、アセンブラコード200aを解析するアセンブラコード解析処理を実行し、その実行結果を記憶領域221に作成した一時ファイル3fに保存する(ステップS134)。   When the host CPU 11 determines that the unprocessed source code 200 remains, the host CPU 11 compiles the source code 200 by the compiler and creates an assembler code 200a in the storage unit storage area 222 (step S132-2). A temporary file 3f is created in the storage area 221 (step S133). The host CPU 11 executes an assembler code analysis process for analyzing the assembler code 200a, and stores the execution result in the temporary file 3f created in the storage area 221 (step S134).

その後、ホストCPU11は、アセンブラにより一時ファイル3fをオブジェクトコードに変換する(ステップS135)。また、ホストCPU11は、オブジェクトコードのファイル名を、元のソースコード200のファイル名に基づいて適切な名前に変更する(ステップS136)。   Thereafter, the host CPU 11 converts the temporary file 3f into an object code by the assembler (step S135). Further, the host CPU 11 changes the file name of the object code to an appropriate name based on the file name of the original source code 200 (step S136).

ステップS132において、未処理のソースコード200が残っていない場合、ホストCPU11は、埋め込み指示の内容に応じて、ターゲット装置30の記憶領域214に必要な領域を確保するサブプログラムを、オブジェクトファイルとして作成させる(ステップS137)。また、ホストCPU11は、割り込みハンドラでの処理を実行するサブプログラムをオブジェクトファイルとして作成する(ステップS138)。   If no unprocessed source code 200 remains in step S132, the host CPU 11 creates a subprogram that secures a necessary area in the storage area 214 of the target device 30 as an object file in accordance with the contents of the embedding instruction. (Step S137). In addition, the host CPU 11 creates a subprogram for executing processing in the interrupt handler as an object file (step S138).

ホストCPU11は、全オブジェクトファイルをリンクして、バイナリファイル210を作成して(ステップS119)、この処理を終了する。   The host CPU 11 links all object files to create a binary file 210 (step S119), and ends this process.

上述したステップS134におけるアセンブラコード解析処理を図9で説明する。図9は、ステップS134におけるアセンブラコード解析処理を説明するための図である。図9において、ホストCPU11は、アセンブラコード200aの終了か否かを判断する(ステップS141)。ホストCPU11は、アセンブラコード200aの終了の場合、この処理を終了する。   The assembler code analysis process in step S134 described above will be described with reference to FIG. FIG. 9 is a diagram for explaining the assembler code analysis processing in step S134. In FIG. 9, the host CPU 11 determines whether or not the assembler code 200a is finished (step S141). If the assembler code 200a is terminated, the host CPU 11 terminates this process.

ホストCPU11は、次の命令(オペコード及びオペランド)を抽出して(ステップS142)、オペコードがLoad/Storeか否かを判断する(ステップS143)。ホストCPU11は、オペコードがLoad/Storeでないと判断した場合、一時ファイル3fに命令(オペコード及びオペランド)をそのまま出力して(ステップS124)、ステップS141へと戻り、上述同様の処理を繰り返す。   The host CPU 11 extracts the next instruction (opcode and operand) (step S142), and determines whether the opcode is Load / Store (step S143). If the host CPU 11 determines that the operation code is not Load / Store, it outputs the instruction (operation code and operand) to the temporary file 3f as it is (step S124), returns to step S141, and repeats the same processing as described above.

一方、ステップS143において、ホストCPU11は、オペコードがLoad/Storeであると判断した場合、命令からLoad/Store対象のメモリアドレスを取得し、「埋め込み指示構造体」(図10)を参照して、取得したレジスタアドレスを各レジスタテーブル5r(図10)から検索する(ステップS145)。取得したレジスタアドレスが設定されたレジスタテーブル5rの構造体が特定される。また、ホストCPU11は、レジスタテーブル5rが接続される機能テーブル5f(図10)を取得する(ステップS146)。   On the other hand, if the host CPU 11 determines in step S143 that the operation code is Load / Store, the host CPU 11 acquires the memory address to be loaded / stored from the instruction, and refers to the “embedding instruction structure” (FIG. 10), The obtained register address is searched from each register table 5r (FIG. 10) (step S145). The structure of the register table 5r in which the acquired register address is set is specified. Further, the host CPU 11 acquires the function table 5f (FIG. 10) to which the register table 5r is connected (step S146).

次に、ホストCPU11は、機能テーブル5fから出力制御規則を取得し、レジスタテーブル5rから出力形式を取得して、Load/Store命令から判断される読み出し、書き込みの区別から置き換え内容を作成し、IPマクロへのレジスタアクセス命令を示す置き換え内容でLoad/Store命令を置き換える(ステップS147)。ホストCPU11は、置き換えた結果を一時ファイル3fに出力して(ステップS148)、ステップS141へと戻り、上記同様の処理を繰り返す。   Next, the host CPU 11 acquires an output control rule from the function table 5f, acquires an output format from the register table 5r, creates a replacement content from the distinction between read and write determined from the Load / Store instruction, The Load / Store instruction is replaced with the replacement content indicating the register access instruction to the macro (step S147). The host CPU 11 outputs the replacement result to the temporary file 3f (step S148), returns to step S141, and repeats the same processing as described above.

一方、ステップS141において、ホストCPU11は、アセンブラコード200aの終了であると判断した場合、この処理を終了する。   On the other hand, if the host CPU 11 determines in step S141 that the assembler code 200a has ended, this process ends.

図10は、埋め込み指示構造体の例を示す図である。図10(A)において、各テーブル間の関係を示している。埋め込み指示構造体によって、複数の機能テーブル5fと、各機能テーブル5fから1以上のレジスタテーブル5rが関連付けられる。   FIG. 10 is a diagram illustrating an example of the embedding instruction structure. FIG. 10A shows the relationship between the tables. The embedding instruction structure associates a plurality of function tables 5f with one or more register tables 5r from each function table 5f.

機能テーブル5fは、図4の各制御コード4に相当する。レジスタテーブル5rは、図4の各制御コード4内のレジスタ情報4cに相当する。機能テーブル5fとレジスタテーブル5rとが、埋め込み指示構造体で管理される。   The function table 5f corresponds to each control code 4 in FIG. The register table 5r corresponds to the register information 4c in each control code 4 of FIG. The function table 5f and the register table 5r are managed by an embedding instruction structure.

変換プログラム220内では、先頭の機能テーブル5fへのポインタ(先頭機能テーブルポインタ)が示されればよい。次の機能テーブル5fへは、各機能テーブル5fからポインタで示されればよい。次の機能テーブル5fへのポインタ(カレント機能テーブルポインタ)によって、機能テーブル5fがカレント機能テーブルとして設定される。   In the conversion program 220, a pointer to the top function table 5f (head function table pointer) may be indicated. The next function table 5f may be indicated by a pointer from each function table 5f. The function table 5f is set as the current function table by the pointer to the next function table 5f (current function table pointer).

また、各機能テーブル5fから最初のレジスタテーブル5rへのポインタが示され、各レジスタテーブル5rにおいて、次のレジスタテーブル5rへのポインタが示されればよい。   In addition, a pointer from each function table 5f to the first register table 5r is shown, and in each register table 5r, a pointer to the next register table 5r may be shown.

埋め込み指示構造体は、図10(B)に例示される機能テーブル5fの構造体と、図10(C)に例示されるレジスタテーブル5rの構造体とを含む。図10(B)及び図10(C)では、次のテーブルへのポインタ、機能テーブル5fからレジスタテーブル5rへのポインタ等は省略している。   The embedding instruction structure includes a structure of the function table 5f illustrated in FIG. 10B and a structure of the register table 5r illustrated in FIG. 10B and 10C, the pointer to the next table, the pointer from the function table 5f to the register table 5r, and the like are omitted.

図10(B)は、機能テーブル5fの構造体の例を示している。構造体によって、機能テーブル5fは、機能名、出力制御規則を含む。機能名は、図4(A)に示す埋め込み指示ファイル202の機能名4aに対応する。出力制御規則は、出力開始条件と出力期間とを有する。出力制御規則は、メッセージ出力情報4bに相当する。図10(C)は、レジスタテーブル5rの構造体の例を示している。レジスタテーブル5rは、レジスタ名、レジスタアドレス、出力形式を有する。   FIG. 10B shows an example of the structure of the function table 5f. Depending on the structure, the function table 5f includes function names and output control rules. The function name corresponds to the function name 4a of the embedding instruction file 202 shown in FIG. The output control rule has an output start condition and an output period. The output control rule corresponds to the message output information 4b. FIG. 10C shows an example of the structure of the register table 5r. The register table 5r has a register name, a register address, and an output format.

次に、上述した図6のステップS111、図8のステップS131における、変換プログラム220の実行中、埋め込み指示ファイル202から埋め込み指示構造体を作成する構造体作成処理について図11で説明する。   Next, a structure creation process for creating an embedding instruction structure from the embedding instruction file 202 during execution of the conversion program 220 in step S111 of FIG. 6 and step S131 of FIG. 8 will be described with reference to FIG.

図11は、変換プログラムを実行するホストCPUによる構造体作成処理を説明するための図である。図11において、ホストCPU11は、埋め込み指示構造体を初期化して(ステップS151)、埋め込み指示ファイル202をオープンする(ステップS152)。   FIG. 11 is a diagram for explaining the structure creation processing by the host CPU that executes the conversion program. In FIG. 11, the host CPU 11 initializes the embedding instruction structure (step S151), and opens the embedding instruction file 202 (step S152).

ホストCPU11は、埋め込み指示ファイル202の内容を全て終了したか否かを判断する(ステップS153)。埋め込み指示ファイル202の内容を全て終了した場合、埋め込み指示ファイル202をクローズして(ステップS153−2)、この処理を終了する。   The host CPU 11 determines whether or not all the contents of the embedding instruction file 202 have been completed (step S153). When all the contents of the embedding instruction file 202 have been completed, the embedding instruction file 202 is closed (step S153-2), and this process ends.

一方、埋め込み指示ファイル202の内容を全て終了していない場合、ホストCPU11は、埋め込み指示ファイル202から次の1行を読み出して(ステップS154)、コメント又は空行か否かを判断する(ステップS155)。   On the other hand, if all the contents of the embedding instruction file 202 have not been completed, the host CPU 11 reads the next line from the embedding instruction file 202 (step S154), and determines whether it is a comment or a blank line (step S155). .

読み出した1行がコメント又は空行であると判断した場合、ホストCPU11は、更に、機能定義の開始か否かを判断する(ステップS156)。機能定義の開始である場合、ホストCPU11は、機能テーブル5fを作成して、埋め込み指示ファイル202の機能名4aを機能テーブル5fの機能名を設定する(ステップS157)。   If it is determined that the read line is a comment or a blank line, the host CPU 11 further determines whether or not the function definition is started (step S156). When the function definition is started, the host CPU 11 creates the function table 5f and sets the function name 4a of the embedding instruction file 202 to the function name of the function table 5f (step S157).

また、ホストCPU11は、埋め込み指示ファイル202からメッセージ出力条件式4bを参照することによって出力制御規則を取得して、作成した機能テーブル5fに設定する(ステップS158)。更に、ホストCPU11は、作成した機能テーブルをカレント機能テーブルとする(ステップS159)。そして、ホストCPU11は、ステップS153へと戻り、上記同様の処理を繰り返す。   Further, the host CPU 11 acquires the output control rule by referring to the message output conditional expression 4b from the embedding instruction file 202, and sets it in the created function table 5f (step S158). Further, the host CPU 11 sets the created function table as a current function table (step S159). Then, the host CPU 11 returns to step S153 and repeats the same processing as described above.

一方、ステップS156において、機能定義の開始でないと判断した場合、ホストCPU11は、埋め込み指示ファイル202のレジスタ情報4cからレジスタ名4c−1、レジスタアドレス4c−2、メッセージ出力形式4c−3を取得する(ステップS160)。取得したレジスタ名4c−1、レジスタアドレス4c−2、メッセージ出力形式4c−3を用いて、レジスタテーブル5rを作成して(ステップS161)、作成したレジスタテーブル5rをカレント機能テーブルに追加し(ステップS162)、この処理を終了する。   On the other hand, if it is determined in step S156 that the function definition is not started, the host CPU 11 acquires the register name 4c-1, the register address 4c-2, and the message output format 4c-3 from the register information 4c of the embedding instruction file 202. (Step S160). A register table 5r is created using the acquired register name 4c-1, register address 4c-2, and message output format 4c-3 (step S161), and the created register table 5r is added to the current function table (step S161). S162), this process is terminated.

図6のステップS117及び図8のステップS137において、バイナリファイル210に組み込む、ターゲット装置30の記憶領域214に必要な領域を確保するサブプログラムが確保し初期化する記憶領域(「機能出力状態保存領域」)の構成について図12で説明する。   In step S117 of FIG. 6 and step S137 of FIG. 8, a storage area (“function output state storage area” secured and initialized by a subprogram that secures a necessary area in the storage area 214 of the target device 30 to be incorporated in the binary file 210. ]) Will be described with reference to FIG.

図12は、機能出力状態保存領域の例を示す図である。図12では、バイナリファイル210内のコードが実行されることによって、使用される記憶領域214の一部が示されている。ターゲット装置30の記憶領域214内には、埋め込み指示ファイル202に記載の機能毎に一つの機能出力状態保存領域7が確保される。   FIG. 12 is a diagram illustrating an example of the function output state storage area. In FIG. 12, a part of the storage area 214 used by executing the code in the binary file 210 is shown. In the storage area 214 of the target device 30, one function output state storage area 7 is secured for each function described in the embedding instruction file 202.

図13は、各機能出力状態保存領域の構成例を示す図である。図13において、機能出力状態保存領域7は、出力制御フラグ、タイマー値、タイマー設定値、出力ルーチン等の値を含む。   FIG. 13 is a diagram illustrating a configuration example of each function output state storage area. In FIG. 13, the function output state storage area 7 includes values such as an output control flag, a timer value, a timer set value, and an output routine.

次に、図7のステップS128及び図9のステップS147において、置き換えたIPマクロへのレジスタアクセス命令が実行する処理について図14で説明する。図14は、IPマクロへのレジスタアクセス命令が実行する処理を説明するための図である。IPマクロへのレジスタアクセス命令は、ターゲットCPU211によって実行される。図14に示す処理では、タイマーがひとつのみ利用できる場合で説明する。   Next, processing executed by the register access instruction to the replaced IP macro in step S128 of FIG. 7 and step S147 of FIG. 9 will be described with reference to FIG. FIG. 14 is a diagram for explaining processing executed by a register access instruction to the IP macro. A register access instruction to the IP macro is executed by the target CPU 211. In the process shown in FIG. 14, a case where only one timer can be used will be described.

図14において、ターゲットCPU211は、IPマクロへのレジスタアクセス命令に従って、IPマクロへのレジスタアクセスを行い(ステップS171)、タイマー割込ハンドラが設定されているか否かを判断する(ステップS172)。タイマー割込ハンドラが未設定であると判断した場合、ターゲットCPU211は、タイマー割込ハンドラを設定し、タイマー間隔を設定してタイマーを起動して(ステップS172−2)、ステップS173へと進む。   In FIG. 14, the target CPU 211 performs register access to the IP macro in accordance with the register access instruction to the IP macro (step S171), and determines whether or not a timer interrupt handler is set (step S172). If it is determined that the timer interrupt handler has not been set, the target CPU 211 sets a timer interrupt handler, sets a timer interval, starts a timer (step S172-2), and proceeds to step S173.

一方、タイマー割込ハンドラが設定されていると判断した場合、ターゲットCPU211は、レジスタへの書き込みか否かを判断する(ステップS173)。レジスタからの読み出しであると判断した場合、ターゲットCPU211は、機能出力状態保存領域7の出力制御フラグ(図13)が「1」に設定されているか否かを判断する(ステップS173−2)。出力制御フラグ(図13)が「1」に設定されている場合、ターゲットCPU211は、機能出力状態保存領域7で指定されている出力ルーチンを利用してメッセージ出力装置217にメッセージを出力して(ステップS173−4)、この処理を終了する。一方、出力制御フラグ(図13)が「0」に設定されている場合、ターゲットCPU211は、この処理を終了する。   On the other hand, when determining that the timer interrupt handler has been set, the target CPU 211 determines whether or not to write to the register (step S173). If it is determined that the data is read from the register, the target CPU 211 determines whether or not the output control flag (FIG. 13) of the function output state storage area 7 is set to “1” (step S173-2). When the output control flag (FIG. 13) is set to “1”, the target CPU 211 outputs a message to the message output device 217 using the output routine specified in the function output state storage area 7 ( In step S173-4), this process ends. On the other hand, when the output control flag (FIG. 13) is set to “0”, the target CPU 211 ends this process.

一方、ステップS173において、レジスタへの書き込みであると判断した場合、ターゲットCPU211は、タイマー設定値を、機能出力状態保存領域7のタイマー値に規定の出力時間を示すタイマー値を加算した値に設定する(ステップS174)。   On the other hand, if it is determined in step S173 that the data is written to the register, the target CPU 211 sets the timer setting value to a value obtained by adding the timer value indicating the specified output time to the timer value in the function output state storage area 7. (Step S174).

更に、ターゲットCPU211は、機能出力状態保存領域7の出力制御フラグに「1」を設定し(ステップS175)、機能出力状態保存領域7に指定される出力ルーチンを利用してメッセージ出力装置217にメッセージを出力して(ステップS176)、この処理を終了する。   Further, the target CPU 211 sets “1” to the output control flag in the function output state storage area 7 (step S175), and uses the output routine specified in the function output state storage area 7 to send a message to the message output device 217. Is output (step S176), and this process ends.

次に、図6のステップS118及び図8のステップS138において、ターゲットCPU211によってバイナリファイル210内のコードが実行されることによって、呼び出されるタイマー割込ハンドラのサブプログラムによる処理を図15で説明する。   Next, the processing by the subprogram of the timer interrupt handler that is called when the code in the binary file 210 is executed by the target CPU 211 in step S118 of FIG. 6 and step S138 of FIG. 8 will be described with reference to FIG.

図15は、タイマー割込ハンドラのサブプログラムによる処理を説明するための図である。図15において、ターゲットCPU211は、ターゲット装置30の記憶領域214内の機能毎に、機能出力状態保存領域7に設定されたタイマー値をインクリメントして、機能出力状態保存領域7のタイマー設定値と比較して一致していれば、該当機能の出力を停止するために同機能の機能出力状態保存領域7の出力制御フラグを「0」に設定する(ステップS181)。   FIG. 15 is a diagram for explaining processing by the subprogram of the timer interrupt handler. In FIG. 15, the target CPU 211 increments the timer value set in the function output state storage area 7 for each function in the storage area 214 of the target device 30 and compares it with the timer set value in the function output state storage area 7. If they match, the output control flag of the function output state storage area 7 of the function is set to “0” in order to stop the output of the corresponding function (step S181).

その後、ターゲットCPU211は、タイマー割込要因をクリアー(初期化)して(ステップS182)、タイマー割込ハンドラを終了する。   Thereafter, the target CPU 211 clears (initializes) the timer interrupt factor (step S182), and ends the timer interrupt handler.

上記処理によって、不要なメッセージの出力を抑止することができる。機能Bの検証における、第1実施例の適用の有無によるメッセージの出力例について図16で説明する。図16は、メッセージの出力例を示す図である。   With the above processing, unnecessary message output can be suppressed. An example of message output depending on whether or not the first embodiment is applied in the verification of the function B will be described with reference to FIG. FIG. 16 is a diagram illustrating a message output example.

図16(A)では、第1実施例の適用の無い場合のメッセージ出力6aが示されている。メッセージ出力6aでは、機能Bに関する状態レジスタ「EP0_S」及び制御レジスタ「EP0_C」以外のレジスタに関するメッセージが含まれている。   FIG. 16A shows a message output 6a when the first embodiment is not applied. The message output 6a includes messages related to registers other than the status register “EP0_S” and the control register “EP0_C” related to the function B.

図16(B)では、第1実施例の適用の無い場合のメッセージ出力6bが示されている。メッセージ出力6bでは、機能Bに関する状態レジスタ「EP0_S」及び制御レジスタ「EP0_C」のメッセージのみが含まれている。   FIG. 16B shows a message output 6b when the first embodiment is not applied. The message output 6b includes only messages of the status register “EP0_S” and the control register “EP0_C” regarding the function B.

次に、第1実施例を適用した際の動作の流れについて図17で説明する。図17は、検証時の通信例を示す図である。   Next, the flow of operation when the first embodiment is applied will be described with reference to FIG. FIG. 17 is a diagram illustrating a communication example at the time of verification.

図17(A)では、通信を示す図の凡例を示している。接続先デバイス213以外のターゲット装置30の構成部分を評価環境300で表す。接続先デバイス213と評価環境300とはUSBバス8sで接続される。接続先デバイス213と評価環境300間の通信は、パケット8pで行われる。   FIG. 17A shows a legend of a diagram showing communication. Components of the target device 30 other than the connection destination device 213 are represented by an evaluation environment 300. The connection destination device 213 and the evaluation environment 300 are connected by the USB bus 8s. Communication between the connection destination device 213 and the evaluation environment 300 is performed by a packet 8p.

図17(B)では、通信に応じたメッセージが出力される得る出力状態を示している。図17(B)において、接続先デバイス213から評価装置300へSETUPパケット8p−1が送信される。
(出力状態I)IPマクロ212がパケット8p−1を検出して割込みを発生させる。
(出力状態II)ドライバソフトウェアの割込みルーチンでパケット受信を検出する。
(出力状態III)そして、ドライバソフトウェアが該当する機能のレジスタに値を書き込む。
FIG. 17B shows an output state in which a message corresponding to communication can be output. In FIG. 17B, the SETUP packet 8p-1 is transmitted from the connection destination device 213 to the evaluation apparatus 300.
(Output state I) The IP macro 212 detects the packet 8p-1 and generates an interrupt.
(Output state II) The packet reception is detected by the interrupt routine of the driver software.
(Output state III) Then, the driver software writes a value to the register of the corresponding function.

次に、評価環境300から接続先デバイス213へDATAパケット8p−2が送信され、接続先デバイス213から評価環境300へACKパケット8p−3が送信されることによりデータの転送が行われる。
(出力状態IV)ドライバソフトウェアが該当する機能のレジスタから値を読み出して、ドライバソフトウェアが該当する機能のレジスタに値を書き込む。そして、(出力状態III)以降、所定時間(例えば、1秒)の間、レジスタアクセス時にメッセージを出力する。
(出力状態V)(出力状態III)から所定時間(1秒)経過後、メッセージの出力が停止される。
Next, the DATA packet 8p-2 is transmitted from the evaluation environment 300 to the connection destination device 213, and the ACK packet 8p-3 is transmitted from the connection destination device 213 to the evaluation environment 300, whereby data is transferred.
(Output state IV) The driver software reads the value from the corresponding function register, and the driver software writes the value to the corresponding function register. Then, after (output state III), a message is output during a register access for a predetermined time (for example, 1 second).
(Output state V) After a predetermined time (1 second) has elapsed from (Output state III), message output is stopped.

上述した(出力状態I)から(出力状態V)の各状態での、第1実施例の適用無しの場合と、第1実施例の適用有りの場合との、メッセージの出力量の違いについて図18で説明する。図18は、メッセージの出力量の違いを説明するための図である。図18では、図17(B)における各出力状態でのメッセージの出力例を示している。「適用無」は、第1実施例の適用が無い場合を示し、「適用有」は、第1実施例の適用が有る場合を示す。   The difference in message output amount between the case where the first embodiment is not applied and the case where the first embodiment is applied in each of the states (output state I) to (output state V) described above. 18 will be described. FIG. 18 is a diagram for explaining a difference in output amount of messages. FIG. 18 shows a message output example in each output state in FIG. “N / A” indicates a case where the first embodiment is not applied, and “Applicable” indicates a case where the first embodiment is applied.

(出力状態I)により、パケット待ちとなる。「適用無」では、状態レジスタ「EP0_S」及び制御レジスタ「EP0_C」の値を示すメッセージの出力が繰り返されるが、「適用有」では、出力されない。   Due to (output state I), a packet is waited for. In “Not Applicable”, output of messages indicating the values of the status register “EP0_S” and the control register “EP0_C” is repeated, but in “Applicable”, it is not output.

(出力状態II)により、割込みルーチンの起動後の状態になると、「適用無」では、状態レジスタ「EP0_S」及び制御レジスタ「EP0_C」の値を示すメッセージの出力が繰り返されるが、「適用有」では、出力されない。   When the state after the activation of the interrupt routine is reached due to (Output State II), in “Not Applicable”, output of messages indicating the values of the status register “EP0_S” and the control register “EP0_C” is repeated, but “Applicable” Then, it is not output.

(出力状態III)により、割込み要因の判定結果から該当機能(この場合はEndpoint#1へのパケット送受信処理)へのレジスタに対する書き込みが行われる。「適用無」では、状態レジスタ「EP0_S」及び制御レジスタ「EP0_C」に関するメッセージの出力が繰り返される。一方、「適用有」では、状態レジスタ「EP0_S」及び制御レジスタ「EP0_C」に関するメッセージが夫々一回出力されるのみである。   According to (output state III), writing to the register from the determination result of the interrupt factor to the corresponding function (in this case, packet transmission / reception processing to Endpoint # 1) is performed. In “Not Applicable”, the output of messages relating to the status register “EP0_S” and the control register “EP0_C” is repeated. On the other hand, in “applicable”, messages relating to the status register “EP0_S” and the control register “EP0_C” are only output once.

(出力状態IV)により、レジスタへの書き込み、レジスタからの読み出しが行われる。「適用無」では、状態レジスタ「EP0_S」及び制御レジスタ「EP0_C」の値を示すメッセージの出力が繰り返される。一方、「適用有」では、状態レジスタ「EP0_S」及び制御レジスタ「EP0_C」がアクセスされた時にのみメッセージが出力される。   According to (output state IV), writing to the register and reading from the register are performed. In “N / A”, the output of messages indicating the values of the status register “EP0_S” and the control register “EP0_C” is repeated. On the other hand, in “Applicable”, a message is output only when the status register “EP0_S” and the control register “EP0_C” are accessed.

(出力状態V)において、(出力状態III)から所定時間(1秒)経過後、「適用無」では、状態レジスタ「EP0_S」及び制御レジスタ「EP0_C」の値を示すメッセージの出力が繰り返される。一方、「適用有」では、メッセージの出力は行われない。   In (Output State V), after a predetermined time (1 second) has elapsed from (Output State III), in “Not Applicable”, output of messages indicating the values of the status register “EP0_S” and the control register “EP0_C” is repeated. On the other hand, in “Applicable”, no message is output.

次に、第1実施例において、ICE装置224を用いずに、ターゲットCPU211での動作も一つのCPUで行うようにしたデバッグシステムの他の例について以下に説明する。   Next, another example of a debugging system in which the operation of the target CPU 211 is also performed by one CPU without using the ICE device 224 in the first embodiment will be described below.

図19は、第1実施例に係るデバッグシステムの他の構成例を示す図である。図19に示すデバッグシステム101aは、一台のコンピュータ装置10−2で実現される。コンピュータ装置10−2は、CPU712と、記憶領域713と、IPマクロ714と、タイマー715と、メッセージ出力装置716と、記憶領域717と、接続先デバイス213とを有する。デバッグシステム101aは、メッセージ出力制御装置に相当する。   FIG. 19 is a diagram illustrating another configuration example of the debugging system according to the first embodiment. The debug system 101a shown in FIG. 19 is realized by a single computer apparatus 10-2. The computer apparatus 10-2 includes a CPU 712, a storage area 713, an IP macro 714, a timer 715, a message output device 716, a storage area 717, and a connection destination device 213. The debug system 101a corresponds to a message output control device.

コンピュータ装置10−2は、CPU712によって制御され、デバッガ機能を含む。記憶領域713は、CPU712が処理を実行するために用いられる記憶領域であり、例えば、CPU712が処理中に使用するRAM等のメモリ装置によって提供される記憶領域である。記憶領域717は、実行可能形式や埋め込み指示ファイル、プログラムのソースコード、コンパイラ及びリンカ等のプログラムを格納する記憶領域であり、例えば、ハードディスクデバイス等の補助記憶装置によって提供される記憶領域である。記憶領域713と記憶領域717とが、図2に示す記憶部130の記憶領域に相当する。   The computer apparatus 10-2 is controlled by the CPU 712 and includes a debugger function. The storage area 713 is a storage area used for the CPU 712 to execute processing, and is, for example, a storage area provided by a memory device such as a RAM used by the CPU 712 during processing. The storage area 717 is a storage area for storing an executable format, an embedding instruction file, a program source code, a program such as a compiler and a linker, and is a storage area provided by an auxiliary storage device such as a hard disk device, for example. The storage area 713 and the storage area 717 correspond to the storage area of the storage unit 130 illustrated in FIG.

記憶領域717には、ソースコード200と、埋め込み指示ファイル202と、バイナリファイル710と、変換プログラム720とが記憶される。ソースコード200は、IPマクロ714を制御するプログラムのソースコードである。埋め込み指示ファイル202は、マクロ毎に、IPマクロ仕様・規格書202に基づいて作成され、所定レジスタを監視してその値を含むメッセージを出力するためのコードを含むデータファイルである。バイナリファイル710は、実行可能形式のバイナリファイルである。変換プログラム220は、埋め込み指示ファイル202と、プログラムのソースコード200とを入力して、実行形式のプログラムを出力する埋め込み(クロス)コンパイラ及びリンカプログラムである。IPマクロ仕様・規格書201は、データファイルの場合は、記憶領域717に格納されていても良い。   The storage area 717 stores a source code 200, an embedding instruction file 202, a binary file 710, and a conversion program 720. The source code 200 is a source code of a program that controls the IP macro 714. The embedding instruction file 202 is a data file that is created for each macro based on the IP macro specification / standard document 202 and includes a code for monitoring a predetermined register and outputting a message including the value. The binary file 710 is an executable binary file. The conversion program 220 is an embedded (cross) compiler and linker program that inputs an embedding instruction file 202 and a program source code 200 and outputs an executable program. The IP macro specification / standard document 201 may be stored in the storage area 717 in the case of a data file.

IPマクロ714は、通信制御を行う機能部分に相当し、バス719を介して接続先デバイス213と通信を行う。タイマーモジュール715は、図1のタイマーモジュール218に相当し、メッセージの出力判定に利用されるタイマー機能である。メッセージ出力装置716は、図1のメッセージ出力装置217に相当し、プログラム実行中の指示によりメッセージを出力する装置であり、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)等の表示部を有する。   The IP macro 714 corresponds to a functional part that performs communication control, and communicates with the connection destination device 213 via the bus 719. The timer module 715 corresponds to the timer module 218 in FIG. 1 and is a timer function used for message output determination. The message output device 716 corresponds to the message output device 217 in FIG. 1 and is a device that outputs a message in response to an instruction during program execution, and has a display unit such as a CRT (Cathode Ray Tube) or LCD (Liquid Crystal Display). .

図19に示す構成のデバッグシステムにおける、開発者による処理の流れを説明する図20で説明する。図20は、図19のデバッグシステム101aにおける開発者による処理の流れを説明するための図である。図20において、開発者は、IPマクロ仕様・規格書201に基づいて、埋め込み指示ファイル202を手作業で作成し、記憶領域717に保存する(ステップS201)。開発者は、コンピュータ装置10−2に変換プログラム720の実行を指示する(ステップS202)。変換プログラム720は記憶領域221にロードされ、ホストCPU11によって実行される。変換プログラム720の実行によって、バイナリファイル710が作成され、記憶領域717に保存される。   The flow of processing by the developer in the debugging system having the configuration shown in FIG. 19 will be described with reference to FIG. FIG. 20 is a diagram for explaining the flow of processing by the developer in the debug system 101a of FIG. In FIG. 20, the developer manually creates an embedding instruction file 202 based on the IP macro specification / standard document 201 and stores it in the storage area 717 (step S201). The developer instructs the computer apparatus 10-2 to execute the conversion program 720 (step S202). The conversion program 720 is loaded into the storage area 221 and executed by the host CPU 11. By executing the conversion program 720, a binary file 710 is created and stored in the storage area 717.

開発者は、コンピュータ装置10−2に対して、検証を開始させる(ステップS203)。CPU712がバイナリファイル710に従って動作することによりIPマクロ714が制御され、IPマクロ710は、バス719経由で接続先デバイス213と通信を行う。(ステップS204)。その際、埋め込み指示ファイル202で指定したレジスタの値などを含むメッセージがメッセージ出力装置716に出力される。   The developer causes the computer device 10-2 to start verification (step S203). The IP macro 714 is controlled by the CPU 712 operating according to the binary file 710, and the IP macro 710 communicates with the connection destination device 213 via the bus 719. (Step S204). At this time, a message including a register value designated by the embedding instruction file 202 is output to the message output device 716.

開発者は、メッセージ出力装置716に出力されたメッセージや接続先デバイス213で出力されるメッセージ等を確認して(ステップS205)、問題が有るか否かを判断する(ステップS206)。開発者は、問題が有ると判断した場合、問題に関するメッセージを解析する(ステップS207)。   The developer checks the message output to the message output device 716, the message output from the connection destination device 213, and the like (step S205), and determines whether there is a problem (step S206). When the developer determines that there is a problem, the developer analyzes a message regarding the problem (step S207).

開発者は、問題の解析にメッセージが不足しているか否かを判断する(ステップS208)。開発者は、メッセージは十分であると判断した場合、問題を解決するためにソースコード200を修正して(ステップS209)、ステップS202へと戻る。一方、開発者は、メッセージが不足していると判断した場合、埋め込み指示ファイル202を修正、追加して、記憶領域717に保存し(ステップS710)、ステップS202へと戻る。   The developer determines whether a message is insufficient for analyzing the problem (step S208). If the developer determines that the message is sufficient, the developer corrects the source code 200 to solve the problem (step S209), and returns to step S202. On the other hand, if the developer determines that the message is insufficient, the developer corrects and adds the embedding instruction file 202, saves it in the storage area 717 (step S710), and returns to step S202.

ステップS206において、開発者は、問題が無いと判断した場合、この処理(作業)を終了する。   In step S206, when the developer determines that there is no problem, the process (work) is terminated.

上述したステップS202における、開発者による実行指示に従って、ホストCPU11による変換プログラム220の実行中、IPマクロ212へのレジスタ操作APIが利用されるソースコード200からバイナリファイル710を作成するまでのフローを図6で説明する。   FIG. 10 is a flowchart for creating a binary file 710 from the source code 200 in which the register operation API for the IP macro 212 is used during execution of the conversion program 220 by the host CPU 11 in accordance with the execution instruction from the developer in step S202 described above. 6 will be described.

次に、第2実施例に係るデバッグシステムの構成例について説明する。図21は、第2実施例に係るデバッグシステムの構成例を示す図である。図21に例示されるデバッグシステム102の構成において、図1に例示されるデバッグシステム101との違いは、出力判定ルーチン230と、ヘッダファイル231と、変換プログラム220の代わりに変換プログラム240とを有する点であり、その他の構成は同様であるので、その説明を省略する。デバッグシステム102は、メッセージ出力制御装置に相当する。   Next, a configuration example of the debug system according to the second embodiment will be described. FIG. 21 is a diagram illustrating a configuration example of the debug system according to the second embodiment. The configuration of the debug system 102 illustrated in FIG. 21 is different from the debug system 101 illustrated in FIG. 1 in that it includes an output determination routine 230, a header file 231, and a conversion program 240 instead of the conversion program 220. In other respects, the other configuration is the same, and the description thereof is omitted. The debug system 102 corresponds to a message output control device.

出力判定ルーチン230は、メッセージの出力を判定するためのルーチンを予めコンパイラによりライブラリとしたものである。ヘッダファイル231は、ライブラリで定義されている出力判定ルーチン230のインタフェースを定義したヘッダファイルである。   The output determination routine 230 is a routine in which a routine for determining message output is made into a library by a compiler. The header file 231 is a header file that defines the interface of the output determination routine 230 defined in the library.

変換プログラム240は、埋め込み指示ファイル202と、プログラムのソースコード200とを入力し、ソースコード200内のIPマクロへのアクセス部分を、出力判定ルーチン230とヘッダファイル231とで定義されたAPIに置き換える機能と、置き換えた結果をコンパイル及びリンクして実行形式のプログラムであるバイナリファイル210を作成するプログラムである。変換プログラム240がホストCPU11によって実行されて実現する処理部が、バイナリファイル210を作成する作成部に相当する。   The conversion program 240 inputs the embedding instruction file 202 and the source code 200 of the program, and replaces an access part to the IP macro in the source code 200 with an API defined by the output determination routine 230 and the header file 231. It is a program that creates a binary file 210 that is an executable program by compiling and linking the function and the replacement result. A processing unit realized by executing the conversion program 240 by the host CPU 11 corresponds to a creation unit that creates the binary file 210.

変換プログラム240による、ホストCPU11によって実行可能な形式であるバイナリファイル210を作成する実行可能形式ファイルへの作成処理を図22で説明する。図22は、実行可能形式作成処理を説明するための図である。図22において、開発者が、IPマクロ212へのレジスタ操作APIと同じAPI形式でヘッダファイル231を作成する(ステップS221)。また、開発者が、埋め込み指示ファイル202の内容に応じて、出力判定ルーチン230を作成する(ステップS222)。   Processing for creating a binary file 210 that is a format executable by the host CPU 11 by the conversion program 240 will be described with reference to FIG. FIG. 22 is a diagram for explaining an executable format creation process. In FIG. 22, the developer creates a header file 231 in the same API format as the register operation API to the IP macro 212 (step S221). Further, the developer creates an output determination routine 230 according to the contents of the embedding instruction file 202 (step S222).

開発者は、コンパイル及びリンク時に指定するIPマクロ212へのレジスタ操作APIへのヘッダとライブラリのディレクトリを、作成した出力判定ルーチン230及びヘッダファイル231を格納したディレクトリに変更する(ステップS223)。   The developer changes the directory of the header and library to the register operation API to the IP macro 212 specified at the time of compiling and linking to the directory storing the created output determination routine 230 and the header file 231 (step S223).

そして、開発者が、コンパイル及びリンクをホストCPU11に実施させ、バイナリファイル210を作成させる(ステップS224)。作成されたバイナリファイル210は、記憶領域222に格納される。   Then, the developer causes the host CPU 11 to compile and link to create the binary file 210 (step S224). The created binary file 210 is stored in the storage area 222.

埋め込み指示ファイル202から出力判定ルーチン230を作成する際には、開発者の手作業で各機能判定や出力形式を埋め込むことは可能であるが、ツールなどにより、埋め込み指示ファイル202とIPマクロ212のメモリマップ情報などから自動的に作成することも可能である。   When creating the output determination routine 230 from the embedding instruction file 202, it is possible to embed each function determination and output format manually by the developer, but the embedding instruction file 202 and the IP macro 212 can be changed by a tool or the like. It can also be automatically created from memory map information.

また、ステップS224による開発者の指示に応じて、バイナリファイル210を作成する作成処理は、図6及び図7、又は、図8及び図9の説明と同様であるので、詳細な説明を省略する。   In addition, the creation process for creating the binary file 210 according to the developer's instruction in step S224 is the same as the description of FIG. 6 and FIG. 7 or FIG. 8 and FIG. .

上記第1又は第2実施例において、レジスタへの書き込みを条件としてタイマーによる時間測定を開始していたが、他の条件、例えば、レジスタの特定のフィールドがある値になったことを条件としても良い。   In the first or second embodiment, the time measurement by the timer is started on the condition that writing to the register is performed, but other conditions such as a condition that a specific field of the register becomes a certain value may be used. good.

また、タイマーが使用できない環境では、実行形式中に一定のコード毎にカウンターをインクリメントする仕組みを付加することによっても実現可能である。   In an environment where the timer cannot be used, it can be realized by adding a mechanism for incrementing the counter for each predetermined code in the execution format.

上述したような第1又は第2実施例を適用した場合には、不要なメッセージの出力を削減すると共に、図23に例示されるような、適用が無い場合の問題点を解消することができる。図23は、適用することによって解消可能な問題点の例を説明するための図である。図23において、第1又は第2実施例を適用しなかった場合には、メッセージ出力部分を含むドライバソースコードに相当する適用無コード22aに対して手作業でメッセージ出力部分の削除が行われる。   When the first or second embodiment as described above is applied, the output of unnecessary messages can be reduced and the problems in the case of no application as illustrated in FIG. 23 can be solved. . FIG. 23 is a diagram for explaining an example of a problem that can be solved by applying. In FIG. 23, when the first or second embodiment is not applied, the message output part is manually deleted from the non-applied code 22a corresponding to the driver source code including the message output part.

作業後適用無コード22a'は、メッセージ出力部分の削除が行われた状態を示す。手作業で削除が行われた場合、例えば、誤消去22bのように、誤って、本来必要なレジスタへのアクセスの記述がコメント文に設定されてしまい実行されない、といった問題がある。また、削除対象のメッセージ出力の記述の消去し忘れ22cなどの問題も発生する。   The post-operation non-applied code 22a ′ indicates a state in which the message output part has been deleted. When the deletion is performed manually, for example, there is a problem that a description of access to a register that is originally necessary is erroneously set in a comment sentence and is not executed, such as erroneous deletion 22b. In addition, problems such as forgetting to delete the description of the message output to be deleted 22c also occur.

しかしながら、第1又は第2実施例を適用した場合には、開発者によるメッセージ出力部分の削除等の手作業が不要となるため、誤消去22b及び消去し忘れ22cなどを解消することができる。   However, when the first or second embodiment is applied, a manual operation such as deletion of a message output part by a developer is not necessary, and thus it is possible to eliminate erroneous erasure 22b and forgetting to erase 22c.

上述したように、通信系のIPマクロのドライバソフトウェアのデバッグのために、ソフトウェアのデバッグ用のメッセージ出力を行うソフトウェアプログラムに対して、通信系IPマクロの機能を分類し、その機能分類に応じてIPマクロのレジスタを分類しておく。そして、ドライバソフトウェアのソースコード200を解析し、埋め込み指示ファイル202に基づいて、当該機能のレジスタの値を含むデバッグ用のメッセージを出力させるプログラムを埋め込む。この埋め込まれたプログラムでは、アクセス時間から一定時間の間に当該機能の全レジスタを一定間隔で出力、又は、同機能のレジスタへのアクセスの時に出力する。この際の時間管理はドライバソフトウェアが走行する環境に搭載されているタイマーハードウェアを用いればよい。   As described above, in order to debug the driver software of the communication system IP macro, the function of the communication system IP macro is classified for the software program that outputs a message for debugging the software, and according to the function classification The IP macro registers are classified. Then, the source code 200 of the driver software is analyzed, and a program for outputting a debug message including the register value of the function is embedded based on the embedding instruction file 202. In this embedded program, all the registers of the function are output at a constant interval between the access time and a fixed time, or are output when accessing the register of the same function. In this case, time management may be performed using timer hardware installed in an environment where the driver software runs.

本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。   The present invention is not limited to the specifically disclosed embodiments, and various modifications and changes can be made without departing from the scope of the claims.

以上の第1及び第2実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
ソースコードと、メッセージ出力対象となるレジスタを指定した埋め込み指示ファイルとを記憶した記憶部と、
前記ソースコード内の、前記記憶部に記憶された前記埋め込み指示ファイルによって指定される前記レジスタへアクセスする記述を、出力期間の間、該レジスタの値を含むメッセージを出力装置に出力する記述を含む置き換え内容で置き換えて、該内容で置き換えられた該ソースコードから実行形式のバイナリファイルを前記記憶部に作成する作成部と
を有することを特徴とするコンピュータ装置。
(付記2)
前記埋め込み指示ファイルによって、機能毎に、前記出力期間を指定するメッセージ出力条件式と、レジスタ情報とが指定され、
前記置き換え内容は、メッセージ出力条件式によって指定されるタイマーに設定される前記出力期間と、対象のレジスタの指定情報を含むレジスタ情報によって指定されるメッセージ出力形式とを含むことを特徴とする付記1記載のコンピュータ装置。
(付記3)
前記作成部は、前記埋め込み指示ファイルに基づいて、機能毎に前記出力期間が設定される機能構造体と、該機能構造体から接続される前記レジスタ情報からレジスタ構造体とを含む埋め込み指示構造体を前記記憶部に作成することを特徴とする付記2記載のコンピュータ装置。
(付記4)
前記バイナリファイルを実行し、前記指定されたレジスタへのアクセス時に、該レジスタの値を含むメッセージの出力を開始し、該アクセス時に起動されたタイマーの設定値に前記出力期間を加算して設定することによって、該出力期間後、該メッセージの出力装置への出力を停止することを特徴とする付記2又は3のいずれか一項記載のコンピュータ装置。
(付記5)
前記ソースコードから読み出した記述が、前記記憶部に記憶された前記埋め込み指示ファイルによって指定される前記レジスタへアクセスする記述であるか否かを判定する判定ルーチンと、ライブラリで定義されている判定ルーチンのインタフェースを定義したヘッダファイルとを有することを特徴とする付記1乃至3のいずれか一項記載のコンピュータ装置。
(付記6)
前記ソースコードは、通信制御を行うマクロを記述したコードであることを特徴とする付記1乃至5のいずれか一項記載のコンピュータ装置。
(付記7)
コンピュータによって実行されるメッセージ出力制御方法であって、
記憶部に記憶されたソースコードと、メッセージ出力対象となるレジスタを指定した埋め込み指示ファイルとを入力し、
前記ソースコード内の、前記埋め込み指示ファイルによって指定される前記レジスタへアクセスする記述を、出力期間の間、該レジスタの値を含むメッセージを出力装置に出力する記述を含む置き換え内容で置き換え、
前記内容で置き換えられた前記ソースコードから実行形式のバイナリファイルを前記記憶部に作成する
ことを特徴とするメッセージ出力制御方法。
(付記8)
記憶部に記憶されたソースコードと、メッセージ出力対象となるレジスタを指定した埋め込み指示ファイルとを入力し、
前記ソースコード内の、前記埋め込み指示ファイルによって指定される前記レジスタへアクセスする記述を、出力期間の間、該レジスタの値を含むメッセージを出力装置に出力する記述を含む置き換え内容で置き換え、
前記内容で置き換えられた前記ソースコードから実行形式のバイナリファイルを前記記憶部に作成する
処理をコンピュータに実行させるプログラム。
Regarding the embodiment including the first and second examples, the following additional notes are disclosed.
(Appendix 1)
A storage unit that stores a source code and an embedding instruction file that specifies a register that is a message output target;
A description of accessing the register specified by the embedding instruction file stored in the storage unit in the source code includes a description of outputting a message including the value of the register to an output device during an output period. A computer apparatus, comprising: a creation unit that creates a binary file in an executable format in the storage unit from the source code that is replaced with the replacement content.
(Appendix 2)
The embedding instruction file specifies a message output conditional expression for specifying the output period and register information for each function,
The replacement content includes the output period set in a timer specified by a message output conditional expression and a message output format specified by register information including specification information of a target register. A computer device as described.
(Appendix 3)
The creation unit includes a function structure in which the output period is set for each function based on the embedding instruction file, and an embedding instruction structure including the register information from the register information connected from the function structure. Is created in the storage unit. The computer apparatus according to appendix 2.
(Appendix 4)
Executes the binary file, starts to output a message including the value of the register when accessing the designated register, and sets the output period to the set value of the timer activated at the time of accessing Accordingly, after the output period, the output of the message to the output device is stopped, The computer device according to any one of appendix 2 or 3,
(Appendix 5)
A determination routine for determining whether or not the description read from the source code is a description for accessing the register specified by the embedding instruction file stored in the storage unit; and a determination routine defined by the library The computer apparatus according to any one of appendices 1 to 3, further comprising: a header file defining the interface.
(Appendix 6)
6. The computer apparatus according to any one of appendices 1 to 5, wherein the source code is a code describing a macro for performing communication control.
(Appendix 7)
A message output control method executed by a computer,
Input the source code stored in the storage unit and the embedding instruction file specifying the register that is the message output target,
In the source code, a description for accessing the register specified by the embedding instruction file is replaced with a replacement content including a description for outputting a message including the value of the register to an output device during an output period.
A message output control method, comprising: creating an executable binary file in the storage unit from the source code replaced with the content.
(Appendix 8)
Input the source code stored in the storage unit and the embedding instruction file specifying the register that is the message output target,
In the source code, a description for accessing the register specified by the embedding instruction file is replaced with a replacement content including a description for outputting a message including the value of the register to an output device during an output period.
A program that causes a computer to execute a process of creating an executable binary file in the storage unit from the source code replaced with the content.

10 ホスト装置
11 ホストCPU
12 主記憶装置
13 補助記憶装置
14 入力装置
15 表示装置
18 ドライバ
19 記憶媒体
101 デバッグシステム
200 ソースコード
201 IPマクロ仕様・規格書
202 埋め込み指示ファイル
210 バイナリファイル
211 ターゲットCPU
212 IPマクロ
213 接続先デバイス
214 記憶領域
217 メッセージ出力装置
218 タイマーモジュール
220 変換プログラム
221 記憶領域
224 ICE装置
230 出力判定ルーチン
231 ヘッダファイル
240 変換プログラム
10 Host device 11 Host CPU
DESCRIPTION OF SYMBOLS 12 Main memory device 13 Auxiliary memory device 14 Input device 15 Display device 18 Driver 19 Storage medium 101 Debug system 200 Source code 201 IP macro specification / standard document 202 Embedding instruction file 210 Binary file 211 Target CPU
212 IP Macro 213 Connected Device 214 Storage Area 217 Message Output Device 218 Timer Module 220 Conversion Program 221 Storage Area 224 ICE Device 230 Output Determination Routine 231 Header File 240 Conversion Program

Claims (5)

ソースコードと、メッセージ出力対象となるレジスタを指定した埋め込み指示ファイルとを記憶した記憶部と、
前記ソースコードの、前記記憶部に記憶された前記埋め込み指示ファイルよって指定される前記レジスタへアクセスする記述を、出力期間の間、該レジスタの値を含むメッセージを出力装置に出力する記述を含む置き換え内容で置き換えて、該内容で置き換えられた該ソースコードから実行形式のバイナリファイルを前記記憶部に作成する作成部と
を有することを特徴とするメッセージ出力制御装置。
A storage unit that stores a source code and an embedding instruction file that specifies a register that is a message output target;
Of the source code, the description to access the register thus specified in the embedded instruction file stored in the storage unit, during the output period, contains a description of the output device a message containing the value of the register A message output control apparatus comprising: a creation unit that creates a binary file in an executable format in the storage unit from the source code replaced by the replacement content.
前記埋め込み指示ファイルによって、機能毎に、前記出力期間を指定するメッセージ出力条件式と、レジスタ情報とが指定され、
前記置き換え内容は、メッセージ出力条件式によって指定されるタイマーに設定される前記出力期間と、対象のレジスタの指定情報を含むレジスタ情報によって指定されるメッセージ出力形式とを含むことを特徴とする請求項1記載のメッセージ出力制御装置。
The embedding instruction file specifies a message output conditional expression for specifying the output period and register information for each function,
The replacement content includes the output period set in a timer specified by a message output conditional expression and a message output format specified by register information including specification information of a target register. The message output control device according to 1.
前記作成部は、前記埋め込み指示ファイルに基づいて、機能毎に前記出力期間が設定される機能構造体と、該機能構造体から接続される前記レジスタ情報からレジスタ構造体とを含む埋め込み指示構造体を前記記憶部に作成することを特徴とする請求項2記載のメッセージ出力制御装置。   The creation unit includes a function structure in which the output period is set for each function based on the embedding instruction file, and an embedding instruction structure including the register information from the register information connected from the function structure. The message output control device according to claim 2, wherein the message output control device is created in the storage unit. 前記バイナリファイルを実行し、前記指定されたレジスタへのアクセス時に、該レジスタの値を含むメッセージの出力を開始し、該アクセス時に起動されたタイマーの設定値に前記出力期間を加算して設定することによって、該出力期間後、該メッセージの出力装置への出力を停止することを特徴とする請求項2又は3記載のメッセージ出力制御装置。   Executes the binary file, starts to output a message including the value of the register when accessing the designated register, and sets the output period to the set value of the timer activated at the time of accessing 4. The message output control device according to claim 2, wherein output of the message to the output device is stopped after the output period. コンピュータによって実行されるメッセージ出力制御方法であって、
記憶部に記憶されたソースコードと、メッセージ出力対象となるレジスタを指定した埋め込み指示ファイルとを入力し、
前記ソースコード内の、前記埋め込み指示ファイルによって指定される前記レジスタへアクセスする記述を、出力期間の間、該レジスタの値を含むメッセージを出力装置に出力する記述を含む置き換え内容で置き換え、
前記内容で置き換えられた前記ソースコードから実行形式のバイナリファイルを前記記憶部に作成する
ことを特徴とするメッセージ出力制御方法。
A message output control method executed by a computer,
Input the source code stored in the storage unit and the embedding instruction file specifying the register that is the message output target,
In the source code, a description for accessing the register specified by the embedding instruction file is replaced with a replacement content including a description for outputting a message including the value of the register to an output device during an output period.
A message output control method, comprising: creating an executable binary file in the storage unit from the source code replaced with the content.
JP2012033353A 2012-02-17 2012-02-17 Message output control device and message output control method Active JP5906789B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012033353A JP5906789B2 (en) 2012-02-17 2012-02-17 Message output control device and message output control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012033353A JP5906789B2 (en) 2012-02-17 2012-02-17 Message output control device and message output control method

Publications (2)

Publication Number Publication Date
JP2013171345A JP2013171345A (en) 2013-09-02
JP5906789B2 true JP5906789B2 (en) 2016-04-20

Family

ID=49265250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012033353A Active JP5906789B2 (en) 2012-02-17 2012-02-17 Message output control device and message output control method

Country Status (1)

Country Link
JP (1) JP5906789B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9880818B2 (en) 2014-11-05 2018-01-30 Ab Initio Technology Llc Application testing
US10936289B2 (en) 2016-06-03 2021-03-02 Ab Initio Technology Llc Format-specific data processing operations
CN113810466B (en) * 2021-08-12 2024-04-09 北京科东电力控制系统有限责任公司 Middleware for multi-source heterogeneous data, system and method for applying middleware

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11224211A (en) * 1998-02-06 1999-08-17 Fuji Xerox Co Ltd Software inspection support device
US7231633B2 (en) * 2003-07-15 2007-06-12 Lsi Corporation Debugging with set verbosity level during read and analysis of executable code and associated comments while logging according to set verbosity level
JP5545054B2 (en) * 2010-06-11 2014-07-09 富士通株式会社 Debug circuit and debug system

Also Published As

Publication number Publication date
JP2013171345A (en) 2013-09-02

Similar Documents

Publication Publication Date Title
JP7328255B2 (en) Execution control with cross-level tracking mapping
US20070288937A1 (en) Virtual Device Driver
US9111033B2 (en) Compiling source code for debugging with user preferred snapshot locations
US8826244B2 (en) Providing programming support to debuggers
US8910126B2 (en) Compiling source code for debugging with variable value restoration based on debugging user activity
US8645938B2 (en) System and method for replacing code
US6543049B1 (en) Ranked break points and method for debugging a computer program
US9009678B2 (en) Software debugging with execution match determinations
US20080270842A1 (en) Computer operating system handling of severe hardware errors
JP5218568B2 (en) Information processing apparatus having configuration change function, system configuration change method, and system configuration change program
JP2015141539A (en) Failure injection program
US9053229B2 (en) Integrating compiler warnings into a debug session
EP3769222B1 (en) Testing kernel mode computer code by executing the computer code in user mode
JP5906789B2 (en) Message output control device and message output control method
US20080127118A1 (en) Method and system for dynamic patching of software
US20240320127A1 (en) Event tracing
US20180341723A1 (en) Triggering untriggered assertions in design verification
TW588238B (en) Program debugging method
CN113591422A (en) System for generating test case flow information in chip verification and application
JP2005128692A (en) Simulator and simulation method
CN108614704B (en) Code compiling method and device
US8799873B2 (en) Collecting tracepoint data
US10216525B1 (en) Virtual disk carousel
US20130031534A1 (en) Software Development With Information Describing Preceding Execution Of A Debuggable Program
JP7348492B2 (en) Information processing system, information processing device, information processing program, and information processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141028

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20150501

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150501

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150714

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150911

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160223

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160307

R150 Certificate of patent or registration of utility model

Ref document number: 5906789

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150