JP2007141138A - Information processing apparatus - Google Patents
Information processing apparatus Download PDFInfo
- Publication number
- JP2007141138A JP2007141138A JP2005337006A JP2005337006A JP2007141138A JP 2007141138 A JP2007141138 A JP 2007141138A JP 2005337006 A JP2005337006 A JP 2005337006A JP 2005337006 A JP2005337006 A JP 2005337006A JP 2007141138 A JP2007141138 A JP 2007141138A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- data
- cpu
- cpu unit
- debug
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、プログラムを実行するCPUと前記プログラムを記憶するメモリとを備える複数のCPUユニットが互いに通信可能に接続された情報処理装置に関するものである。 The present invention relates to an information processing apparatus in which a plurality of CPU units including a CPU that executes a program and a memory that stores the program are connected to be communicable with each other.
既に広く利用されているプリンタ装置、複写機、ファクシミリ装置などの情報処理装置等において、装置を制御するために複数のCPUを協調動作させることは近年多く行われている。これらのCPUは通常、バス又はシリアルインターフェースにより接続される。これらの各CPU上で動作するファームウェアをデバッグするには、一般に各CPUにデバッグ用のハードウェア資源が搭載される。これには例えば各CPUにオンチップデバッグ機能を有するものを使用したり、各CPUにデバッグ用の装置であるICE(インサーキットエミュレータ)を接続するためのソケットを備えることが一般的である。また、各CPUに外部装置との通信手段を設けることも行われている。 In information processing apparatuses such as printer apparatuses, copiers, and facsimile apparatuses that are already widely used, a plurality of CPUs are frequently operated in recent years to control the apparatuses. These CPUs are usually connected by a bus or a serial interface. In order to debug firmware operating on each of these CPUs, generally, hardware resources for debugging are mounted on each CPU. For this purpose, for example, it is common to use a CPU having an on-chip debugging function for each CPU, or to provide a socket for connecting an ICE (in-circuit emulator), which is a debugging device, to each CPU. In addition, a means for communicating with an external device is provided in each CPU.
また、CPUから読み書き可能なメモリをCPU毎に設け、そのメモリ間のデータ転送をDMA(ダイレクトメモリアクセス)により行い、一方のCPUが制御する制御部から他方のCPUが制御する制御部を監視する方法も提案されている。 Also, a memory that can be read from and written to by the CPU is provided for each CPU, data transfer between the memories is performed by DMA (direct memory access), and a control unit controlled by one CPU is monitored by a control unit controlled by the other CPU A method has also been proposed.
例えば、特許文献1には、読み出し書き込み両用の第1のメモリ、この第1のメモリ内のデータにもとづいて制御対象を制御する制御部、及び監視用の第1の通信部を含むコントローラユニットと、読み出し書き込み両用の第2のメモリ、この第2のメモリ内のデータを監視する監視部、及び監視用の第2の通信部を含む監視用ユニットと、コントローラユニットに設けたダイレクトメモリアクセス部とを有するコントローラユニットの監視装置が提案されている。このコントローラユニットの監視装置は、コントローラユニットの第1のメモリ内のデータをダイレクトメモリアクセス部により第1の通信部に転送すると共に、当該データを第1の通信部から第2の通信部へ、更に監視用ユニットの第2のメモリに転送し、この転送されたデータに基づいて監視部にて第1のメモリ内のデータの時間的変化を監視し、この監視結果にもとづいて第2のメモリのデータを更新し、この更新されたデータを第2の通信部から第1の通信部に転送し、更にダイレクトメモリアクセス部により第1の通信部から第1のメモリに転送している。
For example,
また、上述のようにデバッグ機能を各CPUに設ける場合、デバッグ用のハードウェア資源が必要となるため、そのハードウェア資源は確実にコストに反映され特にローエンドを対象とした情報処理装置ではこのコスト増加は容認されないものである。そこで、複数のCPUのうち第1のCPUにはデバッグ機能を設け、第2のCPUにはデバッグ機能を設けないことが考えられる。この場合、第2のCPUのファームウェアをデバッグするデバッグ手段はICEに限られるが、ICEを使用するために高価なソケットを用意する必要があり、複数枚の量産基板毎にソケットを装備することはコストの面で困難であった。このようなデバッグ手段を装備していない場合は設計時、製造時、ユーザ使用時に不具合が発生してもその真の原因を突き止めるために多くの時間を費やしてしまい、メーカ、ユーザ双方にとって著しく不利となる問題点があった。 Further, when the debugging function is provided in each CPU as described above, hardware resources for debugging are required. Therefore, the hardware resources are surely reflected in the cost, and this cost is particularly high in the information processing apparatus targeted for the low end. The increase is unacceptable. Accordingly, it is conceivable that the first CPU of the plurality of CPUs is provided with a debugging function, and the second CPU is not provided with a debugging function. In this case, the debugging means for debugging the firmware of the second CPU is limited to the ICE, but it is necessary to prepare an expensive socket in order to use the ICE, and it is not possible to equip a socket for each of a plurality of mass production boards. It was difficult in terms of cost. If there is no such debugging means, it takes a lot of time to find out the true cause even if a problem occurs during design, manufacturing, or user use, which is a disadvantage for both manufacturers and users. There was a problem.
そこで、デバッグ機能を有する第1のCPUと、デバッグ機能を有しない第2のCPUとからなる複数のCPUで構成され、第1のCPUと第2のCPUとは通信にて協調動作する情報処理装置において、通信プロトコルに第2のCPUをデバッグする通信プロトコルを内包し、第1のCPUのデバッグ機能を利用して第2のCPUをデバッグするリモートデバッグ方法が提案されている。 Therefore, an information processing system including a plurality of CPUs including a first CPU having a debugging function and a second CPU not having a debugging function, and the first CPU and the second CPU cooperatively operate by communication. In the apparatus, a remote debugging method has been proposed in which a communication protocol for debugging a second CPU is included in the communication protocol, and the second CPU is debugged using the debugging function of the first CPU.
また、上記のハード構成の情報処理装置において、デバッグ機能を有しない第2のCPUをデバッグする通信プロトコルに、第2のCPU上で動作するファームウェアのサブルーチンを直接実行する情報を通信プロトコルに内包するリモートデバッグ方法が提案されている。
しかしながら、上記のリモートデバッグ方法では、第2のCPUのファームウェアに不具合が発生した後のRAMの内容等を、第1のCPUのデバッグ機能を用いて取得し、確認するに過ぎなかった。そのため、ソフトウェアのデバッグとして最も有効と考えられる状態遷移を伴う状態の自動表示の機能を有しておらず、デバッグ機能を有していないCPUの不具合が発生した瞬間の状態を捉えることが困難であった。 However, in the remote debugging method described above, the contents of the RAM and the like after the failure of the firmware of the second CPU is only acquired and confirmed using the debugging function of the first CPU. For this reason, it does not have a function for automatically displaying states with state transitions that are considered to be most effective for software debugging, and it is difficult to capture the state at the moment when a malfunction of a CPU that does not have a debugging function occurs. there were.
本発明は、上記の問題を解決するためになされたもので、デバッグ機能を有していないCPUの不具合が発生した瞬間の状態を捉えることができる情報処理装置を提供することを目的とするものである。 The present invention has been made to solve the above-described problem, and an object thereof is to provide an information processing apparatus capable of capturing the state at the moment when a malfunction of a CPU having no debugging function occurs. It is.
本発明に係る情報処理装置は、プログラムを実行するCPUと前記プログラムを記憶するメモリとを備える複数のCPUユニットが互いに通信可能に接続された情報処理装置であって、複数のCPUユニットが備える各CPUが実行するプログラムをデバッグするためのデバッグ機能を有する第1のCPUユニットと、前記デバッグ機能を有しない第2のCPUユニットとを備え、前記第2のCPUユニットは、デバッグに用いるデータを抽出する抽出手段と、前記抽出手段によって抽出されたデータを前記第1のCPUユニットへ送信するデータ送信手段とを備え、前記第1のCPUユニットは、前記データ送信手段によって送信されたデータを受信するデータ受信手段と、前記データ受信手段によって受信されたデータを用いてデバッグ機能を実行する実行手段とを備える。 An information processing apparatus according to the present invention is an information processing apparatus in which a plurality of CPU units including a CPU that executes a program and a memory that stores the program are connected to be communicable with each other, and each of the plurality of CPU units includes A first CPU unit having a debugging function for debugging a program executed by the CPU; and a second CPU unit not having the debugging function. The second CPU unit extracts data used for debugging. Extracting means, and data transmitting means for transmitting the data extracted by the extracting means to the first CPU unit, wherein the first CPU unit receives the data transmitted by the data transmitting means Debugging using data receiving means and data received by the data receiving means And a execution means for executing ability.
この構成によれば、情報処理装置は、複数のCPUユニットが備える各CPUが実行するプログラムをデバッグするためのデバッグ機能を有する第1のCPUユニットと、デバッグ機能を有しない第2のCPUユニットとを備えている。そして、第2のCPUユニットにおいて、デバッグに用いるデータが抽出され、抽出されたデータが第1のCPUユニットへ送信される。第1のCPUユニットにおいて、第2のCPUユニットから送信されたデータが受信され、受信されたデータを用いてデバッグ機能が実行される。 According to this configuration, the information processing apparatus includes a first CPU unit having a debugging function for debugging a program executed by each CPU included in the plurality of CPU units, and a second CPU unit having no debugging function. It has. Then, in the second CPU unit, data used for debugging is extracted, and the extracted data is transmitted to the first CPU unit. In the first CPU unit, data transmitted from the second CPU unit is received, and a debugging function is executed using the received data.
したがって、デバッグ機能を有しない第2のCPUユニットにおいてデバッグに用いるデータが自動的に抽出され、第1のCPUユニットへ送信されるので、デバッグ機能を有していないCPUの不具合が発生した瞬間の状態を捉えることができる。 Therefore, since data used for debugging is automatically extracted and transmitted to the first CPU unit in the second CPU unit that does not have the debugging function, the moment when the malfunction of the CPU that does not have the debugging function occurs. The state can be captured.
また、上記の情報処理装置において、前記抽出手段は、前記プログラムの中からデバッグに用いるデータを出力するための出力関数を実行することでデバッグに用いるデータを抽出することが好ましい。 In the information processing apparatus, it is preferable that the extraction unit extracts data used for debugging by executing an output function for outputting data used for debugging from the program.
この構成によれば、プログラムの中からデバッグに用いるデータを出力するための出力関数が実行されることでデバッグに用いるデータが抽出されるので、予めプログラムに記述されている出力関数を実行することにより、容易にデバッグに用いるデータを抽出することができる。 According to this configuration, since the data used for debugging is extracted by executing the output function for outputting the data used for debugging from the program, the output function described in the program is executed in advance. Thus, data used for debugging can be easily extracted.
また、上記の情報処理装置において、前記第2のCPUユニットは、前記抽出手段によって抽出されたデータを記憶する記憶手段と、前記記憶手段にデータが記憶されたか否かを判断する判断手段と、前記判断手段によって前記記憶手段にデータが記憶されたと判断された場合、前記第1のCPUユニットへ割り込み信号を送信する割り込み信号送信手段とをさらに備え、前記第1のCPUユニットは、前記割り込み信号送信手段によって送信された割り込み信号を受信する割り込み信号受信手段と、前記割り込み信号受信手段によって割り込み信号が受信された場合、データを要求するためのデータ要求信号を前記第2のCPUユニットへ送信するデータ要求信号送信手段とをさらに備え、前記第2のCPUユニットは、前記データ要求信号送信手段によって送信されたデータ要求信号を受信するデータ要求信号受信手段と、前記データ要求信号受信手段によってデータ要求信号が受信された場合、前記記憶手段に記憶されているデータを読み出す読出手段とをさらに備え、前記データ送信手段は、前記読出手段によって読み出されたデータを前記第1のCPUユニットへ送信することが好ましい。 In the information processing apparatus, the second CPU unit includes a storage unit that stores data extracted by the extraction unit, a determination unit that determines whether data is stored in the storage unit, When the determination means determines that data is stored in the storage means, it further comprises an interrupt signal transmission means for transmitting an interrupt signal to the first CPU unit, wherein the first CPU unit An interrupt signal receiving means for receiving an interrupt signal transmitted by the transmitting means, and a data request signal for requesting data is transmitted to the second CPU unit when the interrupt signal is received by the interrupt signal receiving means. Data request signal transmission means, and the second CPU unit includes the data request signal. A data request signal receiving means for receiving the data request signal transmitted by the transmitting means; and a reading means for reading the data stored in the storage means when the data request signal is received by the data request signal receiving means. Further, it is preferable that the data transmission unit transmits the data read by the reading unit to the first CPU unit.
この構成によれば、第2のCPUユニットにおいて、抽出されたデータが記憶手段に記憶され、記憶手段にデータが記憶されたか否かが判断され、記憶手段にデータが記憶されたと判断された場合、第1のCPUユニットへ割り込み信号が送信される。そして、第1のCPUユニットにおいて、第2のCPUユニットによって送信された割り込み信号が受信された場合、データを要求するためのデータ要求信号が第2のCPUユニットへ送信される。続いて、第2のCPUユニットにおいて、第1のCPUユニットによって送信されたデータ要求信号が受信された場合、記憶手段に記憶されているデータが読み出され、読み出されたデータが第1のCPUユニットへ送信される。 According to this configuration, when the second CPU unit stores the extracted data in the storage unit, determines whether or not the data is stored in the storage unit, and determines that the data is stored in the storage unit An interrupt signal is transmitted to the first CPU unit. When the interrupt signal transmitted by the second CPU unit is received by the first CPU unit, a data request signal for requesting data is transmitted to the second CPU unit. Subsequently, in the second CPU unit, when the data request signal transmitted by the first CPU unit is received, the data stored in the storage unit is read, and the read data is the first data It is transmitted to the CPU unit.
したがって、デバッグ用のデータが記憶手段に記憶された場合、第2のCPUユニットから第1のCPUユニットへ割り込み信号が送信されるので、第1のCPUユニットは常に第2のCPUユニットを監視する必要がなく、第2のCPUユニットにおいてデバッグ用のデータが抽出された場合にのみ第2のCPUユニットをデバッグすることができる。 Therefore, when debugging data is stored in the storage means, an interrupt signal is transmitted from the second CPU unit to the first CPU unit, so that the first CPU unit always monitors the second CPU unit. This is unnecessary, and the second CPU unit can be debugged only when debugging data is extracted in the second CPU unit.
また、上記の情報処理装置において、前記第1のCPUユニットは、外部装置によって送信されるコマンドを受信するコマンド受信手段をさらに備え、前記コマンドは、第1のCPUユニット及び第2のCPUユニットのうちのいずれをデバッグするかを指定する情報を含み、前記第1のCPUユニットは、前記コマンドに第1のCPUユニットをデバッグする情報が含まれている場合、前記データ要求信号送信手段によるデータ要求信号を送信しないよう設定する第1の設定手段をさらに備えることが好ましい。 In the above information processing apparatus, the first CPU unit further includes command receiving means for receiving a command transmitted by an external device, and the command includes the first CPU unit and the second CPU unit. The first CPU unit includes information designating which one to debug, and when the command includes information for debugging the first CPU unit, the data request signal transmitting means sends a data request It is preferable to further include first setting means for setting not to transmit a signal.
この構成によれば、第1のCPUユニットにおいて、外部装置によって送信されるコマンドが受信される。このコマンドには、第1のCPUユニット及び第2のCPUユニットのうちのいずれをデバッグするかを指定する情報が含まれる。第1のCPUユニットにおいて、コマンドに第1のCPUユニットをデバッグする情報が含まれている場合、データ要求信号送信手段によるデータ要求信号を送信しないよう設定される。 According to this configuration, the first CPU unit receives a command transmitted by the external device. This command includes information for designating which of the first CPU unit and the second CPU unit to debug. In the first CPU unit, when the command includes information for debugging the first CPU unit, the data request signal is not transmitted by the data request signal transmitting means.
したがって、第1のCPUユニットをデバッグする場合、第2のCPUユニットからの割り込み信号を受信したとしてもデータ要求信号が送信されず、第2のCPUユニットからデバッグ用のデータが送信されないので、第1のCPUユニットにおけるデバッグ用のデータと第2のCPUユニットにおけるデバッグ用のデータとが同時に出力されることがなくなり、第1のCPUユニットのみをデバッグすることができる。 Therefore, when debugging the first CPU unit, even if an interrupt signal from the second CPU unit is received, the data request signal is not transmitted, and the debugging data is not transmitted from the second CPU unit. The debugging data in the first CPU unit and the debugging data in the second CPU unit are not output at the same time, and only the first CPU unit can be debugged.
また、上記の情報処理装置において、前記第1のCPUユニットは、外部装置によって送信されるコマンドを受信するコマンド受信手段をさらに備え、前記コマンドは、第1のCPUユニット及び第2のCPUユニットのうちのいずれをデバッグするかを指定する情報を含み、前記第2のCPUユニットは、前記コマンドに第1のCPUユニットをデバッグする情報が含まれている場合、前記割り込み信号送信手段による割り込み信号を送信しないよう設定する第2の設定手段をさらに備えることが好ましい。 In the above information processing apparatus, the first CPU unit further includes command receiving means for receiving a command transmitted by an external device, and the command includes the first CPU unit and the second CPU unit. Information for specifying which one to debug, and when the command includes information for debugging the first CPU unit, the second CPU unit outputs an interrupt signal from the interrupt signal transmitting means. It is preferable to further include second setting means for setting so as not to transmit.
この構成によれば、第1のCPUユニットにおいて、外部装置によって送信されるコマンドが受信される。このコマンドには、第1のCPUユニット及び第2のCPUユニットのうちのいずれをデバッグするかを指定する情報が含まれる。第2のCPUユニットにおいて、コマンドに第1のCPUユニットをデバッグする情報が含まれている場合、割り込み信号送信手段による割り込み信号を送信しないよう設定される。 According to this configuration, the first CPU unit receives a command transmitted by the external device. This command includes information for designating which of the first CPU unit and the second CPU unit to debug. In the second CPU unit, when the command includes information for debugging the first CPU unit, the interrupt signal is not transmitted by the interrupt signal transmitting means.
したがって、第1のCPUユニットをデバッグする場合、第2のCPUユニットから割り込み信号が送信されず、第2のCPUユニットからデバッグ用のデータが送信されないので、第1のCPUユニットにおけるデバッグ用のデータと第2のCPUユニットにおけるデバッグ用のデータとが同時に出力されることがなくなり、第1のCPUユニットのみをデバッグすることができる。 Therefore, when debugging the first CPU unit, the interrupt signal is not transmitted from the second CPU unit, and the debug data is not transmitted from the second CPU unit. Therefore, the debug data in the first CPU unit is not transmitted. And debugging data in the second CPU unit are not output at the same time, and only the first CPU unit can be debugged.
また、上記の情報処理装置において、前記情報処理装置は、画像を形成する画像形成装置であり、前記第1のCPUユニットは、前記画像形成装置全体を制御する制御部を含み、前記第2のCPUユニットは、前記画像形成装置が内蔵する駆動源を制御するエンジン制御部を含むことが好ましい。 In the above information processing apparatus, the information processing apparatus is an image forming apparatus that forms an image, and the first CPU unit includes a control unit that controls the entire image forming apparatus, and the second CPU The CPU unit preferably includes an engine control unit that controls a drive source built in the image forming apparatus.
この構成によれば、画像形成装置が内蔵する駆動源を制御するエンジン制御部のように装置内部に組み込まれており、外部装置を接続して直接デバッグすることが困難なCPUユニットであっても、外部装置を接続することが容易な画像形成装置全体を制御する制御部を介してデバッグすることができる。 According to this configuration, even if the CPU unit is built in the apparatus like an engine control unit that controls a drive source built in the image forming apparatus and is difficult to directly debug by connecting an external device. Debugging can be performed via a control unit that controls the entire image forming apparatus that can be easily connected to an external device.
本発明によれば、デバッグ機能を有しない第2のCPUユニットにおいてデバッグに用いるデータが自動的に抽出され、第1のCPUユニットへ送信されるので、デバッグ機能を有していないCPUの不具合が発生した瞬間の状態を捉えることができる。 According to the present invention, since data used for debugging is automatically extracted and transmitted to the first CPU unit in the second CPU unit that does not have the debugging function, there is a problem with the CPU that does not have the debugging function. The state of the moment when it occurs can be captured.
以下、本発明の一実施形態に係る情報処理装置について図面を参照しながら説明する。図1は、本発明に係る情報処理装置の一例である画像形成装置及びそれに接続されるPC(パーソナルコンピュータ)のハードウェア構成の概要を示すブロック図である。画像形成装置10は、例えばプリンタ、複写機及びファクシミリ装置等である。なお、本実施形態においては画像形成装置10を情報処理装置の一例として説明するが、本発明は特にこれに限定されず、画像形成装置10以外の情報処理装置等にも適用可能である。
Hereinafter, an information processing apparatus according to an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing an outline of the hardware configuration of an image forming apparatus which is an example of an information processing apparatus according to the present invention and a PC (personal computer) connected thereto. The
画像形成装置10は、通信により接続され協調して動作を行う2つのCPU(中央演算処理装置)11,21により制御される組み込み装置である。画像形成装置10は、第1CPUユニット1及び第2CPUユニット2を備えて構成される。第1CPUユニット1は、CPU11、ROM(リードオンリメモリ)12、RAM(ランダムアクセスメモリ)13、操作パネル部14、通信部15及び通信部16を備える。CPU11、ROM12、RAM13、操作パネル部14、通信部15及び通信部16は、ローカルなバスにより接続される。第2CPUユニット2は、CPU21、通信部22、ROM23及びRAM24を備える。CPU21、通信部22、ROM23及びRAM24は、ローカルなバスにより接続される。
The
第1CPUユニット1及び第2CPUユニット2は通信部15と通信部22とを接続することにより通信可能に接続されている。これらの通信部15,22は、例えばシリアル通信インターフェースであり、シリアル通信により通信が行われる。これは例えばバスによる接続であってもよい。画像形成装置10には第1及び第2CPUユニット1,2の他にこれらのCPUユニット1,2に接続されCPU11,21によって制御され画像形成機能(例えばコピー機能)を実行する部品群があるがここでは図示せず、説明を省略する。
The
なお、情報処理装置が画像形成装置である場合、第1CPUユニット1は、例えば画像形成装置全体を制御するコントローラ(制御部)であり、第2CPUユニット2は、例えば第1CPUユニット1によって制御され、画像形成装置が内蔵するローラやクラッチ等を駆動するモータ(駆動源)等を制御するエンジン制御部である。この場合、画像形成装置が内蔵する駆動源を制御するエンジン制御部のように装置内部に組み込まれており、PCを接続して直接デバッグすることが困難なCPUユニットであっても、PCを接続することが比較的容易な画像形成装置全体を制御する制御部を介してデバッグすることができる。また、第2CPUユニット2は、例えば第1CPUユニット1によって制御され、画像形成された用紙の後処理(ソート処理やステイプル処理等)を行う後処理装置であってもよい。
When the information processing apparatus is an image forming apparatus, the
画像形成装置10にはユーザがデバッグ機能を操作する端末としてPC3が通信部16を介して接続されている。PC3は主にCPU31、通信部32、RAM33、HDD34、表示装置35及び入力装置36により構成される。以下に第1及び第2CPUユニット1,2及びPC3の各構成部の説明を行う。
A PC 3 is connected to the
CPU11は、ROM12に格納されたプログラムを実行しCPU21と協調して画像形成装置10を制御して画像形成等を行う。通信部16は、PC3を接続するためのもので、例えばシリアル通信インターフェースである。ROM12は、CPU11で実行するプログラムを格納するためのメモリである。このプログラムは、画像形成装置10を制御するファームウェアとデバッグ機能を与えるためのデバッガプログラムとを含む。RAM13は、CPU11に一時的な作業領域等を与えるためのメモリである。操作パネル部14は、画像形成装置10に対する操作指示をユーザが入力するためのもので例えば液晶ディスプレイ等の表示部とテンキー及びスタートキー等の操作キー部を有する。PC3の代わりに操作パネル部14をデバッグ機能の操作に使用するようにしてもよい。通信部15は、第2CPUユニット2の通信部22と接続するためのものであり、CPUユニット1,2間でのプロセッサ間通信メッセージ等を送受信しCPU11及びCPU21が協調して動作を行うため等に使用される。通信部16は、PC3の通信部32と接続するための例えばシリアル通信インターフェースである。
The
CPU21は、ROM23に格納されたプログラムを実行しCPU11と協調して画像形成装置10を制御して画像形成等を行う。通信部22は、通信部15と接続するためのものでCPUユニット1,2間でのプロセッサ間通信メッセージ等を送受信しCPU11及びCPU21が協調して動作を行うため等に使用される。ROM23は、CPU21で実行するプログラムを格納するためのメモリである。このプログラムは、第1CPUユニット1とは異なり、デバッガプログラムを含まず、ファームウェアのみを含む。RAM24は、CPU21に一時的な作業領域等を与えるためのメモリである。RAM24は、後述する送信バッファと変化ステータスバッファとを含む。
The
CPU31は、RAM33内のプログラムを実行する。通信部32は、第1CPUユニット1の通信部16と接続するための例えばシリアル通信インターフェースである。この通信インターフェースによりPC3から第1CPUユニット1へのデバッグコマンドの送信及び逆経路でデバッグコマンドに対する返信が行われる。RAM33は、HDD34に格納されたプログラムのうちCPU31で実行する部分を一時的に格納するための主記憶装置である。HDD(ハードディスク駆動装置)34は、CPU31で実行するプログラム等を格納する外部記憶装置である。表示装置35は、例えば液晶表示装置等で構成され、PC3の表示用ユーザインターフェースとして使用されるものである。入力装置36は、例えばキーボード及びマウスなどで構成され、PC3の入力用インターフェースとして使用されるものである。
The
ここで、第1CPUユニット1のCPU11、第2CPUユニット2のCPU21及びPC3のCPU31で実行されるプログラムについて説明する。CPU31で実行されるプログラムは、主にPC側デバッガプログラム及びOS(オペレーティングシステム)である。OSは、PC3の基本ソフトウェアでPC3にて実行するアプリケーションソフトウェア(PC側デバッガプログラムを含む)とPC3のハードウェアとの仲介を行うソフトウェアである。PC側デバッガプログラムは、PC3で動作するアプリケーションソフトウェアであり、ユーザにより入力装置36を使用して起動/終了され操作される。ユーザは、PC側デバッガプログラムの操作としてデバッグコマンド、及び第1CPUユニット1と第2CPUユニット2とのうちのいずれをデバッグするかを指定する。また、ユーザは、表示装置35へ表示されたデバッグコマンドの実行結果を確認することが可能である。
Here, programs executed by the
CPU11で実行されるプログラムは、第1CPUユニット側ファームウェア及び第1CPUユニット側デバッガプログラムである。第1CPUユニット側ファームウェアは、画像形成装置10、すなわち第1CPUユニット1及び第2CPUユニット2を制御するプログラムであり、デバッグ対象プログラム(デバッグされるプログラム)である。第1CPUユニット側デバッガプログラムは、CPU11が実行する第1CPUユニット側ファームウェア及びCPU21が実行する第2CPUユニット側ファームウェアのデバッグのための処理を行うプログラムである。画像形成装置10が起動された時点で第1CPUユニット側デバッガプログラムは起動される。第1CPUユニット側デバッガプログラムは必要に応じて第1CPUユニット側ファームウェアを起動する。
The programs executed by the
CPU21で実行されるプログラムは、第2CPUユニット側ファームウェアである。第2CPUユニット側ファームウェアは、第2CPUユニット2を制御するプログラムであり、デバッグ対象プログラムである。
The program executed by the
PC側デバッガプログラムにおいてユーザが実行指示したデバッグコマンドはOSを介して第1CPUユニット側デバッガプログラムにデバッグコマンド送信文字列として送信される。受信したデバッグコマンドに対する返信は送信と逆の経路でPC側デバッガプログラムに送られる。 The debug command that the user has instructed to execute in the PC-side debugger program is transmitted as a debug command transmission character string to the first CPU unit-side debugger program via the OS. A reply to the received debug command is sent to the PC-side debugger program through the reverse route of transmission.
第1CPUユニット側ファームウェアと第2CPUユニット側ファームウェア間のプロセッサ間通信におけるプロセッサ間通信メッセージの送受信は第1CPUユニット側デバッガプログラム及び第2CPUユニット側ファームウェアを介して行われる。第1CPUユニット側ファームウェアから第2CPUユニット側ファームウェアに対するプロセッサ間通信メッセージは所定の通信フレーム(通信において送受信されるデータの単位)を第1CPUユニット側デバッガプログラムから第2CPUユニット側ファームウェアに送られる。第2CPUユニット側ファームウェアから第1CPUユニット側ファームウェアへの通信フレームの送信は逆の経路となる。 Transmission / reception of inter-processor communication messages in inter-processor communication between the first CPU unit-side firmware and the second CPU unit-side firmware is performed via the first CPU unit-side debugger program and the second CPU unit-side firmware. An inter-processor communication message from the first CPU unit side firmware to the second CPU unit side firmware is sent from the first CPU unit side debugger program to the second CPU unit side firmware in a predetermined communication frame (unit of data transmitted and received in communication). Transmission of the communication frame from the second CPU unit side firmware to the first CPU unit side firmware takes the reverse path.
プロセッサ間通信メッセージで使用する所定の通信フレーム(フォーマット)はデバッグコマンド及びその返信を第1CPUユニット側デバッガプログラム及び第2CPUユニット側ファームウェア間で送受信する場合にも使用される。 The predetermined communication frame (format) used in the inter-processor communication message is also used when a debug command and its reply are transmitted and received between the first CPU unit-side debugger program and the second CPU unit-side firmware.
図2は、第1CPUユニット1及び第2CPUユニット2の機能構成を示すブロック図である。第1CPUユニット1は、CPU11、通信部15及び通信部16を備える。通信部16はデバッグコマンド受信部161を備える。デバッグコマンド受信部161は、PC3によって送信されるデバッグコマンドを受信する。なお、デバッグコマンドには、第1CPUユニット1及び第2CPUユニット2のうちのいずれをデバッグするかを指定する情報が含まれる。また、デバッグコマンドには、ファームウェアに含まれる所定の関数の実行指示、メモリからのデータの読み出し指示、メモリへのデータの書き換え指示なども含まれる。
FIG. 2 is a block diagram showing a functional configuration of the
CPU11は、デバッグ設定部111及びデバッグ実行部112を備える。デバッグ設定部111は、デバッグコマンド受信部161によって受信されたデバッグコマンドを解析し、デバッグ対象が第1CPUユニット1及び第2CPUユニット2のいずれであるかを判断する。デバッグ設定部111は、デバッグ対象が第1CPUユニット1である場合、データ要求信号送信部153に対してデータ要求信号を送信しないよう設定する。また、デバッグ設定部111は、デバッグ対象が第2CPUユニット2である場合、開始指示信号を第2CPUユニット2へ送信するべく開始指示信号送信部151に指示する。
The
デバッグ実行部112は、デバッグ対象が第1CPUユニット1である場合、第1CPUユニット1に記憶されているファームウェアのデバッグを実行する。また、デバッグ実行部112は、デバッグ対象が第2CPUユニット2である場合、デバッグデータ受信部154によって受信されたデバッグデータを用いてデバッグを実行する。
When the debug target is the
通信部15は、開始指示信号送信部151、割り込み信号受信部152、データ要求信号送信部153及びデバッグデータ受信部154を備える。開始指示信号送信部151は、デバッグ設定部111からの指示に基づき開始指示信号を第2CPUユニット2へ送信する。割り込み信号受信部152は、第2CPUユニット2によって送信された割り込み信号を受信する。データ要求信号送信部153は、割り込み信号受信部152によって割り込み信号が受信された場合、デバッグデータを要求するためのデータ要求信号を第2CPUユニット2へ送信する。デバッグデータ受信部154は、第2CPUユニット2によって送信されたデバッグデータを受信する。
The
第2CPUユニット2は、CPU21、通信部22及びRAM24を備える。通信部22は、開始指示信号受信部221、割り込み信号送信部222、データ要求信号受信部223及びデバッグデータ送信部224を備える。CPU21は、デバッグデータ抽出部211、判断部212及びデバッグデータ読出部213を備える。
The
開始指示信号受信部221は、第1CPUユニット1によって送信された開始指示信号を受信する。デバッグデータ抽出部211は、開始指示信号受信部221によって開始指示信号が受信された場合、第2CPUユニット2に記憶されているファームウェアを実行し、デバッグに用いるデバッグデータを抽出する。デバッグデータ抽出部211は、送信バッファ241及び変化ステータスバッファ242に格納されるデータ内容を監視し、抽出したデバッグデータを送信バッファ241へ出力するとともに、送信バッファ241から変化ステータスバッファ242へデバッグデータを出力する。
The start instruction
判断部212は、変化ステータスバッファ242にデバッグデータが記憶されたか否かを判断する。割り込み信号送信部222は、判断部212によって変化ステータスバッファ242にデバッグデータが記憶されたと判断された場合、第1CPUユニット1へ割り込み信号を送信する。データ要求信号受信部223は、第1CPUユニット1によって送信されたデータ要求信号を受信する。
The
デバッグデータ読出部213は、データ要求信号受信部223によってデータ要求信号が受信された場合、変化ステータスバッファ242からデバッグデータを読み出す。デバッグデータ送信部224は、デバッグデータ読出部213によって読み出されたデバッグデータを第1CPUユニット1へ送信する。
The debug
RAM24は、送信バッファ241及び変化ステータスバッファ242を備える。送信バッファ241は、デバッグデータ抽出部211によって抽出されたデバッグデータを記憶する。なお、送信バッファ241が記憶するデバッグデータは、例えば複数の文字で構成される。変化ステータスバッファ242は、第2CPUユニット2の状態変化情報を記憶するものであり、送信バッファ241から出力されたデバッグデータを記憶する。なお、送信バッファ241は、複数の文字を1文字ずつ順次変化ステータスバッファ242へ出力する。変化ステータスバッファ242が記憶するデバッグデータは、例えば複数の文字を1文字ずつ記憶する。
The
なお、変化ステータスバッファ242が記憶する第2CPUユニット2の状態変化情報とは、例えば第2CPUユニット2が後処理装置である場合、側面カバーが開いた状態であることを表す情報等である。つまり、状態変化情報とは、第2CPUユニット2の状態が変化した場合に、当該変化した状態を自発的に第1CPUユニット1へ通知するための情報である。
Note that the state change information of the
本実施の形態において、画像形成装置10が情報処理装置の一例に相当し、第1CPUユニット1が第1のCPUユニットの一例に相当し、第2CPUユニット2が第2のCPUユニットの一例に相当し、デバッグデータ抽出部211が抽出手段の一例に相当し、デバッグデータ送信部224がデータ送信手段の一例に相当し、デバッグデータ受信部154がデータ受信手段の一例に相当し、デバッグ実行部112が実行手段の一例に相当する。
In the present embodiment, the
また、RAM24が記憶手段の一例に相当し、判断部212が判断手段の一例に相当し、割り込み信号送信部222が割り込み信号送信手段の一例に相当し、割り込み信号受信部152が割り込み信号受信手段の一例に相当し、データ要求信号送信部153がデータ要求信号送信手段の一例に相当し、データ要求信号受信部223がデータ要求信号受信手段の一例に相当し、デバッグデータ読出部213が読出手段の一例に相当する。さらに、デバッグコマンド受信部161がコマンド受信手段の一例に相当し、デバッグ設定部111が第1の設定手段の一例に相当する。
The
次に、第1CPUユニット1及び第2CPUユニット2によるデバッグ動作について説明する。図3は、図2に示す第1CPUユニット1及び第2CPUユニット2によるデバッグ動作について説明するためのフローチャートである。
Next, the debugging operation by the
まず、PC3の入力装置36は、ユーザによるデバッグコマンドの入力を受け付ける。このとき、入力装置36は、第1CPUユニット1及び第2CPUユニット2のうちのいずれのユニットのプログラムをデバッグするかを受け付ける。通信部32は、入力装置36によって受け付けられたデバッグコマンドを第1CPUユニット1へ送信する。そして、第1CPUユニット1のデバッグコマンド受信部161は、PC3によって送信されたデバッグコマンドを受信する(ステップS1)。デバッグコマンド受信部161は、受信したデバッグコマンドをデバッグ設定部111へ出力する。
First, the
次に、デバッグ設定部111は、デバッグコマンド受信部161によって受信されたデバッグコマンドを解析する(ステップS2)。デバッグコマンドを解析した結果、デバッグコマンドに第1CPUユニット1をデバッグする旨を表す情報が含まれている場合、デバッグ設定部111は、割り込み信号が受信されたとしてもデータ要求信号を送信しないようデータ要求信号送信部153を設定する(ステップS3)。また、デバッグコマンドを解析した結果、デバッグコマンドに第2CPUユニット2をデバッグする旨を表す情報が含まれている場合、デバッグ設定部111は、第2CPUユニット2をデバッグするべく開始指示信号を開始指示信号送信部151へ出力する。
Next, the debug setting unit 111 analyzes the debug command received by the debug command receiving unit 161 (step S2). As a result of analyzing the debug command, when the debug command includes information indicating that the
次に、デバッグ設定部111は、第1CPUユニット1をデバッグするか否かを判断する(ステップS4)。ここで、第1CPUユニット1をデバッグすると判断された場合(ステップS4でYES)、ステップS9の処理へ移行し、デバッグ実行部112は、ROM12に記憶されているファームウェアのデバッグを実行する。
Next, the debug setting unit 111 determines whether or not to debug the first CPU unit 1 (step S4). If it is determined that the
一方、第1CPUユニット1をデバッグしない、すなわち第2CPUユニット2をデバッグすると判断された場合(ステップS4でNO)、開始指示信号送信部151は、開始指示信号を第2CPUユニット2へ送信する(ステップS5)。
On the other hand, when it is determined not to debug the
次に、第2CPUユニット2の開始指示信号受信部221は、第1CPUユニット1によって送信された開始指示信号を受信する(ステップS11)。開始指示信号受信部221によって開始指示信号が受信されると、デバッグデータ抽出部211は、ROM23に記憶されているファームウェアを実行し、デバッグ用のデータ(デバッグデータ)を抽出し(ステップS12)、抽出したデバッグデータを送信バッファ241へ出力する(ステップS13)。なお、デバッグデータの抽出は、デバッグデータ抽出部211がファームウェアに含まれるデバッグデータを出力するための出力関数を実行することにより抽出される。この出力関数としては、例えばC言語の汎用出力関数であるprintf関数を用いる。
Next, the start instruction
このように、プログラムの中からデバッグに用いるデータを出力するための出力関数が実行されることでデバッグに用いるデータが抽出されるので、予めプログラムに記述されている出力関数を実行することにより、容易にデバッグに用いるデータを抽出することができる。なお、本実施の形態では、C言語の汎用出力関数であるprintf関数を用いているが、本発明は特にこれに限定されず、他の言語の出力関数を用いてもよい。 Thus, since the data used for debugging is extracted by executing the output function for outputting the data used for debugging from the program, by executing the output function described in advance in the program, Data used for debugging can be easily extracted. In this embodiment, the printf function, which is a general-purpose output function in C language, is used. However, the present invention is not particularly limited to this, and output functions in other languages may be used.
次に、デバッグデータ抽出部211は、送信バッファ241の記憶内容を監視し、送信バッファ241にデバッグデータが格納されているか否かを判断する(ステップS14)。ここで、送信バッファ241にデバッグデータが格納されていないと判断された場合(ステップS14でNO)、ステップS12の処理へ戻り、デバッグデータを抽出する処理を実行する。
Next, the debug
一方、送信バッファ241にデバッグデータが格納されていると判断された場合(ステップS14でYES)、デバッグデータ抽出部211は、送信バッファ241に記憶されているデバッグデータを変化ステータスバッファ242へ出力する(ステップS15)。このとき、送信バッファ241に複数の文字で構成されるデバッグデータが記憶されている場合、デバッグデータ抽出部211は、先頭の文字から順番に1文字ずつ送信バッファ241から取り出し、変化ステータスバッファ242へ出力する。
On the other hand, when it is determined that debug data is stored in the transmission buffer 241 (YES in step S14), the debug
次に、判断部212は、変化ステータスバッファ242の記憶内容を監視し、変化ステータスバッファ242が空であるか否かを判断する(ステップS16)。ここで、変化ステータスバッファ242が空であると判断された場合(ステップS16でYES)、判断部212は、変化ステータスバッファ242にデバッグデータが格納されるまで所定間隔でステップS16の判断を繰り返し実行する。
Next, the
一方、変化ステータスバッファ242が空でないと判断された場合(ステップS16でNO)、判断部212は、第1CPUユニット1において割り込み処理を発生させるべく割り込み信号を割り込み信号送信部222へ出力する。次に、割り込み信号送信部222は、割り込み信号を第1CPUユニット1へ送信する(ステップS17)。
On the other hand, when it is determined that the
次に、第1CPUユニット1の割り込み信号受信部152は、第2CPUユニット2によって送信された割り込み信号を受信する(ステップS6)。割り込み信号受信部152によって割り込み信号が受信されると、データ要求信号送信部153は、デバッグデータの送信を要求するためのデータ要求信号を第2CPUユニット2へ送信する(ステップS7)。
Next, the interrupt
次に、第2CPUユニット2のデータ要求信号受信部223は、第1CPUユニット1によって送信されたデータ要求信号を受信する(ステップS18)。次に、データ要求信号受信部223によってデータ要求信号が受信されると、デバッグデータ読出部213は、変化ステータスバッファ242に記憶されているデバッグデータを読み出す(ステップS19)。デバッグデータ読出部213は、読み出したデバッグデータをデバッグデータ送信部224へ出力する。
Next, the data
次に、デバッグデータ送信部224は、デバッグデータ読出部213によって変化ステータスバッファ242から読み出されたデバッグデータを第1CPUユニット1へ送信する(ステップS20)。そして、デバッグデータが第1CPUユニット1へ送信された後、ステップS14の処理へ戻り、送信バッファ241にデバッグデータがあるか否かが判断され、以降の処理が実行される。
Next, the debug
次に、第1CPUユニット1のデバッグデータ受信部154は、第2CPUユニット2によって送信されたデバッグデータを受信する(ステップS8)。デバッグデータ受信部154は、受信したデバッグデータをデバッグ実行部112へ出力する。
Next, the debug
次に、デバッグ実行部112は、デバッグデータ受信部154によって受信されたデバッグデータを用いてデバッグ機能を実行する(ステップS9)。具体的に、デバッグ実行部112は、通信部16を介してデバッグデータをPC3へ出力する。PC3の通信部32は、第1CPUユニット1によって送信されたデバッグデータを受信し、表示装置35へ出力する。表示装置35は、通信部32によって受信されたデバッグデータを表示する。このようにして、入力装置36により入力されたデバッグコマンドに対するデバッグ結果が、表示装置35に表示される。
Next, the
次に、図2に示す第1CPUユニット1及び第2CPUユニット2による具体的なデバッグ動作について説明する。図4は、図2に示す第1CPUユニット1及び第2CPUユニット2による具体的なデバッグ動作について説明するための模式図である。
Next, a specific debugging operation by the
まず、第2CPUユニット2のデバッグデータ抽出部211は、ROM23に記憶されているプログラム(ファームウェア)231を実行し、デバッグ用のデータ(デバッグデータ)を抽出し、抽出したデバッグデータを送信バッファ241へ出力する。なお、図4では、“BUG”というデバッグデータを送信する処理について説明する。このとき、デバッグデータ抽出部211は、プログラム231に含まれるprintf関数を実行することにより、“BUG”というデバッグデータが抽出され、送信バッファ241に格納される。
First, the debug
送信バッファ241にデバッグデータが格納されると、デバッグデータ抽出部211は、送信バッファ241の先頭から1文字目のデバッグデータを変化ステータスバッファ242へ出力する。この場合、送信バッファ241の先頭に位置する“B”というデバッグデータが変化ステータスバッファ242へ出力される。
When debug data is stored in the
そして、変化ステータスバッファ242に“B”というデバッグデータが格納されると、割り込み信号送信部222は、割り込み信号(割り込み要求)を第1CPUユニット1へ送信する(ステップS101)。次に、第1CPUユニット1において、割り込み信号受信部152によって割り込み信号が受信されると、データ要求信号送信部153は、データ要求信号(データ要求)を第2CPUユニット2へ送信する(ステップS102)。
Then, when debug data “B” is stored in the
次に、第2CPUユニット2において、データ要求信号受信部223によってデータ要求信号が受信されると、デバッグデータ読出部213は、変化ステータスバッファ242に記憶されている“B”というデバッグデータを読み出し、デバッグデータ送信部224へ出力する。次に、デバッグデータ送信部224は、データ要求信号の応答信号として、変化ステータスバッファ242から読み出された“B”というデバッグデータを第1CPUユニット1へ送信する(ステップS103)。
Next, in the
次に、第1CPUユニット1のデバッグデータ受信部154によって“B”というデバッグデータが受信されると、デバッグ実行部112は、通信部16を介して“B”というデバッグデータをPC3へ送信する。PC3の表示装置35は、受信した“B”というデバッグデータを表示する。
Next, when debug data “B” is received by the debug
以上のようにして、“BUG”という複数の文字で構成されるデバッグデータのうちの“B”というデバッグデータがPC3の表示装置35に表示される。
As described above, the debug data “B” among the debug data composed of a plurality of characters “BUG” is displayed on the
続いて、デバッグデータ抽出部211は、送信バッファ241の先頭から2文字目のデバッグデータを変化ステータスバッファ242へ出力する。この場合、送信バッファ241の先頭から2文字目に位置する“U”というデバッグデータが変化ステータスバッファ242へ出力される。
Subsequently, the debug
そして、変化ステータスバッファ242に“U”というデバッグデータが格納されると、割り込み信号送信部222は、割り込み信号(割り込み要求)を第1CPUユニット1へ送信する(ステップS104)。次に、第1CPUユニット1において、割り込み信号受信部152によって割り込み信号が受信されると、データ要求信号送信部153は、データ要求信号(データ要求)を第2CPUユニット2へ送信する(ステップS105)。
When debug data “U” is stored in the
次に、第2CPUユニット2において、データ要求信号受信部223によってデータ要求信号が受信されると、デバッグデータ読出部213は、変化ステータスバッファ242に記憶されている“U”というデバッグデータを読み出し、デバッグデータ送信部224へ出力する。次に、デバッグデータ送信部224は、データ要求信号の応答信号として、変化ステータスバッファ242から読み出された“U”というデバッグデータを第1CPUユニット1へ送信する(ステップS106)。
Next, in the
次に、第1CPUユニット1のデバッグデータ受信部154によって“U”というデバッグデータが受信されると、デバッグ実行部112は、通信部16を介して“U”というデバッグデータをPC3へ送信する。PC3の表示装置35は、受信した“U”というデバッグデータを表示する。
Next, when debug data “U” is received by the debug
以上のようにして、“BUG”という複数の文字で構成されるデバッグデータのうちの“BU”というデバッグデータがPC3の表示装置35に表示される。
As described above, the debug data “BU” among the debug data composed of a plurality of characters “BUG” is displayed on the
同様に、デバッグデータ抽出部211は、送信バッファ241の先頭から3文字目のデバッグデータを変化ステータスバッファ242へ出力する。この場合、送信バッファ241の先頭から3文字目に位置する“G”というデバッグデータが変化ステータスバッファ242へ出力される。
Similarly, the debug
そして、変化ステータスバッファ242に“G”というデバッグデータが格納されると、割り込み信号送信部222は、割り込み信号(割り込み要求)を第1CPUユニット1へ送信する(ステップS107)。次に、第1CPUユニット1において、割り込み信号受信部152によって割り込み信号が受信されると、データ要求信号送信部153は、データ要求信号(データ要求)を第2CPUユニット2へ送信する(ステップS108)。
When the debug data “G” is stored in the
次に、第2CPUユニット2において、データ要求信号受信部223によってデータ要求信号が受信されると、デバッグデータ読出部213は、変化ステータスバッファ242に記憶されている“G”というデバッグデータを読み出し、デバッグデータ送信部224へ出力する。次に、デバッグデータ送信部224は、データ要求信号の応答信号として、変化ステータスバッファ242から読み出された“G”というデバッグデータを第1CPUユニット1へ送信する(ステップS109)。
Next, in the
次に、第1CPUユニット1のデバッグデータ受信部154によって“G”というデバッグデータが受信されると、デバッグ実行部112は、通信部16を介して“G”というデバッグデータをPC3へ送信する。PC3の表示装置35は、受信した“G”というデバッグデータを表示する。
Next, when debug data “G” is received by the debug
以上のようにして、“BUG”という複数の文字で構成されるデバッグデータのうちの“BUG”というデバッグデータがPC3の表示装置35に表示される。
As described above, debug data “BUG” out of debug data composed of a plurality of characters “BUG” is displayed on the
このように、画像形成装置10は、CPU11及びCPU21が実行するプログラムをデバッグするためのデバッグ機能を有する第1CPUユニット1と、デバッグ機能を有しない第2CPUユニット2とを備えている。そして、第2CPUユニット2において、デバッグに用いるデータ(デバッグデータ)が抽出され、抽出されたデバッグデータが第1CPUユニット1へ送信される。第1CPUユニット1において、第2CPUユニット2から送信されたデバッグデータが受信され、受信されたデバッグデータを用いてデバッグ機能が実行される。
As described above, the
したがって、デバッグ機能を有しない第2CPUユニット2においてデバッグに用いるデータが自動的に抽出され、第1CPUユニット1へ送信されるので、デバッグ機能を有していないCPU21の不具合が発生した瞬間の状態を捉えることができる。
Therefore, since data used for debugging is automatically extracted and transmitted to the
また、第2CPUユニット2において、抽出されたデバッグデータがRAM24の変化ステータスバッファ242に記憶され、変化ステータスバッファ242にデータが記憶されたか否かが判断され、変化ステータスバッファ242にデータが記憶されたと判断された場合、第1CPUユニット1へ割り込み信号が送信される。そして、第1CPUユニット1において、第2CPUユニット2によって送信された割り込み信号が受信された場合、デバッグデータを要求するためのデータ要求信号が第2CPUユニット2へ送信される。続いて、第2CPUユニット2において、第1CPUユニット1によって送信されたデータ要求信号が受信された場合、変化ステータスバッファ242に記憶されているデバッグデータが読み出され、読み出されたデバッグデータが第1CPUユニット1へ送信される。
Further, in the
したがって、デバッグ用のデータがRAM24の変化ステータスバッファ242に記憶された場合、第2CPUユニット2から第1CPUユニット1へ割り込み信号が送信されるので、第1CPUユニット1は常に第2CPUユニット2を監視する必要がなく、第2CPUユニット2においてデバッグ用のデータが抽出された場合にのみ第2CPUユニット2をデバッグすることができる。
Accordingly, when debugging data is stored in the
さらに、第1CPUユニット1において、PC3によって送信されるデバッグコマンドが受信される。このデバッグコマンドには、第1CPUユニット1及び第2CPUユニット2のうちのいずれをデバッグするかを指定する情報が含まれる。第1CPUユニット1において、デバッグコマンドに第1CPUユニット1をデバッグする情報が含まれている場合、データ要求信号送信部153によるデータ要求信号を送信しないよう設定される。
Further, the
したがって、第1CPUユニット1をデバッグする場合、第2CPUユニット2からの割り込み信号を受信したとしてもデータ要求信号が送信されず、第2CPUユニット2からデバッグ用のデータが送信されないので、第1CPUユニット1におけるデバッグ用のデータと第2CPUユニット2におけるデバッグ用のデータとが同時に出力されることがなくなり、第1CPUユニット1のみをデバッグすることができる。
Therefore, when debugging the
なお、本実施の形態では、デバッグコマンドに第1CPUユニット1をデバッグする旨を表す情報が含まれている場合、割り込み信号が受信されたとしてもデータ要求信号を送信しないようデータ要求信号送信部153を設定しているが、本発明は特にこれに限定されず、デバッグコマンドに第1CPUユニット1をデバッグする旨を表す情報が含まれている場合、割り込み信号を送信しないよう割り込み信号送信部222を設定してもよい。
In the present embodiment, when the debug command includes information indicating that the
図5は、割り込み信号を送信しないよう割り込み信号送信部222を設定する場合における第1CPUユニット1及び第2CPUユニット2の機能構成を示すブロック図である。なお、図5において、図2に示す第1CPUユニット1及び第2CPUユニット2と同じ構成については説明を省略し、異なる構成のみを説明する。
FIG. 5 is a block diagram showing a functional configuration of the
CPU11は、デバッグ実行部112及び第1デバッグ設定部113を備える。通信部15は、開始指示信号送信部151、割り込み信号受信部152、データ要求信号送信部153、デバッグデータ受信部154及び設定信号送信部155を備える。通信部22は、開始指示信号受信部221、割り込み信号送信部222、データ要求信号受信部223、デバッグデータ送信部224及び設定信号受信部225を備える。CPU21は、デバッグデータ抽出部211、判断部212、デバッグデータ読出部213及び第2デバッグ設定部214を備える。
The
第1デバッグ設定部113は、デバッグ対象が第2CPUユニット2である場合、開始指示信号を第2CPUユニット2へ送信するべく開始指示信号送信部151に指示する。また、第1デバッグ設定部113は、デバッグ対象が第1CPUユニット1である場合、第2CPUユニット2が割り込み信号を送信しないように設定するための設定信号を設定信号送信部155に出力する。
When the debug target is the
設定信号送信部155は、第1デバッグ設定部113によって出力された設定信号を第2CPUユニット2へ送信する。設定信号受信部225は、第1CPUユニット1の設定信号送信部155によって送信された設定信号を受信する。設定信号受信部225は、受信した設定信号を第2デバッグ設定部214に出力する。第2デバッグ設定部214は、設定信号受信部225によって設定信号が受信された場合、割り込み信号送信部222に対して割り込み信号を送信しないよう設定する。
The setting
なお、本実施の形態において、第1デバッグ設定部113、設定信号送信部155、設定信号受信部225及び第2デバッグ設定部214が第2の設定手段の一例に相当する。
In the present embodiment, the first
このように、設定信号受信部225によって第2CPUユニット2が割り込み信号を送信しないように設定するための設定信号が受信された場合、割り込み信号送信部222に対して割り込み信号を送信しないよう設定される。したがって、第1CPUユニット1をデバッグする場合、第2CPUユニット2から割り込み信号が送信されず、第2CPUユニット2からデバッグデータが送信されないので、第1CPUユニット1におけるデバッグデータと第2CPUユニット2におけるデバッグデータとが同時に出力されることがなくなり、第1CPUユニット1のみをデバッグすることができる。
In this way, when the setting signal for setting the
1 第1CPUユニット
2 第2CPUユニット
10 画像形成装置
11,21,31 CPU
12,23 ROM
13,24,33 RAM
14 操作パネル部
15,16,22,32 通信部
34 HDD
35 表示装置
36 入力装置
111 デバッグ設定部
112 デバッグ実行部
113 第1デバッグ設定部
151 開始指示信号送信部
152 割り込み信号受信部
153 データ要求信号送信部
154 デバッグデータ受信部
155 設定信号送信部
161 デバッグコマンド受信部
211 デバッグデータ抽出部
212 判断部
213 デバッグデータ読出部
214 第2デバッグ設定部
221 開始指示信号受信部
222 割り込み信号送信部
223 データ要求信号受信部
224 デバッグデータ送信部
225 設定信号受信部
241 送信バッファ
242 変化ステータスバッファ
DESCRIPTION OF
12,23 ROM
13, 24, 33 RAM
14
35
Claims (6)
複数のCPUユニットが備える各CPUが実行するプログラムをデバッグするためのデバッグ機能を有する第1のCPUユニットと、
前記デバッグ機能を有しない第2のCPUユニットとを備え、
前記第2のCPUユニットは、
デバッグに用いるデータを抽出する抽出手段と、
前記抽出手段によって抽出されたデータを前記第1のCPUユニットへ送信するデータ送信手段とを備え、
前記第1のCPUユニットは、
前記データ送信手段によって送信されたデータを受信するデータ受信手段と、
前記データ受信手段によって受信されたデータを用いてデバッグ機能を実行する実行手段とを備えることを特徴とする情報処理装置。 An information processing apparatus in which a plurality of CPU units including a CPU that executes a program and a memory that stores the program are connected to be communicable with each other,
A first CPU unit having a debugging function for debugging a program executed by each CPU included in the plurality of CPU units;
A second CPU unit not having the debugging function,
The second CPU unit is
An extraction means for extracting data used for debugging;
Data transmission means for transmitting the data extracted by the extraction means to the first CPU unit;
The first CPU unit is
Data receiving means for receiving data transmitted by the data transmitting means;
An information processing apparatus comprising: execution means for executing a debugging function using data received by the data receiving means.
前記抽出手段によって抽出されたデータを記憶する記憶手段と、
前記記憶手段にデータが記憶されたか否かを判断する判断手段と、
前記判断手段によって前記記憶手段にデータが記憶されたと判断された場合、前記第1のCPUユニットへ割り込み信号を送信する割り込み信号送信手段とをさらに備え、
前記第1のCPUユニットは、
前記割り込み信号送信手段によって送信された割り込み信号を受信する割り込み信号受信手段と、
前記割り込み信号受信手段によって割り込み信号が受信された場合、データを要求するためのデータ要求信号を前記第2のCPUユニットへ送信するデータ要求信号送信手段とをさらに備え、
前記第2のCPUユニットは、
前記データ要求信号送信手段によって送信されたデータ要求信号を受信するデータ要求信号受信手段と、
前記データ要求信号受信手段によってデータ要求信号が受信された場合、前記記憶手段に記憶されているデータを読み出す読出手段とをさらに備え、
前記データ送信手段は、前記読出手段によって読み出されたデータを前記第1のCPUユニットへ送信することを特徴とする請求項1又は2記載の情報処理装置。 The second CPU unit is
Storage means for storing data extracted by the extraction means;
Determination means for determining whether data is stored in the storage means;
An interrupt signal transmitting means for transmitting an interrupt signal to the first CPU unit when the determining means determines that data is stored in the storage means;
The first CPU unit is
Interrupt signal receiving means for receiving the interrupt signal transmitted by the interrupt signal transmitting means;
A data request signal transmitting means for transmitting a data request signal for requesting data to the second CPU unit when an interrupt signal is received by the interrupt signal receiving means;
The second CPU unit is
Data request signal receiving means for receiving the data request signal transmitted by the data request signal transmitting means;
A reading means for reading data stored in the storage means when a data request signal is received by the data request signal receiving means;
The information processing apparatus according to claim 1, wherein the data transmission unit transmits the data read by the reading unit to the first CPU unit.
前記コマンドは、第1のCPUユニット及び第2のCPUユニットのうちのいずれをデバッグするかを指定する情報を含み、
前記第1のCPUユニットは、前記コマンドに第1のCPUユニットをデバッグする情報が含まれている場合、前記データ要求信号送信手段によるデータ要求信号を送信しないよう設定する第1の設定手段をさらに備えることを特徴とする請求項3記載の情報処理装置。 The first CPU unit further comprises command receiving means for receiving a command transmitted by an external device,
The command includes information specifying which of the first CPU unit and the second CPU unit to debug,
The first CPU unit further includes first setting means for setting not to transmit a data request signal by the data request signal transmitting means when the command includes information for debugging the first CPU unit. The information processing apparatus according to claim 3, further comprising:
前記コマンドは、第1のCPUユニット及び第2のCPUユニットのうちのいずれをデバッグするかを指定する情報を含み、
前記第2のCPUユニットは、前記コマンドに第1のCPUユニットをデバッグする情報が含まれている場合、前記割り込み信号送信手段による割り込み信号を送信しないよう設定する第2の設定手段をさらに備えることを特徴とする請求項3記載の情報処理装置。 The first CPU unit further comprises command receiving means for receiving a command transmitted by an external device,
The command includes information specifying which of the first CPU unit and the second CPU unit to debug,
The second CPU unit further comprises second setting means for setting the interrupt signal transmission means not to transmit an interrupt signal when the command includes information for debugging the first CPU unit. The information processing apparatus according to claim 3.
前記第1のCPUユニットは、前記画像形成装置全体を制御する制御部を含み、
前記第2のCPUユニットは、前記画像形成装置が内蔵する駆動源を制御するエンジン制御部を含むことを特徴とする請求項1〜5のいずれかに記載の情報処理装置。 The information processing apparatus is an image forming apparatus that forms an image;
The first CPU unit includes a control unit that controls the entire image forming apparatus,
The information processing apparatus according to claim 1, wherein the second CPU unit includes an engine control unit that controls a drive source built in the image forming apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005337006A JP4494329B2 (en) | 2005-11-22 | 2005-11-22 | Information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005337006A JP4494329B2 (en) | 2005-11-22 | 2005-11-22 | Information processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007141138A true JP2007141138A (en) | 2007-06-07 |
JP4494329B2 JP4494329B2 (en) | 2010-06-30 |
Family
ID=38203888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005337006A Expired - Fee Related JP4494329B2 (en) | 2005-11-22 | 2005-11-22 | Information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4494329B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009031689A (en) * | 2007-07-30 | 2009-02-12 | Ricoh Co Ltd | Temperature-monitoring device, and temperature-monitoring method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0298749A (en) * | 1988-10-06 | 1990-04-11 | Nec Corp | Program monitoring system |
JPH06332747A (en) * | 1993-05-25 | 1994-12-02 | Nec Corp | Program debug method for multiprocessor system |
JPH09198277A (en) * | 1996-01-19 | 1997-07-31 | Mitsubishi Electric Corp | Emulator device |
JP2005292988A (en) * | 2004-03-31 | 2005-10-20 | Sharp Corp | Information processor, and image forming apparatus |
-
2005
- 2005-11-22 JP JP2005337006A patent/JP4494329B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0298749A (en) * | 1988-10-06 | 1990-04-11 | Nec Corp | Program monitoring system |
JPH06332747A (en) * | 1993-05-25 | 1994-12-02 | Nec Corp | Program debug method for multiprocessor system |
JPH09198277A (en) * | 1996-01-19 | 1997-07-31 | Mitsubishi Electric Corp | Emulator device |
JP2005292988A (en) * | 2004-03-31 | 2005-10-20 | Sharp Corp | Information processor, and image forming apparatus |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009031689A (en) * | 2007-07-30 | 2009-02-12 | Ricoh Co Ltd | Temperature-monitoring device, and temperature-monitoring method |
Also Published As
Publication number | Publication date |
---|---|
JP4494329B2 (en) | 2010-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20120290884A1 (en) | Information processing apparatus that detects startup error, method of controlling the same, and storage medium | |
CN107885635B (en) | Black screen detection method, mobile terminal and computer readable storage medium | |
US8756592B2 (en) | Information processor and information updating method | |
JP5726000B2 (en) | Information processing apparatus, information processing method, and program | |
US9894243B2 (en) | Non-transitory computer-readable medium storing instructions and image forming apparatus, to perform monitoring of status information | |
JP4494329B2 (en) | Information processing device | |
US8886712B2 (en) | Communication device | |
JP2007141139A (en) | Information processing apparatus | |
JP2007334888A (en) | Drive for multifunctional device | |
JP4558376B2 (en) | controller | |
JP5074680B2 (en) | Data processing apparatus, data processing method thereof, and program | |
JP3971361B2 (en) | Multiprocessor system having debugging function and program for multiprocessor system | |
JP6164823B2 (en) | Printing device | |
JP4562439B2 (en) | Program verification system and computer program for controlling program verification system | |
JP4208461B2 (en) | Software system operation check device | |
JP6904189B2 (en) | Printer | |
JP2012212985A (en) | Image reading device | |
JP2008033472A (en) | Automatic evaluation system of printer | |
JP4208460B2 (en) | Software system operation check device | |
JPH11161591A (en) | Data communication equipment, data communication method, storage medium and device driver | |
JP2009009466A (en) | Log information processor and log information processing program | |
JP2005316643A (en) | Cpu emulator for wireless data transmission/reception system | |
JP4872934B2 (en) | Computer system, client computer, OS termination method, and OS termination program | |
JP2004171318A (en) | Debug method, debug system, information processing unit, debug device and program | |
JP2006092435A (en) | Installation method of device driver and peripheral equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100202 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100319 |
|
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: 20100406 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100407 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4494329 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130416 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130416 Year of fee payment: 3 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130416 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130416 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140416 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |