JP2007141139A - Information processing apparatus - Google Patents

Information processing apparatus Download PDF

Info

Publication number
JP2007141139A
JP2007141139A JP2005337013A JP2005337013A JP2007141139A JP 2007141139 A JP2007141139 A JP 2007141139A JP 2005337013 A JP2005337013 A JP 2005337013A JP 2005337013 A JP2005337013 A JP 2005337013A JP 2007141139 A JP2007141139 A JP 2007141139A
Authority
JP
Japan
Prior art keywords
unit
cpu
cpu unit
data
external device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005337013A
Other languages
Japanese (ja)
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 JP2005337013A priority Critical patent/JP2007141139A/en
Publication of JP2007141139A publication Critical patent/JP2007141139A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processing apparatus that enables reliable debugging even if a CPU having a debugging function is difficult to connect to an external device. <P>SOLUTION: A communication channel setting part 211 of a second CPU unit 2 switches a communication channel to a PC if determining that the PC is connected to the second CPU unit 2, and switches the communication channel to a first CPU unit 1 if determining that no PC is connected to the second CPU unit 2. A debugging data extraction part 213 extracts data to be debugged. If the communication channel is switched to the PC, a debugging data transmission part 253 transmits the extracted data to the PC. If the communication channel is switched to the first CPU unit 1, a debugging data transmission part 226 transmits the extracted data to the first CPU unit 1. <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 from 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にデバッグ機能を有する情報処理装置であっても、基板上の第2のCPUがデバッガを接続することが困難な位置に配置されている場合がある。また、不具合解析のためのデバッグの状況を考えると、第2のCPUにデバッガが必ずしも接続されていない場合が想定される。また、第1のCPUのデバッガは電源を切ることなしにコネクタを接続することが可能である場合が多く、第2のCPUのデバッガは電源を切ることなしに後からコネクタを接続することが困難である場合が多い。客先での不具合解析時において、再現率が低い不具合に対しても電源を切断することなしに内部情報を取得することが可能であれば、再現率の低い不具合解析に有効である。また、製品として出荷される場合は第1のCPUのデバッガを接続するためのコネクタは基板に存在するが、第2のCPUのデバッガを接続するコネクタはコストダウンのため削除されていることも多い。   However, according to the above remote debugging method, even if the information processing device has a debugging function in the second CPU, the second CPU on the board is disposed at a position where it is difficult to connect the debugger. There is. Considering the debugging situation for failure analysis, it is assumed that a debugger is not necessarily connected to the second CPU. In many cases, the debugger of the first CPU can be connected to the connector without turning off the power, and it is difficult for the debugger of the second CPU to connect the connector later without turning off the power. In many cases. If it is possible to acquire internal information without disconnecting the power supply even when a failure is low at the customer's failure analysis, it is effective for failure analysis with a low recall. When shipped as a product, the connector for connecting the debugger of the first CPU exists on the board, but the connector for connecting the debugger of the second CPU is often deleted for cost reduction. .

本発明は、上記の問題を解決するためになされたもので、デバッグ機能を有しているCPUと外部装置との接続が困難である場合であっても確実にデバッグを行うことができる情報処理装置を提供することを目的とするものである。   The present invention has been made in order to solve the above-described problem, and is capable of reliably performing debugging even when it is difficult to connect a CPU having a debugging function to an external device. The object is to provide an apparatus.

本発明に係る情報処理装置は、プログラムを実行するCPUと前記プログラムを記憶するメモリとを備える複数のCPUユニットが互いに通信可能に接続された情報処理装置であって、複数のCPUユニットが備える各CPUが実行するプログラムをデバッグするためのデバッグ機能を有する第1のCPUユニットと、自身のCPUが実行するプログラムをデバッグするためのデバッグ機能を有する第2のCPUユニットとを備え、前記第2のCPUユニットは、前記第2のCPUユニットに外部装置が接続されているか否かを判断する判断手段と、前記判断手段によって前記第2のCPUユニットに外部装置が接続されていると判断された場合、通信チャネルを前記外部装置へ切り替えるとともに、前記判断手段によって前記第2のCPUユニットに外部装置が接続されていないと判断された場合、通信チャネルを前記第1のCPUユニットへ切り替える切り替え手段と、デバッグに用いるデータを抽出する抽出手段と、前記切り替え手段によって通信チャネルが前記外部装置へ切り替えられた場合、前記抽出手段によって抽出されたデータを前記外部装置へ送信するとともに、前記切り替え手段によって通信チャネルが前記第1の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 having a debugging function for debugging a program executed by its own CPU. The CPU unit determines whether or not an external device is connected to the second CPU unit, and when the determination unit determines that the external device is connected to the second CPU unit , Switching the communication channel to the external device, and the second CPU by the determination means When it is determined that an external device is not connected to the knit, the switching means for switching the communication channel to the first CPU unit, the extraction means for extracting data used for debugging, and the communication channel is connected to the external channel by the switching means. When switched to a device, the data extracted by the extracting means is transmitted to the external device, and when the communication channel is switched to the first CPU unit by the switching means, the data extracted by the extracting means Data transmitting means for transmitting data to the first CPU unit, wherein the first CPU unit is received by the data receiving means for receiving data transmitted by the data transmitting means and the data receiving means. Execution means for executing the debugging function using the collected data Provided.

この構成によれば、情報処理装置は、複数のCPUユニットが備える各CPUが実行するプログラムをデバッグするためのデバッグ機能を有する第1のCPUユニットと、自身のCPUが実行するプログラムをデバッグするためのデバッグ機能を有する第2のCPUユニットとを備えている。第2のCPUユニットにおいて、第2のCPUユニットに外部装置が接続されているか否かが判断され、第2のCPUユニットに外部装置が接続されていると判断された場合、通信チャネルが外部装置へ切り替えられるとともに、第2のCPUユニットに外部装置が接続されていないと判断された場合、通信チャネルが第1のCPUユニットへ切り替えられる。そして、デバッグに用いるデータが抽出され、通信チャネルが外部装置へ切り替えられた場合、抽出されたデータが外部装置へ送信され、通信チャネルが第1のCPUユニットへ切り替えられた場合、抽出されたデータが第1のCPUユニットへ送信される。第1のCPUユニットにおいて、第2のCPUユニットによって送信されたデータが受信され、受信されたデータを用いてデバッグ機能が実行される。   According to this configuration, the information processing apparatus debugs the first CPU unit having a debugging function for debugging the program executed by each CPU included in the plurality of CPU units and the program executed by the CPU of itself. And a second CPU unit having a debugging function. In the second CPU unit, it is determined whether or not an external device is connected to the second CPU unit, and if it is determined that an external device is connected to the second CPU unit, the communication channel is the external device. When it is determined that no external device is connected to the second CPU unit, the communication channel is switched to the first CPU unit. When data used for debugging is extracted and the communication channel is switched to the external device, the extracted data is transmitted to the external device, and when the communication channel is switched to the first CPU unit, the extracted data Is transmitted to the first CPU unit. In the first CPU unit, the data transmitted by the second CPU unit is received, and the debugging function is executed using the received data.

したがって、第2のCPUユニットに外部装置が接続されているか否かが判断され、第2のCPUユニットに外部装置が接続されていないと判断された場合、通信チャネルが第1のCPUユニットへ切り替えられるので、デバッグ機能を有しているCPU(第2のCPUユニットが備えるCPU)と外部装置との接続が困難である場合であっても他のCPU(第1のCPUユニットが備えるCPU)を介して確実にデバッグを行うことができる。   Therefore, when it is determined whether or not an external device is connected to the second CPU unit, and it is determined that no external device is connected to the second CPU unit, the communication channel is switched to the first CPU unit. Therefore, even if it is difficult to connect a CPU having a debugging function (CPU provided in the second CPU unit) and an external device, another CPU (CPU provided in the first CPU unit) can be used. Can be surely debugged.

また、上記の情報処理装置において、前記第1のCPUユニットは、前記切り替え手段によって通信チャネルが前記第1のCPUユニットへ切り替えられた場合、前記抽出手段によって抽出されたデータを前記第1のCPUユニットへ送信するか否かのユーザによる選択を受け付ける受付手段をさらに備え、前記データ送信手段は、前記受付手段によってデータを前記第1のCPUユニットへ送信しないことが受け付けられた場合、前記抽出手段によって抽出されたデータを前記第1のCPUユニットへ送信しないことが好ましい。   In the information processing apparatus, when the communication channel is switched to the first CPU unit by the switching unit, the first CPU unit transfers the data extracted by the extracting unit to the first CPU. Receiving means for accepting selection by the user as to whether or not to transmit to the unit, and the data transmitting means, when the accepting means accepts not to transmit data to the first CPU unit, the extracting means It is preferable not to transmit the data extracted by the first CPU unit.

この構成によれば、第1のCPUユニットにおいて、通信チャネルが第1のCPUユニットへ切り替えられた場合、抽出されたデータを第1のCPUユニットへ送信するか否かのユーザによる選択が受け付けられる。そして、データを第1のCPUユニットへ送信しないことが受け付けられた場合、抽出されたデータが第1のCPUユニットへ送信されない。したがって、通信チャネルが第1のCPUユニットへ切り替えられたとしても、デバッグに用いるデータを第1のCPUユニットへ送信しないことが受け付けられると、当該データが送信されないので、ユーザの必要性に応じて第2のCPUユニットからデバッグ用のデータを出力させることができる。   According to this configuration, when the communication channel is switched to the first CPU unit in the first CPU unit, a selection by the user as to whether or not to transmit the extracted data to the first CPU unit is accepted. . When it is accepted that data is not transmitted to the first CPU unit, the extracted data is not transmitted to the first CPU unit. Therefore, even if the communication channel is switched to the first CPU unit, if it is accepted that the data used for debugging is not transmitted to the first CPU unit, the data is not transmitted. Debug data can be output from the second CPU unit.

また、上記の情報処理装置において、前記第2のCPUユニットは、前記外部装置が接続されているか否かを確認するための接続確認信号を前記外部装置へ送信する接続確認信号送信手段と、前記外部装置によって送信された前記接続確認信号に対する応答信号を受信する応答信号受信手段とをさらに備え、前記判断手段は、前記応答信号受信手段によって前記応答信号が受信された場合、前記第2のCPUユニットに外部装置が接続されていると判断することが好ましい。   Further, in the information processing apparatus, the second CPU unit includes a connection confirmation signal transmitting unit that transmits a connection confirmation signal for confirming whether or not the external apparatus is connected to the external apparatus, Response signal receiving means for receiving a response signal to the connection confirmation signal transmitted by an external device, and the determination means, when the response signal is received by the response signal receiving means, the second CPU It is preferable to determine that an external device is connected to the unit.

この構成によれば、第2のCPUユニットにおいて、外部装置が接続されているか否かを確認するための接続確認信号が外部装置へ送信され、外部装置によって送信された接続確認信号に対する応答信号が受信されるので、この応答信号の有無に基づいて第2のCPUユニットに外部装置が接続されていることを確実に検知することができる。   According to this configuration, in the second CPU unit, a connection confirmation signal for confirming whether or not the external device is connected is transmitted to the external device, and a response signal for the connection confirmation signal transmitted by the external device is received. Since it is received, it can be reliably detected that the external device is connected to the second CPU unit based on the presence or absence of the response signal.

また、上記の情報処理装置において、前記第2のCPUユニットは、前記第2のCPUユニットと前記外部装置とを接続する通信線に印加される電圧を検出する電圧検出手段をさらに備え、前記判断手段は、前記電圧検出手段によって電圧が検出された場合、前記第2のCPUユニットに外部装置が接続されていると判断することが好ましい。なお、この場合、情報処理装置は、上記の接続確認信号送信手段及び応答信号受信手段を備えず、電圧検出手段をさらに備える。   In the information processing apparatus, the second CPU unit further includes voltage detection means for detecting a voltage applied to a communication line connecting the second CPU unit and the external device, and the determination Preferably, the means determines that an external device is connected to the second CPU unit when a voltage is detected by the voltage detection means. In this case, the information processing apparatus does not include the connection confirmation signal transmission unit and the response signal reception unit, but further includes a voltage detection unit.

この構成によれば、第2のCPUユニットにおいて、第2のCPUユニットと外部装置とを接続する通信線に印加される電圧が検出されるので、この電圧の有無に基づいて第2のCPUユニットに外部装置が接続されていることを確実に検知することができる。   According to this configuration, since the voltage applied to the communication line connecting the second CPU unit and the external device is detected in the second CPU unit, the second CPU unit is based on the presence or absence of this voltage. It is possible to reliably detect that an external device is connected to.

また、上記の情報処理装置において、前記情報処理装置は、画像を形成する画像形成装置であり、前記第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ユニットに外部装置が接続されているか否かが判断され、第2のCPUユニットに外部装置が接続されていないと判断された場合、通信チャネルが第1のCPUユニットへ切り替えられるので、デバッグ機能を有しているCPU(第2のCPUユニットが備えるCPU)と外部装置との接続が困難である場合であっても他のCPU(第1のCPUユニットが備えるCPU)を介して確実にデバッグを行うことができる。   According to the present invention, if it is determined whether or not an external device is connected to the second CPU unit, and if it is determined that no external device is connected to the second CPU unit, the communication channel is the first Since switching to a CPU unit is possible, even if it is difficult to connect a CPU having a debugging function (a CPU included in the second CPU unit) and an external device to another CPU (the first CPU unit is Debugging can be surely performed via the CPU provided.

以下、本発明の一実施形態に係る情報処理装置について図面を参照しながら説明する。図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及び通信部25を備える。CPU21、通信部22、ROM23、RAM24及び通信部25は、ローカルなバスにより接続される。   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, a RAM 24, and a communication unit 25. The CPU 21, the communication unit 22, the ROM 23, the RAM 24, and the communication unit 25 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で実行するプログラムを格納するためのメモリである。このプログラムは、第2CPUユニット2を制御するファームウェアとデバッグ機能を与えるためのデバッガプログラムとを含む。RAM24は、CPU21に一時的な作業領域等を与えるためのメモリである。RAM24は、後述する送信バッファと変化ステータスバッファとを含む。通信部25は、後述するPC3’の通信部32と接続するための例えばシリアル通信インターフェースである。   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. This program includes firmware for controlling the second CPU unit 2 and a debugger program for providing a debugging function. 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. The communication unit 25 is, for example, a serial communication interface for connecting to a communication unit 32 of the PC 3 ′ described later.

CPU31は、RAM33内のプログラムを実行する。通信部32は、第1CPUユニット1の通信部16と接続するための例えばシリアル通信インターフェースである。この通信インターフェースによりPC3から第1CPUユニット1へのデバッグコマンドの送信及び逆経路でデバッグコマンドに対する返信が行われる。なお、デバッグコマンドには、ファームウェアに含まれる所定の関数の実行指示、メモリからのデータの読み出し指示、メモリへのデータの書き換え指示などが含まれ、CPU11は、このデバッグコマンドによる指示に基づいてデバッグを実行する。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 debug command 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. The CPU 11 performs debugging based on the instruction by the debug command. Execute. 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.

なお、本実施の形態では、第2CPUユニット2がPCに接続される場合もある。すなわち、第2CPUユニット2は、第2CPUユニット2が備える通信部25を介してPC3’と接続される。PC3’の構成はPC3と同じである。この場合、PC3’から第2CPUユニット2へ上記のデバッグコマンドが送信され、CPU21は、このデバッグコマンドによる指示に基づいてデバッグを実行する。なお、本実施の形態では、通信部25を介して第2CPUユニット2とPC3とを接続してもよい。   In the present embodiment, the second CPU unit 2 may be connected to a PC. That is, the second CPU unit 2 is connected to the PC 3 ′ via the communication unit 25 provided in the second CPU unit 2. The configuration of PC3 'is the same as PC3. In this case, the debug command is transmitted from the PC 3 'to the second CPU unit 2, and the CPU 21 executes debugging based on an instruction by the debug command. In the present embodiment, the second CPU unit 2 and the PC 3 may be connected via the communication unit 25.

ここで、第1CPUユニット1のCPU11、第2CPUユニット2のCPU21及びPC3のCPU31で実行されるプログラムについて説明する。CPU31で実行されるプログラムは、主にPC側デバッガプログラム及びOS(オペレーティングシステム)である。OSは、PC3の基本ソフトウェアでPC3にて実行するアプリケーションソフトウェア(PC側デバッガプログラムを含む)とPC3のハードウェアとの仲介を行うソフトウェアである。PC側デバッガプログラムは、PC3で動作するアプリケーションソフトウェアであり、ユーザにより入力装置36を使用して起動/終了され操作される。ユーザは、PC側デバッガプログラムの操作としてデバッグコマンドを指定する。また、ユーザは、表示装置35へ表示されたデバッグコマンドの実行結果を確認することが可能である。なお、PC3’のCPU31で実行されるプログラムについても上記と同じである。   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. Further, the user can check the execution result of the debug command displayed on the display device 35. The program executed by the CPU 31 of the PC 3 'is the same as described above.

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ユニット側ファームウェアは、第2CPUユニット2を制御するプログラムであり、デバッグ対象プログラムである。第2CPUユニット側デバッガプログラムは、CPU21が実行する第2CPUユニット側ファームウェアのデバッグのための処理を行うプログラムである。   The programs executed by the CPU 21 are second CPU unit side firmware and second CPU unit side debugger program. The second CPU unit side firmware is a program for controlling the second CPU unit 2 and is a program to be debugged. The second CPU unit side debugger program is a program that performs processing for debugging the second CPU unit side firmware executed by the CPU 21.

PC側デバッガプログラムにおいてユーザが実行指示したデバッグコマンドはOSを介して第1CPUユニット側デバッガプログラム(第2CPUユニット側デバッガプログラム)にデバッグコマンド送信文字列として送信される。受信したデバッグコマンドに対する返信は送信と逆の経路でPC側デバッガプログラムに送られる。   The debug command instructed to be executed by the user in the PC-side debugger program is transmitted as a debug command transmission character string to the first CPU unit-side debugger program (second 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 debugger program.

図2は、第1CPUユニット1及び第2CPUユニット2の機能構成を示すブロック図である。第1CPUユニット1は、CPU11及び通信部15を備える。CPU11は、通信チャネル設定部111、送信設定受付部112及びデバッグ実行部113を備える。通信チャネル設定部111は、接続要求受信部151によって接続要求が受信されると、第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 and a communication unit 15. The CPU 11 includes a communication channel setting unit 111, a transmission setting reception unit 112, and a debug execution unit 113. The communication channel setting unit 111 sets a communication channel with the second CPU unit 2 when a connection request is received by the connection request receiving unit 151.

送信設定受付部112は、第2CPUユニット2によって通信チャネルが第1CPUユニット1へ切り替えられた場合、デバッグを行うためのデータ(デバッグデータ)を第2CPUユニット2が第1CPUユニット1へ送信するか否かのユーザによる選択を受け付ける。なお、第2CPUユニット2がデバッグデータを第1CPUユニット1へ送信するか否かを表す送信設定情報は、PC3の入力装置36又は操作パネル部14を用いてユーザにより入力される。   Whether the second CPU unit 2 transmits data for debugging (debug data) to the first CPU unit 1 when the communication channel is switched to the first CPU unit 1 by the second CPU unit 2. The selection by the user is accepted. Note that transmission setting information indicating whether or not the second CPU unit 2 transmits debug data to the first CPU unit 1 is input by the user using the input device 36 or the operation panel unit 14 of the PC 3.

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

通信部15は、接続要求受信部151、接続応答送信部152、送信設定情報送信部153、割り込み信号受信部154、データ要求信号送信部155及びデバッグデータ受信部156を備える。   The communication unit 15 includes a connection request reception unit 151, a connection response transmission unit 152, a transmission setting information transmission unit 153, an interrupt signal reception unit 154, a data request signal transmission unit 155, and a debug data reception unit 156.

接続要求受信部151は、第2CPUユニット2によって送信された接続要求を受信する。接続応答送信部152は、接続要求受信部151によって受信された接続要求に対する応答信号である接続応答を第2CPUユニット2へ送信する。送信設定情報送信部153は、送信設定受付部112によって受け付けられた送信設定情報を送信する。なお、送信設定情報には、第2CPUユニット2がデバッグデータを第1CPUユニット1へ送信することを表す送信許可情報と、第2CPUユニット2がデバッグデータを第1CPUユニット1へ送信しないことを表す送信拒否情報とが含まれる。割り込み信号受信部154は、第2CPUユニット2によって送信された割り込み信号を受信する。   The connection request receiving unit 151 receives the connection request transmitted by the second CPU unit 2. The connection response transmission unit 152 transmits a connection response that is a response signal to the connection request received by the connection request reception unit 151 to the second CPU unit 2. The transmission setting information transmission unit 153 transmits the transmission setting information received by the transmission setting reception unit 112. The transmission setting information includes transmission permission information indicating that the second CPU unit 2 transmits debug data to the first CPU unit 1, and transmission indicating that the second CPU unit 2 does not transmit debug data to the first CPU unit 1. And rejection information. The interrupt signal receiving unit 154 receives the interrupt signal transmitted by the second CPU unit 2.

データ要求信号送信部155は、割り込み信号受信部154によって割り込み信号が受信された場合、デバッグデータを要求するためのデータ要求信号を第2CPUユニット2へ送信する。デバッグデータ受信部156は、第2CPUユニット2によって送信されたデバッグデータを受信する。   When the interrupt signal receiving unit 154 receives the interrupt signal, the data request signal transmitting unit 155 transmits a data request signal for requesting debug data to the second CPU unit 2. The debug data receiving unit 156 receives the debug data transmitted by the second CPU unit 2.

第2CPUユニット2は、CPU21、通信部22、RAM24及び通信部25を備える。通信部22は、接続要求送信部221、接続応答受信部222、送信設定情報受信部223、割り込み信号送信部224、データ要求信号受信部225及びデバッグデータ送信部226を備える。CPU21は、通信チャネル設定部211、送信設定部212、デバッグデータ抽出部213、判断部214及びデバッグデータ読出部215を備える。通信部25は、接続確認要求送信部251、接続確認応答受信部252及びデバッグデータ送信部253を備える。   The second CPU unit 2 includes a CPU 21, a communication unit 22, a RAM 24, and a communication unit 25. The communication unit 22 includes a connection request transmission unit 221, a connection response reception unit 222, a transmission setting information reception unit 223, an interrupt signal transmission unit 224, a data request signal reception unit 225, and a debug data transmission unit 226. The CPU 21 includes a communication channel setting unit 211, a transmission setting unit 212, a debug data extraction unit 213, a determination unit 214, and a debug data reading unit 215. The communication unit 25 includes a connection confirmation request transmission unit 251, a connection confirmation response reception unit 252, and a debug data transmission unit 253.

通信チャネル設定部211は、第2CPUユニット2にPC3’が接続されているか否かを判断し、第2CPUユニット2にPC3’が接続されていると判断された場合、通信チャネルをPC3’へ切り替えるとともに、第2CPUユニット2にPC3’が接続されていないと判断された場合、通信チャネルを第1CPUユニット1へ切り替える。   The communication channel setting unit 211 determines whether or not the PC 3 ′ is connected to the second CPU unit 2, and when it is determined that the PC 3 ′ is connected to the second CPU unit 2, the communication channel is switched to the PC 3 ′. At the same time, when it is determined that the PC 3 ′ is not connected to the second CPU unit 2, the communication channel is switched to the first CPU unit 1.

通信チャネル設定部211は、PC3’が接続されているか否かを確認するための接続確認要求を接続確認要求送信部251へ出力する。接続確認要求送信部251は、通信チャネル設定部211によって出力された接続確認要求をPC3’へ送信する。接続確認応答受信部252は、PC3’によって送信された接続確認要求に対する応答信号(接続確認応答)を受信して通信チャネル設定部211へ出力する。   The communication channel setting unit 211 outputs a connection confirmation request for confirming whether the PC 3 ′ is connected to the connection confirmation request transmission unit 251. The connection confirmation request transmission unit 251 transmits the connection confirmation request output by the communication channel setting unit 211 to the PC 3 ′. The connection confirmation response receiving unit 252 receives a response signal (connection confirmation response) to the connection confirmation request transmitted by the PC 3 ′ and outputs the response signal to the communication channel setting unit 211.

通信チャネル設定部211は、接続確認応答受信部252によって接続確認応答が受信された場合、第2CPUユニット2にPC3’が接続されていると判断する。また、通信チャネル設定部211は、所定時間経過しても接続確認応答受信部252によって接続確認応答が受信されない場合、第2CPUユニット2にPC3’が接続されていないと判断する。   The communication channel setting unit 211 determines that the PC 3 ′ is connected to the second CPU unit 2 when the connection confirmation response is received by the connection confirmation response receiving unit 252. If the connection confirmation response receiving unit 252 does not receive a connection confirmation response even after a predetermined time has elapsed, the communication channel setting unit 211 determines that the PC 3 ′ is not connected to the second CPU unit 2.

通信チャネル設定部211は、第2CPUユニット2にPC3’が接続されていないと判断した場合、第1CPUユニット1に接続を要求するための接続要求を接続要求送信部221へ出力する。接続要求送信部221は、通信チャネル設定部211によって出力された接続要求を第1CPUユニット1へ送信する。接続応答受信部222は、第1CPUユニット1によって送信された接続応答を受信する。接続応答受信部222は、受信した接続応答を通信チャネル設定部211へ出力する。通信チャネル設定部211は、接続応答が入力されることにより、第1CPUユニット1との通信チャネルが接続される。   When the communication channel setting unit 211 determines that the PC 3 ′ is not connected to the second CPU unit 2, the communication channel setting unit 211 outputs a connection request for requesting connection to the first CPU unit 1 to the connection request transmission unit 221. The connection request transmission unit 221 transmits the connection request output by the communication channel setting unit 211 to the first CPU unit 1. The connection response receiving unit 222 receives the connection response transmitted by the first CPU unit 1. The connection response receiving unit 222 outputs the received connection response to the communication channel setting unit 211. The communication channel setting unit 211 is connected to the communication channel with the first CPU unit 1 by receiving a connection response.

送信設定情報受信部223は、第1CPUユニット1によって送信された送信設定情報を受信して送信設定部212へ出力する。送信設定部212は、送信設定情報受信部223によって受信された送信設定情報に、デバッグデータを第1CPUユニット1へ送信しない旨を表す送信拒否情報が含まれている場合、デバッグデータが第1CPUユニット1へ送信されないようにデバッグデータ送信部226を設定する。   The transmission setting information receiving unit 223 receives the transmission setting information transmitted by the first CPU unit 1 and outputs it to the transmission setting unit 212. When the transmission setting information received by the transmission setting information receiving unit 223 includes transmission rejection information indicating that debug data is not transmitted to the first CPU unit 1, the transmission setting unit 212 stores the debug data in the first CPU unit. The debug data transmission unit 226 is set so as not to be transmitted to 1.

デバッグデータ抽出部213は、第2CPUユニット2に記憶されているファームウェアを実行し、デバッグに用いるデバッグデータを抽出する。デバッグデータ抽出部213は、送信バッファ241及び変化ステータスバッファ242に格納されるデータ内容を監視し、抽出したデバッグデータを送信バッファ241へ出力するとともに、送信バッファ241から変化ステータスバッファ242へデバッグデータを出力する。   The debug data extracting unit 213 executes the firmware stored in the second CPU unit 2 and extracts debug data used for debugging. The debug data extraction unit 213 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.

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

デバッグデータ読出部215は、データ要求信号受信部225によってデータ要求信号が受信された場合、変化ステータスバッファ242からデバッグデータを読み出す。第2CPUユニット2にPC3’が接続されていない場合、デバッグデータ送信部226は、デバッグデータ読出部215によって読み出されたデバッグデータを第1CPUユニット1へ送信する。また、第2CPUユニット2にPC3’が接続されている場合、デバッグデータ送信部253は、デバッグデータ読出部215によって読み出されたデバッグデータをPC3’へ送信する。   The debug data reading unit 215 reads debug data from the change status buffer 242 when the data request signal is received by the data request signal receiving unit 225. When the PC 3 ′ is not connected to the second CPU unit 2, the debug data transmitting unit 226 transmits the debug data read by the debug data reading unit 215 to the first CPU unit 1. When the PC 3 ′ is connected to the second CPU unit 2, the debug data transmission unit 253 transmits the debug data read by the debug data reading unit 215 to the PC 3 ′.

RAM24は、送信バッファ241及び変化ステータスバッファ242を備える。送信バッファ241は、デバッグデータ抽出部213によって抽出されたデバッグデータを記憶する。なお、送信バッファ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 213. 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ユニットの一例に相当し、PC3’が外部装置の一例に相当し、通信チャネル設定部211が判断手段の一例に相当し、通信チャネル設定部211が切り替え手段の一例に相当し、デバッグデータ抽出部213が抽出手段の一例に相当し、デバッグデータ送信部226及びデバッグデータ送信部253がデータ送信手段の一例に相当し、デバッグデータ受信部156がデータ受信手段の一例に相当し、デバッグ実行部113が実行手段の一例に相当する。また、送信設定受付部112が受付手段の一例に相当し、接続確認要求送信部251が接続確認信号送信手段の一例に相当し、接続確認応答受信部252が応答信号受信手段の一例に相当する。   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 PC 3 ′ corresponds to an example of an external device, the communication channel setting unit 211 corresponds to an example of a determination unit, the communication channel setting unit 211 corresponds to an example of a switching unit, and the debug data extraction unit 213 serves as an extraction unit. The debug data transmission unit 226 and the debug data transmission unit 253 correspond to an example of a data transmission unit, the debug data reception unit 156 corresponds to an example of a data reception unit, and the debug execution unit 113 corresponds to an example of an execution unit. It corresponds to. The transmission setting reception unit 112 corresponds to an example of a reception unit, the connection confirmation request transmission unit 251 corresponds to an example of a connection confirmation signal transmission unit, and the connection confirmation response reception unit 252 corresponds to an example of a response signal reception unit. .

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

まず、画像形成装置10の電源が投入されると、通信チャネル設定部211は、接続確認要求を接続確認要求送信部251へ出力する。接続確認要求送信部251は、通信チャネル設定部211によって出力された接続確認要求をPC3’へ送信する(ステップS1)。ここで、PC3’が第2CPUユニット2に接続されている場合、PC3’によって、接続確認要求に対する応答信号である接続確認応答が第2CPUユニット2へ送信される。一方、PC3’が第2CPUユニット2に接続されていない場合、接続確認応答は送信されない。   First, when the image forming apparatus 10 is turned on, the communication channel setting unit 211 outputs a connection confirmation request to the connection confirmation request transmission unit 251. The connection confirmation request transmission unit 251 transmits the connection confirmation request output by the communication channel setting unit 211 to the PC 3 '(step S1). When the PC 3 ′ is connected to the second CPU unit 2, a connection confirmation response that is a response signal to the connection confirmation request is transmitted to the second CPU unit 2 by the PC 3 ′. On the other hand, when the PC 3 ′ is not connected to the second CPU unit 2, the connection confirmation response is not transmitted.

次に、通信チャネル設定部211は、接続確認応答受信部252によって接続確認応答が受信されたか否かを判断する(ステップS2)。接続確認応答が受信された場合(ステップS2でYES)、PC3’が第2CPUユニット2に接続されているので、通信チャネル設定部211は、通信チャネルをPC3’(通信部25)に切り替える(ステップS3)。通信チャネルをPC3’に切り替えられることにより、以降のデータの送受信はPC3’と行われることとなる。   Next, the communication channel setting unit 211 determines whether or not a connection confirmation response has been received by the connection confirmation response reception unit 252 (step S2). When the connection confirmation response is received (YES in step S2), since the PC 3 ′ is connected to the second CPU unit 2, the communication channel setting unit 211 switches the communication channel to the PC 3 ′ (communication unit 25) (step) S3). By switching the communication channel to PC3 ', subsequent data transmission / reception is performed with PC3'.

次に、デバッグデータ抽出部213は、ROM23に記憶されているファームウェアを実行し、デバッグ用のデータ(デバッグデータ)を抽出し(ステップS4)、抽出したデバッグデータを送信バッファ241へ出力する(ステップS5)。なお、デバッグデータの抽出は、デバッグデータ抽出部213がファームウェアに含まれるデバッグデータを出力するための出力関数を実行することにより抽出される。この出力関数としては、例えばC言語の汎用出力関数であるprintf関数を用いる。   Next, the debug data extraction unit 213 executes the firmware stored in the ROM 23, extracts debug data (debug data) (step S4), and outputs the extracted debug data to the transmission buffer 241 (step S4). S5). The debug data is extracted when the debug data extraction unit 213 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.

次に、デバッグデータ抽出部213は、送信バッファ241の記憶内容を監視し、送信バッファ241にデバッグデータが格納されているか否かを判断する(ステップS6)。ここで、送信バッファ241にデバッグデータが格納されていないと判断された場合(ステップS6でNO)、ステップS4の処理へ戻り、デバッグデータを抽出する処理を実行する。   Next, the debug data extraction unit 213 monitors the storage contents of the transmission buffer 241 and determines whether debug data is stored in the transmission buffer 241 (step S6). If it is determined that debug data is not stored in the transmission buffer 241 (NO in step S6), the process returns to step S4 to execute a process of extracting debug data.

一方、送信バッファ241にデバッグデータが格納されていると判断された場合(ステップS6でYES)、デバッグデータ抽出部213は、送信バッファ241に記憶されているデバッグデータを変化ステータスバッファ242へ出力する(ステップS7)。このとき、送信バッファ241に複数の文字で構成されるデバッグデータが記憶されている場合、デバッグデータ抽出部213は、先頭の文字から順番に1文字ずつ送信バッファ241から取り出し、変化ステータスバッファ242へ出力する。   On the other hand, when it is determined that debug data is stored in the transmission buffer 241 (YES in step S6), the debug data extraction unit 213 outputs the debug data stored in the transmission buffer 241 to the change status buffer 242. (Step S7). At this time, when debug data composed of a plurality of characters is stored in the transmission buffer 241, the debug data extraction unit 213 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.

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

一方、変化ステータスバッファ242が空でないと判断された場合(ステップS8でNO)、デバッグデータ読出部215は、変化ステータスバッファ242に記憶されているデバッグデータを読み出す(ステップS9)。デバッグデータ読出部215は、読み出したデバッグデータをデバッグデータ送信部253へ出力する。   On the other hand, when it is determined that the change status buffer 242 is not empty (NO in step S8), the debug data reading unit 215 reads the debug data stored in the change status buffer 242 (step S9). The debug data reading unit 215 outputs the read debug data to the debug data transmission unit 253.

次に、デバッグデータ送信部253は、デバッグデータ読出部215によって変化ステータスバッファ242から読み出されたデバッグデータをPC3’へ送信する(ステップS10)。そして、デバッグデータがPC3’へ送信された後、ステップS6の処理へ戻り、送信バッファ241にデバッグデータがあるか否かが判断され、以降の処理が実行される。PC3’の通信部32は、第2CPUユニット2によって送信されたデバッグデータを受信し、表示装置35へ出力する。表示装置35は、通信部32によって受信されたデバッグデータを表示する。   Next, the debug data transmitting unit 253 transmits the debug data read from the change status buffer 242 by the debug data reading unit 215 to the PC 3 '(Step S10). Then, after the debug data is transmitted to the PC 3 ′, the process returns to the process of step S 6, it is determined whether there is debug data in the transmission buffer 241, and the subsequent processes are executed. The communication unit 32 of the PC 3 ′ receives the debug data transmitted by the second CPU unit 2 and outputs it to the display device 35. The display device 35 displays debug data received by the communication unit 32.

一方、接続確認応答が受信されない場合(ステップS2でNO)、通信チャネル設定部211は、接続確認要求を送信してから所定時間経過したか否かを判断する(ステップS11)。通信チャネル設定部211は、接続確認要求が送信されると、不図示のタイマにより計時を開始する。ここで、接続確認要求を送信してから所定時間経過していないと判断された場合(ステップS11でNO)、ステップS2の処理へ戻り、接続確認応答受信部252によって接続確認応答が受信されたか否かが判断される。   On the other hand, when the connection confirmation response is not received (NO in step S2), the communication channel setting unit 211 determines whether or not a predetermined time has elapsed since the connection confirmation request was transmitted (step S11). When the connection confirmation request is transmitted, the communication channel setting unit 211 starts timing by a timer (not shown). If it is determined that a predetermined time has not elapsed since the connection confirmation request was transmitted (NO in step S11), the process returns to step S2, and the connection confirmation response receiving unit 252 has received a connection confirmation response. It is determined whether or not.

一方、接続確認要求を送信してから所定時間経過したと判断された場合(ステップS11でYES)、PC3’が第2CPUユニット2に接続されていないので、通信チャネル設定部211は、通信チャネルを第1CPUユニット1(通信部22)に切り替える(ステップS12)。   On the other hand, if it is determined that a predetermined time has elapsed since the connection confirmation request was transmitted (YES in step S11), since the PC 3 ′ is not connected to the second CPU unit 2, the communication channel setting unit 211 sets the communication channel. Switch to the first CPU unit 1 (communication unit 22) (step S12).

次に、通信チャネル設定部211は、第1CPUユニット1に接続を要求するための接続要求を接続要求送信部221へ出力する。接続要求送信部221は、通信チャネル設定部211によって出力された接続要求を第1CPUユニット1へ送信する(ステップS13)。   Next, the communication channel setting unit 211 outputs a connection request for requesting connection to the first CPU unit 1 to the connection request transmission unit 221. The connection request transmission unit 221 transmits the connection request output by the communication channel setting unit 211 to the first CPU unit 1 (step S13).

次に、第1CPUユニット1の接続要求受信部151は、第2CPUユニット2によって送信された接続要求を受信して通信チャネル設定部111へ出力する(ステップS31)。通信チャネル設定部111は、接続要求受信部151によって接続要求が受信されると、当該接続要求に対する応答信号(接続応答)を接続応答送信部152へ出力する。接続応答送信部152は、通信チャネル設定部111によって出力された接続応答を第2CPUユニット2へ送信する(ステップS32)。   Next, the connection request receiving unit 151 of the first CPU unit 1 receives the connection request transmitted by the second CPU unit 2 and outputs it to the communication channel setting unit 111 (step S31). When the connection request is received by the connection request receiver 151, the communication channel setting unit 111 outputs a response signal (connection response) to the connection request to the connection response transmitter 152. The connection response transmission unit 152 transmits the connection response output by the communication channel setting unit 111 to the second CPU unit 2 (step S32).

次に、接続応答受信部222は、第1CPUユニット1によって送信された接続応答を受信して通信チャネル設定部211へ出力する(ステップS14)。接続応答が通信チャネル設定部211に出力されることにより、以降のデータの送受信は第1CPUユニット1を介してPC3と行われることとなる。   Next, the connection response receiving unit 222 receives the connection response transmitted by the first CPU unit 1 and outputs it to the communication channel setting unit 211 (step S14). By outputting the connection response to the communication channel setting unit 211, subsequent data transmission / reception is performed with the PC 3 via the first CPU unit 1.

また、ステップS32において、接続応答送信部152によって接続応答が第2CPUユニット2へ送信された後、送信設定受付部112は、第2CPUユニット2がデバッグデータを第1CPUユニット1へ送信するか否かを表す送信設定情報のユーザによる選択を受け付け、受け付けた送信設定情報を送信設定情報送信部153へ出力する(ステップS33)。具体的には、送信設定受付部112は、PC3の表示装置35又は第1CPUユニット1の操作パネル部14に送信設定情報を受け付ける画面を表示する。PC3の入力装置36又は第1CPUユニット1の操作パネル部14は、ユーザによる送信設定情報の入力を受け付け、入力された送信設定情報を送信設定受付部112に出力する。   In step S32, after the connection response is transmitted to the second CPU unit 2 by the connection response transmission unit 152, the transmission setting reception unit 112 determines whether or not the second CPU unit 2 transmits the debug data to the first CPU unit 1. Is selected by the user, and the received transmission setting information is output to the transmission setting information transmitting unit 153 (step S33). Specifically, the transmission setting reception unit 112 displays a screen for receiving transmission setting information on the display device 35 of the PC 3 or the operation panel unit 14 of the first CPU unit 1. The input device 36 of the PC 3 or the operation panel unit 14 of the first CPU unit 1 accepts input of transmission setting information by the user, and outputs the inputted transmission setting information to the transmission setting acceptance unit 112.

次に、送信設定情報送信部153は、送信設定受付部112によって出力された送信設定情報を第2CPUユニット2へ送信する(ステップS34)。次に、第2CPUユニット2の送信設定情報受信部223は、第1CPUユニット1によって送信された送信設定情報を受信して送信設定部212へ出力する(ステップS15)。   Next, the transmission setting information transmission unit 153 transmits the transmission setting information output by the transmission setting reception unit 112 to the second CPU unit 2 (step S34). Next, the transmission setting information receiving unit 223 of the second CPU unit 2 receives the transmission setting information transmitted by the first CPU unit 1 and outputs it to the transmission setting unit 212 (step S15).

次に、送信設定部212は、送信設定情報受信部223によって受信された送信設定情報に、デバッグデータを第1CPUユニット1へ送信しない旨を表す送信拒否情報が含まれているか否かを判断する(ステップS16)。ここで、送信設定情報に送信拒否情報が含まれていると判断された場合(ステップS16でYES)、送信設定部212は、デバッグデータ送信部226に対してデバッグデータを第1CPUユニット1へ送信しないよう設定する(ステップS17)。   Next, the transmission setting unit 212 determines whether or not the transmission setting information received by the transmission setting information receiving unit 223 includes transmission rejection information indicating that debug data is not transmitted to the first CPU unit 1. (Step S16). Here, when it is determined that the transmission setting information includes the transmission rejection information (YES in step S16), the transmission setting unit 212 transmits the debug data to the first CPU unit 1 to the debug data transmission unit 226. It sets so that it may not (step S17).

送信設定情報に送信拒否情報が含まれていないと判断された場合、すなわち、デバッグデータを第1CPUユニット1へ送信する旨を表す送信許可情報が送信設定情報に含まれている場合(ステップS16でNO)、又は、送信設定部212により送信拒否設定が行われた場合、デバッグデータ抽出部213は、ROM23に記憶されているファームウェアを実行し、デバッグ用のデータ(デバッグデータ)を抽出する(ステップS18)。   When it is determined that the transmission rejection information is not included in the transmission setting information, that is, when transmission permission information indicating that the debug data is transmitted to the first CPU unit 1 is included in the transmission setting information (in step S16). NO), or when transmission rejection setting is performed by the transmission setting unit 212, the debug data extracting unit 213 executes the firmware stored in the ROM 23 and extracts debug data (debug data) (step) S18).

なお、ステップS18〜S22までの処理は、ステップS4〜S8までの処理と同じであるので説明を省略する。   In addition, since the process from step S18 to S22 is the same as the process from step S4 to S8, the description is omitted.

ステップS22において、変化ステータスバッファ242が空でないと判断された場合(ステップS22でNO)、判断部214は、第1CPUユニット1において割り込み処理を発生させるべく割り込み信号を割り込み信号送信部224へ出力する。次に、割り込み信号送信部224は、割り込み信号を第1CPUユニット1へ送信する(ステップS23)。   If it is determined in step S22 that the change status buffer 242 is not empty (NO in step S22), the determination unit 214 outputs an interrupt signal to the interrupt signal transmission unit 224 so as to generate an interrupt process in the first CPU unit 1. . Next, the interrupt signal transmission unit 224 transmits an interrupt signal to the first CPU unit 1 (step S23).

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

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

次に、デバッグデータ送信部226は、送信設定部212によりデバッグデータを第1CPUユニット1へ送信しないよう設定されているか否かを判断する(ステップS26)。ここで、デバッグデータを第1CPUユニット1へ送信しないよう設定されていると判断された場合(ステップS26でYES)、デバッグデータ送信部226は、デバッグデータ読出部215によって変化ステータスバッファ242から読み出されたデバッグデータを破棄する(ステップS27)。   Next, the debug data transmitting unit 226 determines whether or not the transmission setting unit 212 is set not to transmit debug data to the first CPU unit 1 (step S26). If it is determined that the debug data is set not to be transmitted to the first CPU unit 1 (YES in step S26), the debug data transmitting unit 226 reads the change data from the change status buffer 242 by the debug data reading unit 215. The debug data is discarded (step S27).

一方、デバッグデータを第1CPUユニット1へ送信するよう設定されていると判断された場合(ステップS26でNO)、デバッグデータ送信部226は、デバッグデータ読出部215によって変化ステータスバッファ242から読み出されたデバッグデータを第1CPUユニット1へ送信する(ステップS28)。そして、デバッグデータが第1CPUユニット1へ送信された後、又は、デバッグデータが破棄された後、ステップS20の処理へ戻り、送信バッファ241にデバッグデータがあるか否かが判断され、以降の処理が実行される。   On the other hand, when it is determined that the debug data is set to be transmitted to the first CPU unit 1 (NO in step S26), the debug data transmitting unit 226 is read from the change status buffer 242 by the debug data reading unit 215. The debug data is transmitted to the first CPU unit 1 (step S28). Then, after the debug data is transmitted to the first CPU unit 1 or after the debug data is discarded, the process returns to step S20 to determine whether or not there is debug data in the transmission buffer 241, and the subsequent processes Is executed.

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

次に、デバッグ実行部113は、デバッグデータ受信部156によって受信されたデバッグデータを用いてデバッグ機能を実行する(ステップS38)。具体的には、デバッグ実行部113は、通信部16を介してデバッグデータをPC3へ出力する。PC3の通信部32は、第1CPUユニット1によって送信されたデバッグデータを受信し、表示装置35へ出力する。表示装置35は、通信部32によって受信されたデバッグデータを表示する。   Next, the debug executing unit 113 executes a debug function using the debug data received by the debug data receiving unit 156 (step S38). Specifically, the debug execution unit 113 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.

このように、画像形成装置10は、複数のCPUユニットが備える各CPUが実行するプログラムをデバッグするためのデバッグ機能を有する第1CPUユニット1と、自身のCPUが実行するプログラムをデバッグするためのデバッグ機能を有する第2CPUユニット2とを備えている。第2CPUユニット2において、第2CPUユニット2にPC3’が接続されているか否かが判断され、第2CPUユニット2にPC3’が接続されていると判断された場合、通信チャネルがPC3’へ切り替えられるとともに、第2CPUユニット2にPC3’が接続されていないと判断された場合、通信チャネルが第1CPUユニット1へ切り替えられる。そして、デバッグに用いるデータが抽出され、通信チャネルがPC3’へ切り替えられた場合、抽出されたデータがPC3’へ送信され、通信チャネルが第1CPUユニット1へ切り替えられた場合、抽出されたデータが第1CPUユニット1へ送信される。第1CPUユニット1において、第2CPUユニット2によって送信されたデータが受信され、受信されたデータを用いてデバッグ機能が実行される。   As described above, the image forming apparatus 10 includes a first CPU unit 1 having a debugging function for debugging a program executed by each CPU included in a plurality of CPU units, and a debug for debugging a program executed by its own CPU. And a second CPU unit 2 having a function. In the second CPU unit 2, it is determined whether or not the PC 3 ′ is connected to the second CPU unit 2. When it is determined that the PC 3 ′ is connected to the second CPU unit 2, the communication channel is switched to the PC 3 ′. At the same time, when it is determined that the PC 3 ′ is not connected to the second CPU unit 2, the communication channel is switched to the first CPU unit 1. When data used for debugging is extracted and the communication channel is switched to the PC 3 ′, the extracted data is transmitted to the PC 3 ′, and when the communication channel is switched to the first CPU unit 1, the extracted data is It is transmitted to the first CPU unit 1. In the first CPU unit 1, the data transmitted by the second CPU unit 2 is received, and the debugging function is executed using the received data.

したがって、第2CPUユニット2にPC3’が接続されているか否かが判断され、第2CPUユニット2にPC3’が接続されていないと判断された場合、通信チャネルが第1CPUユニット1へ切り替えられるので、デバッグ機能を有しているCPU(第2CPUユニット2が備えるCPU21)とPC3’との接続が困難である場合であっても他のCPU(第1CPUユニット1が備えるCPU11)を介して確実にデバッグを行うことができる。   Therefore, if it is determined whether or not the PC 3 ′ is connected to the second CPU unit 2 and it is determined that the PC 3 ′ is not connected to the second CPU unit 2, the communication channel is switched to the first CPU unit 1. Even when it is difficult to connect the CPU 3 having a debugging function (CPU 21 provided in the second CPU unit 2) and the PC 3 ', debugging is surely performed through another CPU (CPU 11 provided in the first CPU unit 1). It can be performed.

また、第1CPUユニット1の通信部16が電源を切断することなくPC3と接続可能なコネクタを有し、第2CPUユニット2の通信部25が電源を切断しなければPC3’と接続することができないコネクタを有する場合、第1CPUユニット1により第2CPUユニット2のCPU21が実行するプログラムのデバッグを実行することができるので、再現率の低い不具合に関しても電源を切断することなしに解析することができる。   Further, the communication unit 16 of the first CPU unit 1 has a connector that can be connected to the PC 3 without cutting off the power source, and the communication unit 25 of the second CPU unit 2 cannot be connected to the PC 3 ′ unless the power source is cut off. When the connector is provided, the first CPU unit 1 can debug the program executed by the CPU 21 of the second CPU unit 2, and therefore, it is possible to analyze a problem with a low reproducibility without turning off the power.

また、第2CPUユニット2が画像形成装置10の内部に搭載され、PC3’と接続困難な位置に配置されている場合であっても、第1CPUユニット1により第2CPUユニット2のCPU21が実行するプログラムのデバッグを実行することができる。   Further, even when the second CPU unit 2 is mounted inside the image forming apparatus 10 and disposed at a position where it is difficult to connect to the PC 3 ′, the program executed by the CPU 21 of the second CPU unit 2 by the first CPU unit 1. Can be debugged.

また、第1CPUユニット1において、通信チャネルが第1CPUユニット1へ切り替えられた場合、抽出されたデータを第1CPUユニット1へ送信するか否かのユーザによる選択が受け付けられる。そして、データを第1CPUユニット1へ送信しないことが受け付けられた場合、抽出されたデータが第1CPUユニット1へ送信されない。したがって、通信チャネルが第1CPUユニット1へ切り替えられたとしても、デバッグに用いるデータを第1CPUユニット1へ送信しないことが受け付けられると、当該データが送信されないので、ユーザの必要性に応じて第2CPUユニット2からデバッグ用のデータを出力させることができる。   In the first CPU unit 1, when the communication channel is switched to the first CPU unit 1, a selection by the user as to whether or not to transmit the extracted data to the first CPU unit 1 is accepted. When it is accepted that data is not transmitted to the first CPU unit 1, the extracted data is not transmitted to the first CPU unit 1. Therefore, even if the communication channel is switched to the first CPU unit 1, if it is accepted that the data used for debugging is not transmitted to the first CPU unit 1, the data is not transmitted. Data for debugging can be output from the unit 2.

さらに、第2CPUユニット2において、PC3’が接続されているか否かを確認するための接続確認要求がPC3’へ送信され、PC3’によって送信された接続確認要求に対する応答信号(接続確認応答)が受信されるので、この応答信号の有無に基づいて第2CPUユニット2にPC3’が接続されていることを確実に検知することができる。   Further, in the second CPU unit 2, a connection confirmation request for confirming whether or not the PC 3 ′ is connected is transmitted to the PC 3 ′, and a response signal (connection confirmation response) to the connection confirmation request transmitted by the PC 3 ′ is received. Since it is received, it can be reliably detected that the PC 3 'is connected to the second CPU unit 2 based on the presence or absence of the response signal.

なお、本実施の形態において、第2CPUユニット2は、PC3’へ接続確認要求を送信し、PC3’からの接続確認応答を受信した場合に、第2CPUユニット2にPC3’が接続されていると判断しているが、本発明は特にこれに限定されず、第2CPUユニット2とPC3’とを接続する通信線に印加される電圧の有無を検出することにより、第2CPUユニット2にPC3’が接続されているか否かを判断してもよい。   In the present embodiment, when the second CPU unit 2 transmits a connection confirmation request to the PC 3 ′ and receives a connection confirmation response from the PC 3 ′, the PC 3 ′ is connected to the second CPU unit 2. However, the present invention is not particularly limited to this, and by detecting the presence or absence of a voltage applied to the communication line connecting the second CPU unit 2 and the PC 3 ', the PC 3' is connected to the second CPU unit 2. It may be determined whether or not it is connected.

図6は、第2CPUユニット2とPC3’とを接続する通信線に印加される電圧を検出する場合における第1CPUユニット1及び第2CPUユニット2の機能構成を示すブロック図である。なお、図6において、図2に示す第1CPUユニット1及び第2CPUユニット2と同じ構成については説明を省略し、異なる構成のみを説明する。   FIG. 6 is a block diagram showing a functional configuration of the first CPU unit 1 and the second CPU unit 2 when detecting a voltage applied to a communication line connecting the second CPU unit 2 and the PC 3 ′. In FIG. 6, 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.

第2CPUユニット2は、CPU21、通信部22、RAM24、通信部25及び電圧検出部26を備える。電圧検出部26は、第2CPUユニット2の通信部25とPC3’の通信部32とを接続する通信線に印加される電圧の有無を検出し、電圧の有無を表す検出信号を通信チャネル設定部211へ出力する。通信部25は、デバッグデータ送信部253を備える。   The second CPU unit 2 includes a CPU 21, a communication unit 22, a RAM 24, a communication unit 25, and a voltage detection unit 26. The voltage detection unit 26 detects the presence / absence of a voltage applied to a communication line connecting the communication unit 25 of the second CPU unit 2 and the communication unit 32 of the PC 3 ′, and transmits a detection signal indicating the presence / absence of the voltage to the communication channel setting unit. To 211. The communication unit 25 includes a debug data transmission unit 253.

PC3’が第2CPUユニット2に接続されている場合、第2CPUユニット2の通信部25とPC3’の通信部32とを接続する通信線に一定の電圧が印加される。そこで、通信チャネル設定部211は、電圧検出部26によって電圧が検出された場合、第2CPUユニット2にPC3’が接続されていると判断し、電圧検出部26によって電圧が検出されない場合、第2CPUユニット2にPC3’が接続されていないと判断する。   When the PC 3 ′ is connected to the second CPU unit 2, a constant voltage is applied to the communication line that connects the communication unit 25 of the second CPU unit 2 and the communication unit 32 of the PC 3 ′. Therefore, the communication channel setting unit 211 determines that the PC 3 ′ is connected to the second CPU unit 2 when the voltage is detected by the voltage detection unit 26, and if the voltage is not detected by the voltage detection unit 26, the second CPU It is determined that the PC 3 ′ is not connected to the unit 2.

このように、第2CPUユニット2において、第2CPUユニット2とPC3’とを接続する通信線に印加される電圧が検出されるので、この電圧の有無に基づいて第2CPUユニット2にPC3’が接続されていることを確実に検知することができる。   As described above, in the second CPU unit 2, the voltage applied to the communication line connecting the second CPU unit 2 and the PC 3 'is detected, so that the PC 3' is connected to the second CPU unit 2 based on the presence or absence of this voltage. Can be reliably detected.

本発明に係る情報処理装置の一例である画像形成装置及びそれに接続されるPC(パーソナルコンピュータ)のハードウェア構成の概要を示すブロック図である。1 is a block diagram illustrating 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ユニットによるデバッグ動作について説明するための第1のフローチャートである。FIG. 3 is a first flowchart for explaining a debugging operation by a first CPU unit and a second CPU unit shown in FIG. 2. 図2に示す第1CPUユニット及び第2CPUユニットによるデバッグ動作について説明するための第2のフローチャートである。FIG. 3 is a second flowchart for explaining a debugging operation by the first CPU unit and the second CPU unit shown in FIG. 2. 図2に示す第1CPUユニット及び第2CPUユニットによるデバッグ動作について説明するための第3のフローチャートである。FIG. 6 is a third flowchart for explaining a debugging operation by the first CPU unit and the second CPU unit shown in FIG. 2. 第2CPUユニットとPCとを接続する通信線に印加される電圧を検出する場合における第1CPUユニット及び第2CPUユニットの機能構成を示すブロック図である。It is a block diagram which shows the function structure of the 1st CPU unit and the 2nd CPU unit in the case of detecting the voltage applied to the communication line which connects 2nd CPU unit and PC.

符号の説明Explanation of symbols

1 第1CPUユニット
2 第2CPUユニット
10 画像形成装置
11,21,31 CPU
12,23 ROM
13,24,33 RAM
14 操作パネル部
15,16,22,25,32 通信部
34 HDD
35 表示装置
36 入力装置
111 通信チャネル設定部
112 送信設定受付部
113 デバッグ実行部
151 接続要求受信部
152 接続応答送信部
153 送信設定情報送信部
154 割り込み信号受信部
155 データ要求信号送信部
156 デバッグデータ受信部
211 通信チャネル設定部
212 送信設定部
213 デバッグデータ抽出部
214 判断部
215 デバッグデータ読出部
221 接続要求送信部
222 接続応答受信部
223 送信設定情報受信部
224 割り込み信号送信部
225 データ要求信号受信部
226 デバッグデータ送信部
241 送信バッファ
242 変化ステータスバッファ
251 接続確認要求送信部
252 接続確認応答受信部
253 デバッグデータ送信部
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, 25, 32 Communication section 34 HDD
35 display device 36 input device 111 communication channel setting unit 112 transmission setting reception unit 113 debug execution unit 151 connection request reception unit 152 connection response transmission unit 153 transmission setting information transmission unit 154 interrupt signal reception unit 155 data request signal transmission unit 156 debug data Receiving unit 211 Communication channel setting unit 212 Transmission setting unit 213 Debug data extraction unit 214 Judgment unit 215 Debug data reading unit 221 Connection request transmission unit 222 Connection response reception unit 223 Transmission setting information reception unit 224 Interrupt signal transmission unit 225 Data request signal reception Unit 226 debug data transmission unit 241 transmission buffer 242 change status buffer 251 connection confirmation request transmission unit 252 connection confirmation response reception unit 253 debug data transmission unit

Claims (5)

プログラムを実行するCPUと前記プログラムを記憶するメモリとを備える複数のCPUユニットが互いに通信可能に接続された情報処理装置であって、
複数のCPUユニットが備える各CPUが実行するプログラムをデバッグするためのデバッグ機能を有する第1のCPUユニットと、
自身のCPUが実行するプログラムをデバッグするためのデバッグ機能を有する第2のCPUユニットとを備え、
前記第2のCPUユニットは、
前記第2のCPUユニットに外部装置が接続されているか否かを判断する判断手段と、
前記判断手段によって前記第2のCPUユニットに外部装置が接続されていると判断された場合、通信チャネルを前記外部装置へ切り替えるとともに、前記判断手段によって前記第2のCPUユニットに外部装置が接続されていないと判断された場合、通信チャネルを前記第1のCPUユニットへ切り替える切り替え手段と、
デバッグに用いるデータを抽出する抽出手段と、
前記切り替え手段によって通信チャネルが前記外部装置へ切り替えられた場合、前記抽出手段によって抽出されたデータを前記外部装置へ送信するとともに、前記切り替え手段によって通信チャネルが前記第1の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 having a debugging function for debugging a program executed by its own CPU;
The second CPU unit is
Determining means for determining whether an external device is connected to the second CPU unit;
When the determination means determines that an external device is connected to the second CPU unit, the communication channel is switched to the external device, and the external device is connected to the second CPU unit by the determination means. Switching means for switching the communication channel to the first CPU unit when it is determined that the communication channel is not
An extraction means for extracting data used for debugging;
When the communication channel is switched to the external device by the switching unit, the data extracted by the extraction unit is transmitted to the external device, and the communication channel is switched to the first CPU unit by the switching unit. A 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ユニットへ切り替えられた場合、前記抽出手段によって抽出されたデータを前記第1のCPUユニットへ送信するか否かのユーザによる選択を受け付ける受付手段をさらに備え、
前記データ送信手段は、前記受付手段によってデータを前記第1のCPUユニットへ送信しないことが受け付けられた場合、前記抽出手段によって抽出されたデータを前記第1のCPUユニットへ送信しないことを特徴とする請求項1記載の情報処理装置。
The first CPU unit is
An accepting means for accepting selection by the user as to whether or not to transmit the data extracted by the extracting means to the first CPU unit when the communication channel is switched to the first CPU unit by the switching means; Prepared,
The data transmission unit does not transmit the data extracted by the extraction unit to the first CPU unit when the reception unit accepts that the data is not transmitted to the first CPU unit. The information processing apparatus according to claim 1.
前記第2のCPUユニットは、
前記外部装置が接続されているか否かを確認するための接続確認信号を前記外部装置へ送信する接続確認信号送信手段と、
前記外部装置によって送信された前記接続確認信号に対する応答信号を受信する応答信号受信手段とをさらに備え、
前記判断手段は、前記応答信号受信手段によって前記応答信号が受信された場合、前記第2のCPUユニットに外部装置が接続されていると判断することを特徴とする請求項1又は2記載の情報処理装置。
The second CPU unit is
A connection confirmation signal transmitting means for transmitting a connection confirmation signal for confirming whether or not the external device is connected to the external device;
Response signal receiving means for receiving a response signal for the connection confirmation signal transmitted by the external device;
3. The information according to claim 1, wherein the determination unit determines that an external device is connected to the second CPU unit when the response signal is received by the response signal reception unit. Processing equipment.
前記第2のCPUユニットは、
前記第2のCPUユニットと前記外部装置とを接続する通信線に印加される電圧を検出する電圧検出手段をさらに備え、
前記判断手段は、前記電圧検出手段によって電圧が検出された場合、前記第2のCPUユニットに外部装置が接続されていると判断することを特徴とする請求項1又は2記載の情報処理装置。
The second CPU unit is
Voltage detection means for detecting a voltage applied to a communication line connecting the second CPU unit and the external device;
The information processing apparatus according to claim 1, wherein the determination unit determines that an external device is connected to the second CPU unit when a voltage is detected by the voltage detection unit.
前記情報処理装置は、画像を形成する画像形成装置であり、
前記第1のCPUユニットは、前記画像形成装置全体を制御する制御部を含み、
前記第2のCPUユニットは、前記画像形成装置が内蔵する駆動源を制御するエンジン制御部を含むことを特徴とする請求項1〜4のいずれかに記載の情報処理装置。
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.
JP2005337013A 2005-11-22 2005-11-22 Information processing apparatus Pending JP2007141139A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005337013A JP2007141139A (en) 2005-11-22 2005-11-22 Information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005337013A JP2007141139A (en) 2005-11-22 2005-11-22 Information processing apparatus

Publications (1)

Publication Number Publication Date
JP2007141139A true JP2007141139A (en) 2007-06-07

Family

ID=38203889

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005337013A Pending JP2007141139A (en) 2005-11-22 2005-11-22 Information processing apparatus

Country Status (1)

Country Link
JP (1) JP2007141139A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014153793A (en) * 2013-02-06 2014-08-25 Nec Corp Server and output backup method of firmware installed in the same
CN111918039A (en) * 2020-08-13 2020-11-10 智点恒创(苏州)智能科技有限公司 Artificial intelligence high risk operation management and control system based on 5G network

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014153793A (en) * 2013-02-06 2014-08-25 Nec Corp Server and output backup method of firmware installed in the same
CN111918039A (en) * 2020-08-13 2020-11-10 智点恒创(苏州)智能科技有限公司 Artificial intelligence high risk operation management and control system based on 5G network
CN111918039B (en) * 2020-08-13 2022-12-09 智点恒创(苏州)智能科技有限公司 Artificial intelligence high risk operation management and control system based on 5G network

Similar Documents

Publication Publication Date Title
US20120290884A1 (en) Information processing apparatus that detects startup error, method of controlling the same, and storage medium
US20070279678A1 (en) Image forming system, user interface device and image forming apparatus
US20160187955A1 (en) Information processing apparatus, information processing method and computer program product
JP2007141139A (en) Information processing apparatus
US5974559A (en) Information processing apparatus, method for managing status thereof and memory medium
JP6711618B2 (en) Information processing apparatus, information processing system, information processing server, information processing method, and program
JP2017201736A (en) Image processing apparatus, method for controlling the image processing apparatus, and program
JP4494329B2 (en) Information processing device
JP4676241B2 (en) Computer peripherals
JP4558376B2 (en) controller
JP2005301608A (en) Installation program, installation device, and installation method of peripheral equipment driver
JP2006293638A (en) Information processor and peripheral equipment
JP2007213404A (en) Embedded equipment, download method, storage medium and program
JP2004288005A (en) Printer and its control method
JP4562439B2 (en) Program verification system and computer program for controlling program verification system
CN110362349B (en) Virtual input management device and management method thereof
JP2013250911A (en) Image formation device, control method of image formation device and computer program
JP2004252585A (en) Program verification system
JP6344913B2 (en) Printing apparatus, image reading apparatus, and control method thereof
JP2012212985A (en) Image reading device
JP2005107909A (en) Multi-processor system having debug function and program for multi-processor system
JP2002189617A (en) Evaluation system and evaluation method
JP4815775B2 (en) Device driver installation method and installation system
CN108984135B (en) Image forming apparatus, state control method of the image forming apparatus, and image forming system
JP3080940B1 (en) Computer system