JP2007141138A - Information processing apparatus - Google Patents

Information processing apparatus Download PDF

Info

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
Application number
JP2005337006A
Other languages
Japanese (ja)
Other versions
JP4494329B2 (en
Inventor
Akihiro Kobayashi
昭浩 小林
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Mita Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Mita Corp filed Critical Kyocera Mita Corp
Priority to JP2005337006A priority Critical patent/JP4494329B2/en
Publication of JP2007141138A publication Critical patent/JP2007141138A/en
Application granted granted Critical
Publication of JP4494329B2 publication Critical patent/JP4494329B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processing apparatus that can capture the state at a moment when a CPU without any debugging function fails. <P>SOLUTION: A first CPU unit 1 has a debugging function of debugging programs executed by a CPU 11 and a CPU 21, and a second CPU unit 2 does not have any debugging function. A debugging data extraction part 211 of the second CPU unit 2 extracts data to be debugged, and a debugging data transmission part 224 transmits the data extracted by the debugging data extraction part 211 to the first CPU unit 1. A debugging data reception part 154 of the first CPU unit 1 receives the data transmitted by the debugging data transmission part 224, and a debugging execution part 112 executes the debugging function over the data received by the debugging data reception part 154. <P>COPYRIGHT: (C)2007,JPO&INPIT

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, Patent Document 1 discloses a controller unit including a first memory for both reading and writing, a control unit that controls a control target based on data in the first memory, and a first communication unit for monitoring. A monitoring unit including a second memory for both reading and writing, a monitoring unit for monitoring data in the second memory, and a second communication unit for monitoring; a direct memory access unit provided in the controller unit; A monitoring device for a controller unit having The monitoring device of the controller unit transfers the data in the first memory of the controller unit to the first communication unit by the direct memory access unit, and transfers the data from the first communication unit to the second communication unit. Further, the data is transferred to the second memory of the monitoring unit, the monitoring unit monitors the temporal change of the data in the first memory based on the transferred data, and the second memory is based on the monitoring result. The updated data is updated, the updated data is transferred from the second communication unit to the first communication unit, and further transferred from the first communication unit to the first memory by the direct memory access unit.

また、上述のようにデバッグ機能を各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上で動作するファームウェアのサブルーチンを直接実行する情報を通信プロトコルに内包するリモートデバッグ方法が提案されている。
特許第3027062号公報
Further, in the information processing apparatus having the above hardware configuration, the communication protocol includes information for directly executing a subroutine of a firmware operating on the second CPU in the communication protocol for debugging the second CPU having no debugging function. Remote debugging methods have been proposed.
Japanese Patent No. 3027062

しかしながら、上記のリモートデバッグ方法では、第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 image forming apparatus 10 is, for example, a printer, a copier, a facsimile machine, or the like. In the present embodiment, the image forming apparatus 10 is described as an example of an information processing apparatus. However, the present invention is not particularly limited thereto, and can be applied to an information processing apparatus other than the image forming apparatus 10.

画像形成装置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 image forming apparatus 10 is an embedded apparatus that is controlled by two CPUs (Central Processing Units) 11 and 21 that are connected by communication and operate in cooperation. The image forming apparatus 10 includes a first CPU unit 1 and a second CPU unit 2. The first CPU unit 1 includes a CPU 11, a ROM (read only memory) 12, a RAM (random access memory) 13, an operation panel unit 14, a communication unit 15, and a communication unit 16. The CPU 11, ROM 12, RAM 13, operation panel unit 14, communication unit 15 and communication unit 16 are connected by a local bus. The second CPU unit 2 includes a CPU 21, a communication unit 22, a ROM 23 and a RAM 24. The CPU 21, the communication unit 22, the ROM 23, and the RAM 24 are connected by a local bus.

第1CPUユニット1及び第2CPUユニット2は通信部15と通信部22とを接続することにより通信可能に接続されている。これらの通信部15,22は、例えばシリアル通信インターフェースであり、シリアル通信により通信が行われる。これは例えばバスによる接続であってもよい。画像形成装置10には第1及び第2CPUユニット1,2の他にこれらのCPUユニット1,2に接続されCPU11,21によって制御され画像形成機能(例えばコピー機能)を実行する部品群があるがここでは図示せず、説明を省略する。   The first CPU unit 1 and the second CPU unit 2 are communicably connected by connecting the communication unit 15 and the communication unit 22. These communication units 15 and 22 are, for example, serial communication interfaces, and communicate by serial communication. This may be a bus connection, for example. In addition to the first and second CPU units 1 and 2, the image forming apparatus 10 includes a group of components that are connected to the CPU units 1 and 2 and controlled by the CPUs 11 and 21 to execute an image forming function (for example, a copy function). Here, it is not shown and description is omitted.

なお、情報処理装置が画像形成装置である場合、第1CPUユニット1は、例えば画像形成装置全体を制御するコントローラ(制御部)であり、第2CPUユニット2は、例えば第1CPUユニット1によって制御され、画像形成装置が内蔵するローラやクラッチ等を駆動するモータ(駆動源)等を制御するエンジン制御部である。この場合、画像形成装置が内蔵する駆動源を制御するエンジン制御部のように装置内部に組み込まれており、PCを接続して直接デバッグすることが困難なCPUユニットであっても、PCを接続することが比較的容易な画像形成装置全体を制御する制御部を介してデバッグすることができる。また、第2CPUユニット2は、例えば第1CPUユニット1によって制御され、画像形成された用紙の後処理(ソート処理やステイプル処理等)を行う後処理装置であってもよい。   When the information processing apparatus is an image forming apparatus, the first CPU unit 1 is a controller (control unit) that controls the entire image forming apparatus, for example, and the second CPU unit 2 is controlled by the first CPU unit 1, for example. An engine control unit that controls a motor (drive source) that drives a roller, a clutch, and the like built in the image forming apparatus. In this case, even if it is a CPU unit that is difficult to debug directly by connecting a PC, such as an engine control unit that controls a drive source built in the image forming apparatus, the PC is connected. It is possible to debug through the control unit that controls the entire image forming apparatus that is relatively easy to do. The second CPU unit 2 may be a post-processing device that is controlled by, for example, the first CPU unit 1 and performs post-processing (sorting processing, stapling processing, etc.) of paper on which images have been formed.

画像形成装置10にはユーザがデバッグ機能を操作する端末としてPC3が通信部16を介して接続されている。PC3は主にCPU31、通信部32、RAM33、HDD34、表示装置35及び入力装置36により構成される。以下に第1及び第2CPUユニット1,2及びPC3の各構成部の説明を行う。   A PC 3 is connected to the image forming apparatus 10 via a communication unit 16 as a terminal for a user to operate a debugging function. The PC 3 mainly includes a CPU 31, a communication unit 32, a RAM 33, an HDD 34, a display device 35, and an input device 36. Hereinafter, the components of the first and second CPU units 1 and 2 and the PC 3 will be described.

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 CPU 11 executes a program stored in the ROM 12 and controls the image forming apparatus 10 in cooperation with the CPU 21 to perform image formation and the like. The communication unit 16 is for connecting the PC 3 and is, for example, a serial communication interface. The ROM 12 is a memory for storing a program executed by the CPU 11. This program includes firmware for controlling the image forming apparatus 10 and a debugger program for providing a debugging function. The RAM 13 is a memory for giving a temporary work area or the like to the CPU 11. The operation panel unit 14 is used by a user to input an operation instruction to the image forming apparatus 10, and includes a display unit such as a liquid crystal display and operation key units such as a numeric keypad and a start key. Instead of the PC 3, the operation panel unit 14 may be used for the debugging function. The communication unit 15 is for connecting to the communication unit 22 of the second CPU unit 2, for transmitting and receiving inter-processor communication messages between the CPU units 1 and 2, and for the CPU 11 and CPU 21 to operate in cooperation, etc. Used for. The communication unit 16 is, for example, a serial communication interface for connecting to the communication unit 32 of the PC 3.

CPU21は、ROM23に格納されたプログラムを実行しCPU11と協調して画像形成装置10を制御して画像形成等を行う。通信部22は、通信部15と接続するためのものでCPUユニット1,2間でのプロセッサ間通信メッセージ等を送受信しCPU11及びCPU21が協調して動作を行うため等に使用される。ROM23は、CPU21で実行するプログラムを格納するためのメモリである。このプログラムは、第1CPUユニット1とは異なり、デバッガプログラムを含まず、ファームウェアのみを含む。RAM24は、CPU21に一時的な作業領域等を与えるためのメモリである。RAM24は、後述する送信バッファと変化ステータスバッファとを含む。   The CPU 21 executes a program stored in the ROM 23 and controls the image forming apparatus 10 in cooperation with the CPU 11 to perform image formation. The communication unit 22 is connected to the communication unit 15 and is used for transmitting and receiving inter-processor communication messages between the CPU units 1 and 2 and for the CPU 11 and the CPU 21 to operate in cooperation. The ROM 23 is a memory for storing a program executed by the CPU 21. Unlike the first CPU unit 1, this program does not include a debugger program but includes only firmware. The RAM 24 is a memory for providing a temporary work area or the like to the CPU 21. The RAM 24 includes a transmission buffer and a change status buffer which will be described later.

CPU31は、RAM33内のプログラムを実行する。通信部32は、第1CPUユニット1の通信部16と接続するための例えばシリアル通信インターフェースである。この通信インターフェースによりPC3から第1CPUユニット1へのデバッグコマンドの送信及び逆経路でデバッグコマンドに対する返信が行われる。RAM33は、HDD34に格納されたプログラムのうちCPU31で実行する部分を一時的に格納するための主記憶装置である。HDD(ハードディスク駆動装置)34は、CPU31で実行するプログラム等を格納する外部記憶装置である。表示装置35は、例えば液晶表示装置等で構成され、PC3の表示用ユーザインターフェースとして使用されるものである。入力装置36は、例えばキーボード及びマウスなどで構成され、PC3の入力用インターフェースとして使用されるものである。   The CPU 31 executes a program in the RAM 33. The communication unit 32 is, for example, a serial communication interface for connecting to the communication unit 16 of the first CPU unit 1. Through this communication interface, a debug command is transmitted from the PC 3 to the first CPU unit 1 and a reply to the debug command is performed in the reverse path. The RAM 33 is a main storage device for temporarily storing a part executed by the CPU 31 among programs stored in the HDD 34. An HDD (Hard Disk Drive Device) 34 is an external storage device that stores programs executed by the CPU 31. The display device 35 is composed of a liquid crystal display device, for example, and is used as a display user interface of the PC 3. The input device 36 includes, for example, a keyboard and a mouse, and is used as an input interface for the PC 3.

ここで、第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 CPU 11 of the first CPU unit 1, the CPU 21 of the second CPU unit 2, and the CPU 31 of the PC 3 will be described. Programs executed by the CPU 31 are mainly a PC-side debugger program and an OS (operating system). The OS is software that mediates between application software (including a PC-side debugger program) executed on the PC 3 by basic software of the PC 3 and hardware of the PC 3. The PC-side debugger program is application software that runs on the PC 3, and is activated / terminated by the user using the input device 36 and operated. The user designates a debug command as an operation of the PC-side debugger program and which of the first CPU unit 1 and the second CPU unit 2 to debug. Further, the user can check the execution result of the debug command displayed on the display device 35.

CPU11で実行されるプログラムは、第1CPUユニット側ファームウェア及び第1CPUユニット側デバッガプログラムである。第1CPUユニット側ファームウェアは、画像形成装置10、すなわち第1CPUユニット1及び第2CPUユニット2を制御するプログラムであり、デバッグ対象プログラム(デバッグされるプログラム)である。第1CPUユニット側デバッガプログラムは、CPU11が実行する第1CPUユニット側ファームウェア及びCPU21が実行する第2CPUユニット側ファームウェアのデバッグのための処理を行うプログラムである。画像形成装置10が起動された時点で第1CPUユニット側デバッガプログラムは起動される。第1CPUユニット側デバッガプログラムは必要に応じて第1CPUユニット側ファームウェアを起動する。   The programs executed by the CPU 11 are first CPU unit side firmware and first CPU unit side debugger program. The first CPU unit side firmware is a program for controlling the image forming apparatus 10, that is, the first CPU unit 1 and the second CPU unit 2, and is a program to be debugged (program to be debugged). The first CPU unit side debugger program is a program that performs processing for debugging the first CPU unit side firmware executed by the CPU 11 and the second CPU unit side firmware executed by the CPU 21. When the image forming apparatus 10 is activated, the first CPU unit side debugger program is activated. The first CPU unit-side debugger program activates the first CPU unit-side firmware as necessary.

CPU21で実行されるプログラムは、第2CPUユニット側ファームウェアである。第2CPUユニット側ファームウェアは、第2CPUユニット2を制御するプログラムであり、デバッグ対象プログラムである。   The program executed by the CPU 21 is second CPU unit side firmware. The second CPU unit side firmware is a program for controlling the second CPU unit 2 and is a program to be debugged.

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 first CPU unit 1 and the second CPU unit 2. The first CPU unit 1 includes a CPU 11, a communication unit 15, and a communication unit 16. The communication unit 16 includes a debug command receiving unit 161. The debug command receiving unit 161 receives a debug command transmitted by the PC 3. The debug command includes information that specifies which of the first CPU unit 1 and the second CPU unit 2 is to be debugged. The debug command also includes an instruction to execute a predetermined function included in the firmware, an instruction to read data from the memory, an instruction to rewrite data to the memory, and the like.

CPU11は、デバッグ設定部111及びデバッグ実行部112を備える。デバッグ設定部111は、デバッグコマンド受信部161によって受信されたデバッグコマンドを解析し、デバッグ対象が第1CPUユニット1及び第2CPUユニット2のいずれであるかを判断する。デバッグ設定部111は、デバッグ対象が第1CPUユニット1である場合、データ要求信号送信部153に対してデータ要求信号を送信しないよう設定する。また、デバッグ設定部111は、デバッグ対象が第2CPUユニット2である場合、開始指示信号を第2CPUユニット2へ送信するべく開始指示信号送信部151に指示する。   The CPU 11 includes a debug setting unit 111 and a debug execution unit 112. The debug setting unit 111 analyzes the debug command received by the debug command receiving unit 161 and determines whether the debug target is the first CPU unit 1 or the second CPU unit 2. When the debug target is the first CPU unit 1, the debug setting unit 111 sets the data request signal transmission unit 153 not to transmit the data request signal. In addition, when the debug target is the second CPU unit 2, the debug setting unit 111 instructs the start instruction signal transmission unit 151 to transmit a start instruction signal to the second CPU unit 2.

デバッグ実行部112は、デバッグ対象が第1CPUユニット1である場合、第1CPUユニット1に記憶されているファームウェアのデバッグを実行する。また、デバッグ実行部112は、デバッグ対象が第2CPUユニット2である場合、デバッグデータ受信部154によって受信されたデバッグデータを用いてデバッグを実行する。   When the debug target is the first CPU unit 1, the debug executing unit 112 executes debugging of firmware stored in the first CPU unit 1. In addition, when the debug target is the second CPU unit 2, the debug executing unit 112 executes debugging using the debug data received by the debug data receiving unit 154.

通信部15は、開始指示信号送信部151、割り込み信号受信部152、データ要求信号送信部153及びデバッグデータ受信部154を備える。開始指示信号送信部151は、デバッグ設定部111からの指示に基づき開始指示信号を第2CPUユニット2へ送信する。割り込み信号受信部152は、第2CPUユニット2によって送信された割り込み信号を受信する。データ要求信号送信部153は、割り込み信号受信部152によって割り込み信号が受信された場合、デバッグデータを要求するためのデータ要求信号を第2CPUユニット2へ送信する。デバッグデータ受信部154は、第2CPUユニット2によって送信されたデバッグデータを受信する。   The communication unit 15 includes a start instruction signal transmission unit 151, an interrupt signal reception unit 152, a data request signal transmission unit 153, and a debug data reception unit 154. The start instruction signal transmission unit 151 transmits a start instruction signal to the second CPU unit 2 based on an instruction from the debug setting unit 111. The interrupt signal receiving unit 152 receives the interrupt signal transmitted by the second CPU unit 2. When the interrupt signal receiving unit 152 receives an interrupt signal, the data request signal transmitting unit 153 transmits a data request signal for requesting debug data to the second CPU unit 2. The debug data receiving unit 154 receives debug data transmitted by the second CPU unit 2.

第2CPUユニット2は、CPU21、通信部22及びRAM24を備える。通信部22は、開始指示信号受信部221、割り込み信号送信部222、データ要求信号受信部223及びデバッグデータ送信部224を備える。CPU21は、デバッグデータ抽出部211、判断部212及びデバッグデータ読出部213を備える。   The second CPU unit 2 includes a CPU 21, a communication unit 22, and a RAM 24. The communication unit 22 includes a start instruction signal reception unit 221, an interrupt signal transmission unit 222, a data request signal reception unit 223, and a debug data transmission unit 224. The CPU 21 includes a debug data extraction unit 211, a determination unit 212, and a debug data reading unit 213.

開始指示信号受信部221は、第1CPUユニット1によって送信された開始指示信号を受信する。デバッグデータ抽出部211は、開始指示信号受信部221によって開始指示信号が受信された場合、第2CPUユニット2に記憶されているファームウェアを実行し、デバッグに用いるデバッグデータを抽出する。デバッグデータ抽出部211は、送信バッファ241及び変化ステータスバッファ242に格納されるデータ内容を監視し、抽出したデバッグデータを送信バッファ241へ出力するとともに、送信バッファ241から変化ステータスバッファ242へデバッグデータを出力する。   The start instruction signal receiving unit 221 receives the start instruction signal transmitted by the first CPU unit 1. When the start instruction signal is received by the start instruction signal receiver 221, the debug data extractor 211 executes the firmware stored in the second CPU unit 2 and extracts debug data used for debugging. The debug data extraction unit 211 monitors data contents stored in the transmission buffer 241 and the change status buffer 242, outputs the extracted debug data to the transmission buffer 241, and outputs debug data from the transmission buffer 241 to the change status buffer 242. Output.

判断部212は、変化ステータスバッファ242にデバッグデータが記憶されたか否かを判断する。割り込み信号送信部222は、判断部212によって変化ステータスバッファ242にデバッグデータが記憶されたと判断された場合、第1CPUユニット1へ割り込み信号を送信する。データ要求信号受信部223は、第1CPUユニット1によって送信されたデータ要求信号を受信する。   The determination unit 212 determines whether debug data is stored in the change status buffer 242. The interrupt signal transmission unit 222 transmits an interrupt signal to the first CPU unit 1 when the determination unit 212 determines that the debug data is stored in the change status buffer 242. The data request signal receiving unit 223 receives the data request signal transmitted by the first CPU unit 1.

デバッグデータ読出部213は、データ要求信号受信部223によってデータ要求信号が受信された場合、変化ステータスバッファ242からデバッグデータを読み出す。デバッグデータ送信部224は、デバッグデータ読出部213によって読み出されたデバッグデータを第1CPUユニット1へ送信する。   The debug data reading unit 213 reads debug data from the change status buffer 242 when the data request signal is received by the data request signal receiving unit 223. The debug data transmitting unit 224 transmits the debug data read by the debug data reading unit 213 to the first CPU unit 1.

RAM24は、送信バッファ241及び変化ステータスバッファ242を備える。送信バッファ241は、デバッグデータ抽出部211によって抽出されたデバッグデータを記憶する。なお、送信バッファ241が記憶するデバッグデータは、例えば複数の文字で構成される。変化ステータスバッファ242は、第2CPUユニット2の状態変化情報を記憶するものであり、送信バッファ241から出力されたデバッグデータを記憶する。なお、送信バッファ241は、複数の文字を1文字ずつ順次変化ステータスバッファ242へ出力する。変化ステータスバッファ242が記憶するデバッグデータは、例えば複数の文字を1文字ずつ記憶する。   The RAM 24 includes a transmission buffer 241 and a change status buffer 242. The transmission buffer 241 stores the debug data extracted by the debug data extraction unit 211. Note that the debug data stored in the transmission buffer 241 is composed of, for example, a plurality of characters. The change status buffer 242 stores state change information of the second CPU unit 2 and stores debug data output from the transmission buffer 241. Note that the transmission buffer 241 sequentially outputs a plurality of characters to the change status buffer 242 one by one. The debug data stored in the change status buffer 242 stores, for example, a plurality of characters one by one.

なお、変化ステータスバッファ242が記憶する第2CPUユニット2の状態変化情報とは、例えば第2CPUユニット2が後処理装置である場合、側面カバーが開いた状態であることを表す情報等である。つまり、状態変化情報とは、第2CPUユニット2の状態が変化した場合に、当該変化した状態を自発的に第1CPUユニット1へ通知するための情報である。   Note that the state change information of the second CPU unit 2 stored in the change status buffer 242 is, for example, information indicating that the side cover is open when the second CPU unit 2 is a post-processing device. That is, the state change information is information for voluntarily notifying the first CPU unit 1 of the changed state when the state of the second CPU unit 2 changes.

本実施の形態において、画像形成装置10が情報処理装置の一例に相当し、第1CPUユニット1が第1のCPUユニットの一例に相当し、第2CPUユニット2が第2のCPUユニットの一例に相当し、デバッグデータ抽出部211が抽出手段の一例に相当し、デバッグデータ送信部224がデータ送信手段の一例に相当し、デバッグデータ受信部154がデータ受信手段の一例に相当し、デバッグ実行部112が実行手段の一例に相当する。   In the present embodiment, the image forming apparatus 10 corresponds to an example of an information processing apparatus, the first CPU unit 1 corresponds to an example of a first CPU unit, and the second CPU unit 2 corresponds to an example of a second CPU unit. The debug data extraction unit 211 corresponds to an example of an extraction unit, the debug data transmission unit 224 corresponds to an example of a data transmission unit, the debug data reception unit 154 corresponds to an example of a data reception unit, and the debug execution unit 112 Corresponds to an example of execution means.

また、RAM24が記憶手段の一例に相当し、判断部212が判断手段の一例に相当し、割り込み信号送信部222が割り込み信号送信手段の一例に相当し、割り込み信号受信部152が割り込み信号受信手段の一例に相当し、データ要求信号送信部153がデータ要求信号送信手段の一例に相当し、データ要求信号受信部223がデータ要求信号受信手段の一例に相当し、デバッグデータ読出部213が読出手段の一例に相当する。さらに、デバッグコマンド受信部161がコマンド受信手段の一例に相当し、デバッグ設定部111が第1の設定手段の一例に相当する。   The RAM 24 corresponds to an example of a storage unit, the determination unit 212 corresponds to an example of a determination unit, the interrupt signal transmission unit 222 corresponds to an example of an interrupt signal transmission unit, and the interrupt signal reception unit 152 includes an interrupt signal reception unit. The data request signal transmitting unit 153 corresponds to an example of a data request signal transmitting unit, the data request signal receiving unit 223 corresponds to an example of a data request signal receiving unit, and the debug data reading unit 213 is a reading unit. It corresponds to an example. Further, the debug command receiving unit 161 corresponds to an example of a command receiving unit, and the debug setting unit 111 corresponds to an example of a first setting unit.

次に、第1CPUユニット1及び第2CPUユニット2によるデバッグ動作について説明する。図3は、図2に示す第1CPUユニット1及び第2CPUユニット2によるデバッグ動作について説明するためのフローチャートである。   Next, the debugging operation by the first CPU unit 1 and the second CPU unit 2 will be described. FIG. 3 is a flowchart for explaining a debugging operation by the first CPU unit 1 and the second CPU unit 2 shown in FIG.

まず、PC3の入力装置36は、ユーザによるデバッグコマンドの入力を受け付ける。このとき、入力装置36は、第1CPUユニット1及び第2CPUユニット2のうちのいずれのユニットのプログラムをデバッグするかを受け付ける。通信部32は、入力装置36によって受け付けられたデバッグコマンドを第1CPUユニット1へ送信する。そして、第1CPUユニット1のデバッグコマンド受信部161は、PC3によって送信されたデバッグコマンドを受信する(ステップS1)。デバッグコマンド受信部161は、受信したデバッグコマンドをデバッグ設定部111へ出力する。   First, the input device 36 of the PC 3 receives an input of a debug command by the user. At this time, the input device 36 accepts which unit of the first CPU unit 1 and the second CPU unit 2 is to be debugged. The communication unit 32 transmits the debug command received by the input device 36 to the first CPU unit 1. Then, the debug command receiving unit 161 of the first CPU unit 1 receives the debug command transmitted by the PC 3 (step S1). The debug command receiving unit 161 outputs the received debug command to the debug setting unit 111.

次に、デバッグ設定部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 first CPU unit 1 is debugged, the debug setting unit 111 does not transmit a data request signal even if an interrupt signal is received. The request signal transmission unit 153 is set (step S3). In addition, when the debug command includes information indicating that the second CPU unit 2 is debugged as a result of analyzing the debug command, the debug setting unit 111 issues a start instruction signal to debug the second CPU unit 2. The signal is output to the signal transmission unit 151.

次に、デバッグ設定部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 first CPU unit 1 is to be debugged (YES in step S4), the process proceeds to step S9, and the debug executing unit 112 executes debugging of the firmware stored in the ROM 12.

一方、第1CPUユニット1をデバッグしない、すなわち第2CPUユニット2をデバッグすると判断された場合(ステップS4でNO)、開始指示信号送信部151は、開始指示信号を第2CPUユニット2へ送信する(ステップS5)。   On the other hand, when it is determined not to debug the first CPU unit 1, that is, to debug the second CPU unit 2 (NO in step S4), the start instruction signal transmission unit 151 transmits a start instruction signal to the second CPU unit 2 (step S4). S5).

次に、第2CPUユニット2の開始指示信号受信部221は、第1CPUユニット1によって送信された開始指示信号を受信する(ステップS11)。開始指示信号受信部221によって開始指示信号が受信されると、デバッグデータ抽出部211は、ROM23に記憶されているファームウェアを実行し、デバッグ用のデータ(デバッグデータ)を抽出し(ステップS12)、抽出したデバッグデータを送信バッファ241へ出力する(ステップS13)。なお、デバッグデータの抽出は、デバッグデータ抽出部211がファームウェアに含まれるデバッグデータを出力するための出力関数を実行することにより抽出される。この出力関数としては、例えばC言語の汎用出力関数であるprintf関数を用いる。   Next, the start instruction signal receiving unit 221 of the second CPU unit 2 receives the start instruction signal transmitted by the first CPU unit 1 (step S11). When the start instruction signal is received by the start instruction signal receiving unit 221, the debug data extracting unit 211 executes the firmware stored in the ROM 23 and extracts debug data (debug data) (step S 12). The extracted debug data is output to the transmission buffer 241 (step S13). The debug data is extracted when the debug data extraction unit 211 executes an output function for outputting debug data included in the firmware. As this output function, for example, a printf function which is a general-purpose output function of C language is used.

このように、プログラムの中からデバッグに用いるデータを出力するための出力関数が実行されることでデバッグに用いるデータが抽出されるので、予めプログラムに記述されている出力関数を実行することにより、容易にデバッグに用いるデータを抽出することができる。なお、本実施の形態では、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 data extraction unit 211 monitors the storage contents of the transmission buffer 241 and determines whether debug data is stored in the transmission buffer 241 (step S14). If it is determined that debug data is not stored in the transmission buffer 241 (NO in step S14), the process returns to step S12 to execute a process of extracting debug data.

一方、送信バッファ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 data extraction unit 211 outputs the debug data stored in the transmission buffer 241 to the change status buffer 242. (Step S15). At this time, when debug data composed of a plurality of characters is stored in the transmission buffer 241, the debug data extraction unit 211 extracts the characters from the transmission buffer 241 one by one in order from the first character, and sends them to the change status buffer 242. Output.

次に、判断部212は、変化ステータスバッファ242の記憶内容を監視し、変化ステータスバッファ242が空であるか否かを判断する(ステップS16)。ここで、変化ステータスバッファ242が空であると判断された場合(ステップS16でYES)、判断部212は、変化ステータスバッファ242にデバッグデータが格納されるまで所定間隔でステップS16の判断を繰り返し実行する。   Next, the determination unit 212 monitors the stored contents of the change status buffer 242 and determines whether or not the change status buffer 242 is empty (step S16). If it is determined that the change status buffer 242 is empty (YES in step S16), the determination unit 212 repeatedly executes the determination in step S16 at predetermined intervals until debug data is stored in the change status buffer 242. To do.

一方、変化ステータスバッファ242が空でないと判断された場合(ステップS16でNO)、判断部212は、第1CPUユニット1において割り込み処理を発生させるべく割り込み信号を割り込み信号送信部222へ出力する。次に、割り込み信号送信部222は、割り込み信号を第1CPUユニット1へ送信する(ステップS17)。   On the other hand, when it is determined that the change status buffer 242 is not empty (NO in step S <b> 16), the determination unit 212 outputs an interrupt signal to the interrupt signal transmission unit 222 in order to generate an interrupt process in the first CPU unit 1. Next, the interrupt signal transmission unit 222 transmits an interrupt signal to the first CPU unit 1 (step S17).

次に、第1CPUユニット1の割り込み信号受信部152は、第2CPUユニット2によって送信された割り込み信号を受信する(ステップS6)。割り込み信号受信部152によって割り込み信号が受信されると、データ要求信号送信部153は、デバッグデータの送信を要求するためのデータ要求信号を第2CPUユニット2へ送信する(ステップS7)。   Next, the interrupt signal receiver 152 of the first CPU unit 1 receives the interrupt signal transmitted by the second CPU unit 2 (step S6). When the interrupt signal is received by the interrupt signal receiving unit 152, the data request signal transmitting unit 153 transmits a data request signal for requesting transmission of debug data to the second CPU unit 2 (step S7).

次に、第2CPUユニット2のデータ要求信号受信部223は、第1CPUユニット1によって送信されたデータ要求信号を受信する(ステップS18)。次に、データ要求信号受信部223によってデータ要求信号が受信されると、デバッグデータ読出部213は、変化ステータスバッファ242に記憶されているデバッグデータを読み出す(ステップS19)。デバッグデータ読出部213は、読み出したデバッグデータをデバッグデータ送信部224へ出力する。   Next, the data request signal receiver 223 of the second CPU unit 2 receives the data request signal transmitted by the first CPU unit 1 (step S18). Next, when the data request signal is received by the data request signal receiving unit 223, the debug data reading unit 213 reads the debug data stored in the change status buffer 242 (step S19). The debug data reading unit 213 outputs the read debug data to the debug data transmitting unit 224.

次に、デバッグデータ送信部224は、デバッグデータ読出部213によって変化ステータスバッファ242から読み出されたデバッグデータを第1CPUユニット1へ送信する(ステップS20)。そして、デバッグデータが第1CPUユニット1へ送信された後、ステップS14の処理へ戻り、送信バッファ241にデバッグデータがあるか否かが判断され、以降の処理が実行される。   Next, the debug data transmitting unit 224 transmits the debug data read from the change status buffer 242 by the debug data reading unit 213 to the first CPU unit 1 (step S20). Then, after the debug data is transmitted to the first CPU unit 1, the process returns to the process of step S14, it is determined whether or not there is debug data in the transmission buffer 241, and the subsequent processes are executed.

次に、第1CPUユニット1のデバッグデータ受信部154は、第2CPUユニット2によって送信されたデバッグデータを受信する(ステップS8)。デバッグデータ受信部154は、受信したデバッグデータをデバッグ実行部112へ出力する。   Next, the debug data receiving unit 154 of the first CPU unit 1 receives the debug data transmitted by the second CPU unit 2 (step S8). The debug data receiving unit 154 outputs the received debug data to the debug executing unit 112.

次に、デバッグ実行部112は、デバッグデータ受信部154によって受信されたデバッグデータを用いてデバッグ機能を実行する(ステップS9)。具体的に、デバッグ実行部112は、通信部16を介してデバッグデータをPC3へ出力する。PC3の通信部32は、第1CPUユニット1によって送信されたデバッグデータを受信し、表示装置35へ出力する。表示装置35は、通信部32によって受信されたデバッグデータを表示する。このようにして、入力装置36により入力されたデバッグコマンドに対するデバッグ結果が、表示装置35に表示される。   Next, the debug executing unit 112 executes a debug function using the debug data received by the debug data receiving unit 154 (step S9). Specifically, the debug execution unit 112 outputs debug data to the PC 3 via the communication unit 16. The communication unit 32 of the PC 3 receives the debug data transmitted by the first CPU unit 1 and outputs it to the display device 35. The display device 35 displays debug data received by the communication unit 32. In this way, the debug result for the debug command input by the input device 36 is displayed on the display device 35.

次に、図2に示す第1CPUユニット1及び第2CPUユニット2による具体的なデバッグ動作について説明する。図4は、図2に示す第1CPUユニット1及び第2CPUユニット2による具体的なデバッグ動作について説明するための模式図である。   Next, a specific debugging operation by the first CPU unit 1 and the second CPU unit 2 shown in FIG. 2 will be described. FIG. 4 is a schematic diagram for explaining a specific debugging operation by the first CPU unit 1 and the second CPU unit 2 shown in FIG.

まず、第2CPUユニット2のデバッグデータ抽出部211は、ROM23に記憶されているプログラム(ファームウェア)231を実行し、デバッグ用のデータ(デバッグデータ)を抽出し、抽出したデバッグデータを送信バッファ241へ出力する。なお、図4では、“BUG”というデバッグデータを送信する処理について説明する。このとき、デバッグデータ抽出部211は、プログラム231に含まれるprintf関数を実行することにより、“BUG”というデバッグデータが抽出され、送信バッファ241に格納される。   First, the debug data extraction unit 211 of the second CPU unit 2 executes a program (firmware) 231 stored in the ROM 23, extracts debug data (debug data), and sends the extracted debug data to the transmission buffer 241. Output. In FIG. 4, a process of transmitting debug data “BUG” will be described. At this time, the debug data extraction unit 211 extracts the debug data “BUG” by executing the printf function included in the program 231 and stores it in the transmission buffer 241.

送信バッファ241にデバッグデータが格納されると、デバッグデータ抽出部211は、送信バッファ241の先頭から1文字目のデバッグデータを変化ステータスバッファ242へ出力する。この場合、送信バッファ241の先頭に位置する“B”というデバッグデータが変化ステータスバッファ242へ出力される。   When debug data is stored in the transmission buffer 241, the debug data extraction unit 211 outputs debug data of the first character from the top of the transmission buffer 241 to the change status buffer 242. In this case, debug data “B” located at the head of the transmission buffer 241 is output to the change status buffer 242.

そして、変化ステータスバッファ242に“B”というデバッグデータが格納されると、割り込み信号送信部222は、割り込み信号(割り込み要求)を第1CPUユニット1へ送信する(ステップS101)。次に、第1CPUユニット1において、割り込み信号受信部152によって割り込み信号が受信されると、データ要求信号送信部153は、データ要求信号(データ要求)を第2CPUユニット2へ送信する(ステップS102)。   Then, when debug data “B” is stored in the change status buffer 242, the interrupt signal transmission unit 222 transmits an interrupt signal (interrupt request) to the first CPU unit 1 (step S101). Next, when the interrupt signal is received by the interrupt signal receiver 152 in the first CPU unit 1, the data request signal transmitter 153 transmits a data request signal (data request) to the second CPU unit 2 (step S102). .

次に、第2CPUユニット2において、データ要求信号受信部223によってデータ要求信号が受信されると、デバッグデータ読出部213は、変化ステータスバッファ242に記憶されている“B”というデバッグデータを読み出し、デバッグデータ送信部224へ出力する。次に、デバッグデータ送信部224は、データ要求信号の応答信号として、変化ステータスバッファ242から読み出された“B”というデバッグデータを第1CPUユニット1へ送信する(ステップS103)。   Next, in the second CPU unit 2, when the data request signal is received by the data request signal receiving unit 223, the debug data reading unit 213 reads the debug data “B” stored in the change status buffer 242, The data is output to the debug data transmission unit 224. Next, the debug data transmitting unit 224 transmits debug data “B” read from the change status buffer 242 to the first CPU unit 1 as a response signal of the data request signal (step S103).

次に、第1CPUユニット1のデバッグデータ受信部154によって“B”というデバッグデータが受信されると、デバッグ実行部112は、通信部16を介して“B”というデバッグデータをPC3へ送信する。PC3の表示装置35は、受信した“B”というデバッグデータを表示する。   Next, when debug data “B” is received by the debug data receiving unit 154 of the first CPU unit 1, the debug executing unit 112 transmits debug data “B” to the PC 3 via the communication unit 16. The display device 35 of the PC 3 displays the received debug data “B”.

以上のようにして、“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 display device 35 of the PC 3.

続いて、デバッグデータ抽出部211は、送信バッファ241の先頭から2文字目のデバッグデータを変化ステータスバッファ242へ出力する。この場合、送信バッファ241の先頭から2文字目に位置する“U”というデバッグデータが変化ステータスバッファ242へ出力される。   Subsequently, the debug data extraction unit 211 outputs the debug data of the second character from the top of the transmission buffer 241 to the change status buffer 242. In this case, debug data “U” located at the second character from the top of the transmission buffer 241 is output to the change status buffer 242.

そして、変化ステータスバッファ242に“U”というデバッグデータが格納されると、割り込み信号送信部222は、割り込み信号(割り込み要求)を第1CPUユニット1へ送信する(ステップS104)。次に、第1CPUユニット1において、割り込み信号受信部152によって割り込み信号が受信されると、データ要求信号送信部153は、データ要求信号(データ要求)を第2CPUユニット2へ送信する(ステップS105)。   When debug data “U” is stored in the change status buffer 242, the interrupt signal transmission unit 222 transmits an interrupt signal (interrupt request) to the first CPU unit 1 (step S104). Next, in the first CPU unit 1, when the interrupt signal is received by the interrupt signal receiver 152, the data request signal transmitter 153 transmits a data request signal (data request) to the second CPU unit 2 (step S105). .

次に、第2CPUユニット2において、データ要求信号受信部223によってデータ要求信号が受信されると、デバッグデータ読出部213は、変化ステータスバッファ242に記憶されている“U”というデバッグデータを読み出し、デバッグデータ送信部224へ出力する。次に、デバッグデータ送信部224は、データ要求信号の応答信号として、変化ステータスバッファ242から読み出された“U”というデバッグデータを第1CPUユニット1へ送信する(ステップS106)。   Next, in the second CPU unit 2, when the data request signal is received by the data request signal receiving unit 223, the debug data reading unit 213 reads the debug data “U” stored in the change status buffer 242, The data is output to the debug data transmission unit 224. Next, the debug data transmission unit 224 transmits the debug data “U” read from the change status buffer 242 to the first CPU unit 1 as a response signal of the data request signal (step S106).

次に、第1CPUユニット1のデバッグデータ受信部154によって“U”というデバッグデータが受信されると、デバッグ実行部112は、通信部16を介して“U”というデバッグデータをPC3へ送信する。PC3の表示装置35は、受信した“U”というデバッグデータを表示する。   Next, when debug data “U” is received by the debug data receiving unit 154 of the first CPU unit 1, the debug executing unit 112 transmits debug data “U” to the PC 3 via the communication unit 16. The display device 35 of the PC 3 displays the received debug data “U”.

以上のようにして、“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 display device 35 of the PC 3.

同様に、デバッグデータ抽出部211は、送信バッファ241の先頭から3文字目のデバッグデータを変化ステータスバッファ242へ出力する。この場合、送信バッファ241の先頭から3文字目に位置する“G”というデバッグデータが変化ステータスバッファ242へ出力される。   Similarly, the debug data extraction unit 211 outputs debug data of the third character from the top of the transmission buffer 241 to the change status buffer 242. In this case, debug data “G” located at the third character from the top of the transmission buffer 241 is output to the change status buffer 242.

そして、変化ステータスバッファ242に“G”というデバッグデータが格納されると、割り込み信号送信部222は、割り込み信号(割り込み要求)を第1CPUユニット1へ送信する(ステップS107)。次に、第1CPUユニット1において、割り込み信号受信部152によって割り込み信号が受信されると、データ要求信号送信部153は、データ要求信号(データ要求)を第2CPUユニット2へ送信する(ステップS108)。   When the debug data “G” is stored in the change status buffer 242, the interrupt signal transmission unit 222 transmits an interrupt signal (interrupt request) to the first CPU unit 1 (step S107). Next, in the first CPU unit 1, when the interrupt signal is received by the interrupt signal receiver 152, the data request signal transmitter 153 transmits a data request signal (data request) to the second CPU unit 2 (step S108). .

次に、第2CPUユニット2において、データ要求信号受信部223によってデータ要求信号が受信されると、デバッグデータ読出部213は、変化ステータスバッファ242に記憶されている“G”というデバッグデータを読み出し、デバッグデータ送信部224へ出力する。次に、デバッグデータ送信部224は、データ要求信号の応答信号として、変化ステータスバッファ242から読み出された“G”というデバッグデータを第1CPUユニット1へ送信する(ステップS109)。   Next, in the second CPU unit 2, when the data request signal is received by the data request signal receiving unit 223, the debug data reading unit 213 reads the debug data “G” stored in the change status buffer 242, The data is output to the debug data transmission unit 224. Next, the debug data transmission unit 224 transmits debug data “G” read from the change status buffer 242 to the first CPU unit 1 as a response signal of the data request signal (step S109).

次に、第1CPUユニット1のデバッグデータ受信部154によって“G”というデバッグデータが受信されると、デバッグ実行部112は、通信部16を介して“G”というデバッグデータをPC3へ送信する。PC3の表示装置35は、受信した“G”というデバッグデータを表示する。   Next, when debug data “G” is received by the debug data receiving unit 154 of the first CPU unit 1, the debug executing unit 112 transmits debug data “G” to the PC 3 via the communication unit 16. The display device 35 of the PC 3 displays the received debug data “G”.

以上のようにして、“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 display device 35 of the PC 3.

このように、画像形成装置10は、CPU11及びCPU21が実行するプログラムをデバッグするためのデバッグ機能を有する第1CPUユニット1と、デバッグ機能を有しない第2CPUユニット2とを備えている。そして、第2CPUユニット2において、デバッグに用いるデータ(デバッグデータ)が抽出され、抽出されたデバッグデータが第1CPUユニット1へ送信される。第1CPUユニット1において、第2CPUユニット2から送信されたデバッグデータが受信され、受信されたデバッグデータを用いてデバッグ機能が実行される。   As described above, the image forming apparatus 10 includes the first CPU unit 1 having a debugging function for debugging a program executed by the CPU 11 and the CPU 21 and the second CPU unit 2 having no debugging function. Then, in the second CPU unit 2, data used for debugging (debug data) is extracted, and the extracted debug data is transmitted to the first CPU unit 1. The first CPU unit 1 receives the debug data transmitted from the second CPU unit 2 and executes the debug function using the received debug data.

したがって、デバッグ機能を有しない第2CPUユニット2においてデバッグに用いるデータが自動的に抽出され、第1CPUユニット1へ送信されるので、デバッグ機能を有していないCPU21の不具合が発生した瞬間の状態を捉えることができる。   Therefore, since data used for debugging is automatically extracted and transmitted to the first CPU unit 1 in the second CPU unit 2 that does not have the debugging function, the state at the moment when the malfunction of the CPU 21 that does not have the debugging function occurs. Can be caught.

また、第2CPUユニット2において、抽出されたデバッグデータがRAM24の変化ステータスバッファ242に記憶され、変化ステータスバッファ242にデータが記憶されたか否かが判断され、変化ステータスバッファ242にデータが記憶されたと判断された場合、第1CPUユニット1へ割り込み信号が送信される。そして、第1CPUユニット1において、第2CPUユニット2によって送信された割り込み信号が受信された場合、デバッグデータを要求するためのデータ要求信号が第2CPUユニット2へ送信される。続いて、第2CPUユニット2において、第1CPUユニット1によって送信されたデータ要求信号が受信された場合、変化ステータスバッファ242に記憶されているデバッグデータが読み出され、読み出されたデバッグデータが第1CPUユニット1へ送信される。   Further, in the second CPU unit 2, the extracted debug data is stored in the change status buffer 242 of the RAM 24, it is determined whether or not the data is stored in the change status buffer 242, and the data is stored in the change status buffer 242. If it is determined, an interrupt signal is transmitted to the first CPU unit 1. When the first CPU unit 1 receives the interrupt signal transmitted by the second CPU unit 2, a data request signal for requesting debug data is transmitted to the second CPU unit 2. Subsequently, when the second CPU unit 2 receives the data request signal transmitted by the first CPU unit 1, the debug data stored in the change status buffer 242 is read, and the read debug data is 1 is transmitted to the CPU unit 1.

したがって、デバッグ用のデータがRAM24の変化ステータスバッファ242に記憶された場合、第2CPUユニット2から第1CPUユニット1へ割り込み信号が送信されるので、第1CPUユニット1は常に第2CPUユニット2を監視する必要がなく、第2CPUユニット2においてデバッグ用のデータが抽出された場合にのみ第2CPUユニット2をデバッグすることができる。   Accordingly, when debugging data is stored in the change status buffer 242 of the RAM 24, an interrupt signal is transmitted from the second CPU unit 2 to the first CPU unit 1, so the first CPU unit 1 always monitors the second CPU unit 2. There is no need, and the second CPU unit 2 can be debugged only when debugging data is extracted in the second CPU unit 2.

さらに、第1CPUユニット1において、PC3によって送信されるデバッグコマンドが受信される。このデバッグコマンドには、第1CPUユニット1及び第2CPUユニット2のうちのいずれをデバッグするかを指定する情報が含まれる。第1CPUユニット1において、デバッグコマンドに第1CPUユニット1をデバッグする情報が含まれている場合、データ要求信号送信部153によるデータ要求信号を送信しないよう設定される。   Further, the first CPU unit 1 receives a debug command transmitted by the PC 3. This debug command includes information specifying which of the first CPU unit 1 and the second CPU unit 2 is to be debugged. In the first CPU unit 1, when the debug command includes information for debugging the first CPU unit 1, the data request signal transmission unit 153 is set not to transmit the data request signal.

したがって、第1CPUユニット1をデバッグする場合、第2CPUユニット2からの割り込み信号を受信したとしてもデータ要求信号が送信されず、第2CPUユニット2からデバッグ用のデータが送信されないので、第1CPUユニット1におけるデバッグ用のデータと第2CPUユニット2におけるデバッグ用のデータとが同時に出力されることがなくなり、第1CPUユニット1のみをデバッグすることができる。   Therefore, when debugging the first CPU unit 1, the data request signal is not transmitted even if the interrupt signal from the second CPU unit 2 is received, and the debugging data is not transmitted from the second CPU unit 2. The debugging data in the second CPU unit 2 and the debugging data in the second CPU unit 2 are not output at the same time, and only the first CPU unit 1 can be debugged.

なお、本実施の形態では、デバッグコマンドに第1CPUユニット1をデバッグする旨を表す情報が含まれている場合、割り込み信号が受信されたとしてもデータ要求信号を送信しないようデータ要求信号送信部153を設定しているが、本発明は特にこれに限定されず、デバッグコマンドに第1CPUユニット1をデバッグする旨を表す情報が含まれている場合、割り込み信号を送信しないよう割り込み信号送信部222を設定してもよい。   In the present embodiment, when the debug command includes information indicating that the first CPU unit 1 is debugged, the data request signal transmission unit 153 does not transmit the data request signal even if an interrupt signal is received. However, the present invention is not particularly limited to this, and when the debug command includes information indicating that the first CPU unit 1 is debugged, the interrupt signal transmission unit 222 is set so as not to transmit the interrupt signal. It may be set.

図5は、割り込み信号を送信しないよう割り込み信号送信部222を設定する場合における第1CPUユニット1及び第2CPUユニット2の機能構成を示すブロック図である。なお、図5において、図2に示す第1CPUユニット1及び第2CPUユニット2と同じ構成については説明を省略し、異なる構成のみを説明する。   FIG. 5 is a block diagram showing a functional configuration of the first CPU unit 1 and the second CPU unit 2 when the interrupt signal transmission unit 222 is set not to transmit an interrupt signal. In FIG. 5, the description of the same configuration as that of the first CPU unit 1 and the second CPU unit 2 shown in FIG. 2 is omitted, and only a different configuration is described.

CPU11は、デバッグ実行部112及び第1デバッグ設定部113を備える。通信部15は、開始指示信号送信部151、割り込み信号受信部152、データ要求信号送信部153、デバッグデータ受信部154及び設定信号送信部155を備える。通信部22は、開始指示信号受信部221、割り込み信号送信部222、データ要求信号受信部223、デバッグデータ送信部224及び設定信号受信部225を備える。CPU21は、デバッグデータ抽出部211、判断部212、デバッグデータ読出部213及び第2デバッグ設定部214を備える。   The CPU 11 includes a debug execution unit 112 and a first debug setting unit 113. The communication unit 15 includes a start instruction signal transmission unit 151, an interrupt signal reception unit 152, a data request signal transmission unit 153, a debug data reception unit 154, and a setting signal transmission unit 155. The communication unit 22 includes a start instruction signal reception unit 221, an interrupt signal transmission unit 222, a data request signal reception unit 223, a debug data transmission unit 224, and a setting signal reception unit 225. The CPU 21 includes a debug data extraction unit 211, a determination unit 212, a debug data read unit 213, and a second debug setting unit 214.

第1デバッグ設定部113は、デバッグ対象が第2CPUユニット2である場合、開始指示信号を第2CPUユニット2へ送信するべく開始指示信号送信部151に指示する。また、第1デバッグ設定部113は、デバッグ対象が第1CPUユニット1である場合、第2CPUユニット2が割り込み信号を送信しないように設定するための設定信号を設定信号送信部155に出力する。   When the debug target is the second CPU unit 2, the first debug setting unit 113 instructs the start instruction signal transmission unit 151 to transmit a start instruction signal to the second CPU unit 2. In addition, when the debug target is the first CPU unit 1, the first debug setting unit 113 outputs a setting signal for setting the second CPU unit 2 not to transmit an interrupt signal to the setting signal transmission unit 155.

設定信号送信部155は、第1デバッグ設定部113によって出力された設定信号を第2CPUユニット2へ送信する。設定信号受信部225は、第1CPUユニット1の設定信号送信部155によって送信された設定信号を受信する。設定信号受信部225は、受信した設定信号を第2デバッグ設定部214に出力する。第2デバッグ設定部214は、設定信号受信部225によって設定信号が受信された場合、割り込み信号送信部222に対して割り込み信号を送信しないよう設定する。   The setting signal transmission unit 155 transmits the setting signal output by the first debug setting unit 113 to the second CPU unit 2. The setting signal receiving unit 225 receives the setting signal transmitted by the setting signal transmitting unit 155 of the first CPU unit 1. The setting signal receiving unit 225 outputs the received setting signal to the second debug setting unit 214. When the setting signal is received by the setting signal receiving unit 225, the second debug setting unit 214 sets the interrupt signal transmitting unit 222 not to transmit the interrupt signal.

なお、本実施の形態において、第1デバッグ設定部113、設定信号送信部155、設定信号受信部225及び第2デバッグ設定部214が第2の設定手段の一例に相当する。   In the present embodiment, the first debug setting unit 113, the setting signal transmitting unit 155, the setting signal receiving unit 225, and the second debug setting unit 214 correspond to an example of a second setting unit.

このように、設定信号受信部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 second CPU unit 2 not to transmit the interrupt signal is received by the setting signal receiving unit 225, the interrupt signal transmitting unit 222 is set not to transmit the interrupt signal. The Therefore, when debugging the first CPU unit 1, the interrupt signal is not transmitted from the second CPU unit 2 and the debug data is not transmitted from the second CPU unit 2. Therefore, the debug data in the first CPU unit 1 and the debug data in the second CPU unit 2 are not transmitted. Are not output at the same time, and only the first CPU unit 1 can be debugged.

本発明に係る情報処理装置の一例である画像形成装置及びそれに接続されるPC(パーソナルコンピュータ)のハードウェア構成の概要を示すブロック図である。1 is a block diagram showing an outline of a 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. 第1CPUユニット及び第2CPUユニットの機能構成を示すブロック図である。It is a block diagram which shows the function structure of a 1st CPU unit and a 2nd CPU unit. 図2に示す第1CPUユニット及び第2CPUユニットによるデバッグ動作について説明するためのフローチャートである。3 is a flowchart for explaining a debugging operation by a first CPU unit and a second CPU unit shown in FIG. 2. 図2に示す第1CPUユニット及び第2CPUユニットによる具体的なデバッグ動作について説明するための模式図である。FIG. 3 is a schematic diagram for explaining a specific debugging operation by the first CPU unit and the second CPU unit shown in FIG. 2. 割り込み信号を送信しないよう割り込み信号送信部を設定する場合における第1CPUユニット及び第2CPUユニットの機能構成を示すブロック図である。It is a block diagram which shows the function structure of a 1st CPU unit and a 2nd CPU unit in the case of setting an interrupt signal transmission part so that an interrupt signal may not be transmitted.

符号の説明Explanation of symbols

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 SYMBOLS 1 1st CPU unit 2 2nd CPU unit 10 Image forming apparatus 11, 21, 31 CPU
12,23 ROM
13, 24, 33 RAM
14 Operation panel section 15, 16, 22, 32 Communication section 34 HDD
35 display device 36 input device 111 debug setting unit 112 debug execution unit 113 first debug setting unit 151 start instruction signal transmission unit 152 interrupt signal reception unit 153 data request signal transmission unit 154 debug data reception unit 155 setting signal transmission unit 161 debug command Reception unit 211 Debug data extraction unit 212 Judgment unit 213 Debug data reading unit 214 Second debug setting unit 221 Start instruction signal reception unit 222 Interrupt signal transmission unit 223 Data request signal reception unit 224 Debug data transmission unit 225 Setting signal reception unit 241 Transmission Buffer 242 Change status buffer

Claims (6)

プログラムを実行するCPUと前記プログラムを記憶するメモリとを備える複数のCPUユニットが互いに通信可能に接続された情報処理装置であって、
複数の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記載の情報処理装置。   The information processing apparatus according to claim 1, wherein the extraction unit extracts data used for debugging by executing an output function for outputting data used for debugging from the program. 前記第2のCPUユニットは、
前記抽出手段によって抽出されたデータを記憶する記憶手段と、
前記記憶手段にデータが記憶されたか否かを判断する判断手段と、
前記判断手段によって前記記憶手段にデータが記憶されたと判断された場合、前記第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ユニットは、外部装置によって送信されるコマンドを受信するコマンド受信手段をさらに備え、
前記コマンドは、第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ユニットは、外部装置によって送信されるコマンドを受信するコマンド受信手段をさらに備え、
前記コマンドは、第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.
JP2005337006A 2005-11-22 2005-11-22 Information processing device Expired - Fee Related JP4494329B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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