JP2007141139A - Information processing apparatus - Google Patents
Information processing apparatus Download PDFInfo
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、プログラムを実行するCPUと前記プログラムを記憶するメモリとを備える複数のCPUユニットが互いに通信可能に接続された情報処理装置に関するものである。 The present invention relates to an information processing apparatus in which a plurality of CPU units including a CPU that executes a program and a memory that stores the program are connected to be communicable with each other.
既に広く利用されているプリンタ装置、複写機、ファクシミリ装置などの情報処理装置等において、装置を制御するために複数のCPUを協調動作させることは近年多く行われている。これらのCPUは通常、バス又はシリアルインターフェースにより接続される。これらの各CPU上で動作するファームウェアをデバッグするには、一般に各CPUにデバッグ用のハードウェア資源が搭載される。これには例えば各CPUにオンチップデバッグ機能を有するものを使用したり、各CPUにデバッグ用の装置であるICE(インサーキットエミュレータ)を接続するためのソケットを備えることが一般的である。また、各CPUに外部装置との通信手段を設けることも行われている。 In information processing apparatuses such as printer apparatuses, copiers, and facsimile apparatuses that are already widely used, a plurality of CPUs are frequently operated in recent years to control the apparatuses. These CPUs are usually connected by a bus or a serial interface. In order to debug firmware operating on each of these CPUs, generally, hardware resources for debugging are mounted on each CPU. For this purpose, for example, it is common to use a CPU having an on-chip debugging function for each CPU, or to provide a socket for connecting an ICE (in-circuit emulator), which is a debugging device, to each CPU. In addition, a means for communicating with an external device is provided in each CPU.
また、CPUから読み書き可能なメモリをCPU毎に設け、そのメモリ間のデータ転送をDMA(ダイレクトメモリアクセス)により行い、一方のCPUが制御する制御部から他方のCPUが制御する制御部を監視する方法も提案されている。 Also, a memory that can be read from and written to by the CPU is provided for each CPU, data transfer between the memories is performed by DMA (direct memory access), and a control unit controlled by one CPU is monitored 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,
また、上述のようにデバッグ機能を各CPUに設ける場合、デバッグ用のハードウェア資源が必要となるため、そのハードウェア資源は確実にコストに反映され特にローエンドを対象とした情報処理装置ではこのコスト増加は容認されないものである。そこで、複数のCPUのうち第1のCPUにはデバッグ機能を設け、第2のCPUにはデバッグ機能を設けないことが考えられる。この場合、第2のCPUのファームウェアをデバッグするデバッグ手段はICEに限られるが、ICEを使用するために高価なソケットを用意する必要があり、複数枚の量産基板毎にソケットを装備することはコストの面で困難であった。このようなデバッグ手段を装備していない場合は設計時、製造時、ユーザ使用時に不具合が発生してもその真の原因を突き止めるために多くの時間を費やしてしまい、メーカ、ユーザ双方にとって著しく不利となる問題点があった。 Further, when the debugging function is provided in each CPU as described above, hardware resources for debugging are required. Therefore, the hardware resources are surely reflected in the cost, and this cost is particularly high in the information processing apparatus targeted for the low end. The increase is unacceptable. Accordingly, it is conceivable that the first CPU of the plurality of CPUs is provided with a debugging function, and the second CPU is not provided with a debugging function. In this case, the debugging means for debugging the firmware of the second CPU is limited to the ICE, but it is necessary to prepare an expensive socket in order to use the ICE, and it is not possible to equip a socket for each of a plurality of mass production boards. It was difficult in terms of cost. If there is no such debugging means, it takes a lot of time to find out the true cause even if a problem occurs during design, manufacturing, or user use, which is a disadvantage for both manufacturers and users. There was a problem.
そこで、デバッグ機能を有する第1のCPUと、デバッグ機能を有しない第2のCPUとからなる複数のCPUで構成され、第1のCPUと第2のCPUとは通信にて協調動作する情報処理装置において、通信プロトコルに第2のCPUをデバッグする通信プロトコルを内包し、第1のCPUのデバッグ機能を利用して第2のCPUをデバッグするリモートデバッグ方法が提案されている。 Therefore, an information processing system including a plurality of CPUs including a first CPU having a debugging function and a second CPU not having a debugging function, and the first CPU and the second CPU cooperatively operate by communication. In the apparatus, a remote debugging method has been proposed in which a communication protocol for debugging a second CPU is included in the communication protocol, and the second CPU is debugged using the debugging function of the first CPU.
また、上記のハード構成の情報処理装置において、デバッグ機能を有しない第2のCPUをデバッグする通信プロトコルに、第2のCPU上で動作するファームウェアのサブルーチンを直接実行する情報を通信プロトコルに内包するリモートデバッグ方法が提案されている。
しかしながら、上記のリモートデバッグ方法によると、第2のCPUにデバッグ機能を有する情報処理装置であっても、基板上の第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
画像形成装置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
第1CPUユニット1及び第2CPUユニット2は通信部15と通信部22とを接続することにより通信可能に接続されている。これらの通信部15,22は、例えばシリアル通信インターフェースであり、シリアル通信により通信が行われる。これは例えばバスによる接続であってもよい。画像形成装置10には第1及び第2CPUユニット1,2の他にこれらのCPUユニット1,2に接続されCPU11,21によって制御され画像形成機能(例えばコピー機能)を実行する部品群があるがここでは図示せず、説明を省略する。
The
なお、情報処理装置が画像形成装置である場合、第1CPUユニット1は、例えば画像形成装置全体を制御するコントローラ(制御部)であり、第2CPUユニット2は、例えば第1CPUユニット1によって制御され、画像形成装置が内蔵するローラやクラッチ等を駆動するモータ(駆動源)等を制御するエンジン制御部である。この場合、画像形成装置が内蔵する駆動源を制御するエンジン制御部のように装置内部に組み込まれており、PCを接続して直接デバッグすることが困難なCPUユニットであっても、PCを接続することが比較的容易な画像形成装置全体を制御する制御部を介してデバッグすることができる。また、第2CPUユニット2は、例えば第1CPUユニット1によって制御され、画像形成された用紙の後処理(ソート処理やステイプル処理等)を行う後処理装置であってもよい。
When the information processing apparatus is an image forming apparatus, the
画像形成装置10にはユーザがデバッグ機能を操作する端末としてPC3が通信部16を介して接続されている。PC3は主にCPU31、通信部32、RAM33、HDD34、表示装置35及び入力装置36により構成される。以下に第1及び第2CPUユニット1,2及びPC3の各構成部の説明を行う。
A
CPU11は、ROM12に格納されたプログラムを実行しCPU21と協調して画像形成装置10を制御して画像形成等を行う。通信部16は、PC3を接続するためのもので、例えばシリアル通信インターフェースである。ROM12は、CPU11で実行するプログラムを格納するためのメモリである。このプログラムは、画像形成装置10を制御するファームウェアとデバッグ機能を与えるためのデバッガプログラムとを含む。RAM13は、CPU11に一時的な作業領域等を与えるためのメモリである。操作パネル部14は、画像形成装置10に対する操作指示をユーザが入力するためのもので例えば液晶ディスプレイ等の表示部とテンキー及びスタートキー等の操作キー部を有する。PC3の代わりに操作パネル部14をデバッグ機能の操作に使用するようにしてもよい。通信部15は、第2CPUユニット2の通信部22と接続するためのものであり、CPUユニット1,2間でのプロセッサ間通信メッセージ等を送受信しCPU11及びCPU21が協調して動作を行うため等に使用される。通信部16は、PC3の通信部32と接続するための例えばシリアル通信インターフェースである。
The
CPU21は、ROM23に格納されたプログラムを実行しCPU11と協調して画像形成装置10を制御して画像形成等を行う。通信部22は、通信部15と接続するためのものでCPUユニット1,2間でのプロセッサ間通信メッセージ等を送受信しCPU11及びCPU21が協調して動作を行うため等に使用される。ROM23は、CPU21で実行するプログラムを格納するためのメモリである。このプログラムは、第2CPUユニット2を制御するファームウェアとデバッグ機能を与えるためのデバッガプログラムとを含む。RAM24は、CPU21に一時的な作業領域等を与えるためのメモリである。RAM24は、後述する送信バッファと変化ステータスバッファとを含む。通信部25は、後述するPC3’の通信部32と接続するための例えばシリアル通信インターフェースである。
The
CPU31は、RAM33内のプログラムを実行する。通信部32は、第1CPUユニット1の通信部16と接続するための例えばシリアル通信インターフェースである。この通信インターフェースによりPC3から第1CPUユニット1へのデバッグコマンドの送信及び逆経路でデバッグコマンドに対する返信が行われる。なお、デバッグコマンドには、ファームウェアに含まれる所定の関数の実行指示、メモリからのデータの読み出し指示、メモリへのデータの書き換え指示などが含まれ、CPU11は、このデバッグコマンドによる指示に基づいてデバッグを実行する。RAM33は、HDD34に格納されたプログラムのうちCPU31で実行する部分を一時的に格納するための主記憶装置である。HDD(ハードディスク駆動装置)34は、CPU31で実行するプログラム等を格納する外部記憶装置である。表示装置35は、例えば液晶表示装置等で構成され、PC3の表示用ユーザインターフェースとして使用されるものである。入力装置36は、例えばキーボード及びマウスなどで構成され、PC3の入力用インターフェースとして使用されるものである。
The
なお、本実施の形態では、第2CPUユニット2がPCに接続される場合もある。すなわち、第2CPUユニット2は、第2CPUユニット2が備える通信部25を介してPC3’と接続される。PC3’の構成はPC3と同じである。この場合、PC3’から第2CPUユニット2へ上記のデバッグコマンドが送信され、CPU21は、このデバッグコマンドによる指示に基づいてデバッグを実行する。なお、本実施の形態では、通信部25を介して第2CPUユニット2とPC3とを接続してもよい。
In the present embodiment, the
ここで、第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
CPU11で実行されるプログラムは、第1CPUユニット側ファームウェア及び第1CPUユニット側デバッガプログラムである。第1CPUユニット側ファームウェアは、画像形成装置10、すなわち第1CPUユニット1及び第2CPUユニット2を制御するプログラムであり、デバッグ対象プログラム(デバッグされるプログラム)である。第1CPUユニット側デバッガプログラムは、CPU11が実行する第1CPUユニット側ファームウェア及びCPU21が実行する第2CPUユニット側ファームウェアのデバッグのための処理を行うプログラムである。画像形成装置10が起動された時点で第1CPUユニット側デバッガプログラムは起動される。第1CPUユニット側デバッガプログラムは必要に応じて第1CPUユニット側ファームウェアを起動する。
The programs executed by the
CPU21で実行されるプログラムは、第2CPUユニット側ファームウェア及び第2CPUユニット側デバッガプログラムである。第2CPUユニット側ファームウェアは、第2CPUユニット2を制御するプログラムであり、デバッグ対象プログラムである。第2CPUユニット側デバッガプログラムは、CPU21が実行する第2CPUユニット側ファームウェアのデバッグのための処理を行うプログラムである。
The programs executed by the
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
送信設定受付部112は、第2CPUユニット2によって通信チャネルが第1CPUユニット1へ切り替えられた場合、デバッグを行うためのデータ(デバッグデータ)を第2CPUユニット2が第1CPUユニット1へ送信するか否かのユーザによる選択を受け付ける。なお、第2CPUユニット2がデバッグデータを第1CPUユニット1へ送信するか否かを表す送信設定情報は、PC3の入力装置36又は操作パネル部14を用いてユーザにより入力される。
Whether the
デバッグ実行部113は、デバッグ対象が第1CPUユニット1である場合、第1CPUユニット1に記憶されているファームウェアのデバッグを実行する。また、デバッグ実行部113は、デバッグ対象が第2CPUユニット2である場合、デバッグデータ受信部156によって受信されたデバッグデータを用いてデバッグを実行する。
When the debug target is the
通信部15は、接続要求受信部151、接続応答送信部152、送信設定情報送信部153、割り込み信号受信部154、データ要求信号送信部155及びデバッグデータ受信部156を備える。
The
接続要求受信部151は、第2CPUユニット2によって送信された接続要求を受信する。接続応答送信部152は、接続要求受信部151によって受信された接続要求に対する応答信号である接続応答を第2CPUユニット2へ送信する。送信設定情報送信部153は、送信設定受付部112によって受け付けられた送信設定情報を送信する。なお、送信設定情報には、第2CPUユニット2がデバッグデータを第1CPUユニット1へ送信することを表す送信許可情報と、第2CPUユニット2がデバッグデータを第1CPUユニット1へ送信しないことを表す送信拒否情報とが含まれる。割り込み信号受信部154は、第2CPUユニット2によって送信された割り込み信号を受信する。
The connection
データ要求信号送信部155は、割り込み信号受信部154によって割り込み信号が受信された場合、デバッグデータを要求するためのデータ要求信号を第2CPUユニット2へ送信する。デバッグデータ受信部156は、第2CPUユニット2によって送信されたデバッグデータを受信する。
When the interrupt
第2CPUユニット2は、CPU21、通信部22、RAM24及び通信部25を備える。通信部22は、接続要求送信部221、接続応答受信部222、送信設定情報受信部223、割り込み信号送信部224、データ要求信号受信部225及びデバッグデータ送信部226を備える。CPU21は、通信チャネル設定部211、送信設定部212、デバッグデータ抽出部213、判断部214及びデバッグデータ読出部215を備える。通信部25は、接続確認要求送信部251、接続確認応答受信部252及びデバッグデータ送信部253を備える。
The
通信チャネル設定部211は、第2CPUユニット2にPC3’が接続されているか否かを判断し、第2CPUユニット2にPC3’が接続されていると判断された場合、通信チャネルをPC3’へ切り替えるとともに、第2CPUユニット2にPC3’が接続されていないと判断された場合、通信チャネルを第1CPUユニット1へ切り替える。
The communication
通信チャネル設定部211は、PC3’が接続されているか否かを確認するための接続確認要求を接続確認要求送信部251へ出力する。接続確認要求送信部251は、通信チャネル設定部211によって出力された接続確認要求をPC3’へ送信する。接続確認応答受信部252は、PC3’によって送信された接続確認要求に対する応答信号(接続確認応答)を受信して通信チャネル設定部211へ出力する。
The communication
通信チャネル設定部211は、接続確認応答受信部252によって接続確認応答が受信された場合、第2CPUユニット2にPC3’が接続されていると判断する。また、通信チャネル設定部211は、所定時間経過しても接続確認応答受信部252によって接続確認応答が受信されない場合、第2CPUユニット2にPC3’が接続されていないと判断する。
The communication
通信チャネル設定部211は、第2CPUユニット2にPC3’が接続されていないと判断した場合、第1CPUユニット1に接続を要求するための接続要求を接続要求送信部221へ出力する。接続要求送信部221は、通信チャネル設定部211によって出力された接続要求を第1CPUユニット1へ送信する。接続応答受信部222は、第1CPUユニット1によって送信された接続応答を受信する。接続応答受信部222は、受信した接続応答を通信チャネル設定部211へ出力する。通信チャネル設定部211は、接続応答が入力されることにより、第1CPUユニット1との通信チャネルが接続される。
When the communication
送信設定情報受信部223は、第1CPUユニット1によって送信された送信設定情報を受信して送信設定部212へ出力する。送信設定部212は、送信設定情報受信部223によって受信された送信設定情報に、デバッグデータを第1CPUユニット1へ送信しない旨を表す送信拒否情報が含まれている場合、デバッグデータが第1CPUユニット1へ送信されないようにデバッグデータ送信部226を設定する。
The transmission setting
デバッグデータ抽出部213は、第2CPUユニット2に記憶されているファームウェアを実行し、デバッグに用いるデバッグデータを抽出する。デバッグデータ抽出部213は、送信バッファ241及び変化ステータスバッファ242に格納されるデータ内容を監視し、抽出したデバッグデータを送信バッファ241へ出力するとともに、送信バッファ241から変化ステータスバッファ242へデバッグデータを出力する。
The debug
判断部214は、変化ステータスバッファ242にデバッグデータが記憶されたか否かを判断する。割り込み信号送信部224は、判断部214によって変化ステータスバッファ242にデバッグデータが記憶されたと判断された場合、第1CPUユニット1へ割り込み信号を送信する。データ要求信号受信部225は、第1CPUユニット1によって送信されたデータ要求信号を受信する。
The
デバッグデータ読出部215は、データ要求信号受信部225によってデータ要求信号が受信された場合、変化ステータスバッファ242からデバッグデータを読み出す。第2CPUユニット2にPC3’が接続されていない場合、デバッグデータ送信部226は、デバッグデータ読出部215によって読み出されたデバッグデータを第1CPUユニット1へ送信する。また、第2CPUユニット2にPC3’が接続されている場合、デバッグデータ送信部253は、デバッグデータ読出部215によって読み出されたデバッグデータをPC3’へ送信する。
The debug
RAM24は、送信バッファ241及び変化ステータスバッファ242を備える。送信バッファ241は、デバッグデータ抽出部213によって抽出されたデバッグデータを記憶する。なお、送信バッファ241が記憶するデバッグデータは、例えば複数の文字で構成される。変化ステータスバッファ242は、第2CPUユニット2の状態変化情報を記憶するものであり、送信バッファ241から出力されたデバッグデータを記憶する。なお、送信バッファ241は、複数の文字を1文字ずつ順次変化ステータスバッファ242へ出力する。変化ステータスバッファ242が記憶するデバッグデータは、例えば複数の文字を1文字ずつ記憶する。
The
なお、変化ステータスバッファ242が記憶する第2CPUユニット2の状態変化情報とは、例えば第2CPUユニット2が後処理装置である場合、側面カバーが開いた状態であることを表す情報等である。つまり、状態変化情報とは、第2CPUユニット2の状態が変化した場合に、当該変化した状態を自発的に第1CPUユニット1へ通知するための情報である。
Note that the state change information of the
本実施の形態において、画像形成装置10が情報処理装置の一例に相当し、第1CPUユニット1が第1のCPUユニットの一例に相当し、第2CPUユニット2が第2のCPUユニットの一例に相当し、PC3’が外部装置の一例に相当し、通信チャネル設定部211が判断手段の一例に相当し、通信チャネル設定部211が切り替え手段の一例に相当し、デバッグデータ抽出部213が抽出手段の一例に相当し、デバッグデータ送信部226及びデバッグデータ送信部253がデータ送信手段の一例に相当し、デバッグデータ受信部156がデータ受信手段の一例に相当し、デバッグ実行部113が実行手段の一例に相当する。また、送信設定受付部112が受付手段の一例に相当し、接続確認要求送信部251が接続確認信号送信手段の一例に相当し、接続確認応答受信部252が応答信号受信手段の一例に相当する。
In the present embodiment, the
次に、第1CPUユニット1及び第2CPUユニット2によるデバッグ動作について説明する。図3〜5は、図2に示す第1CPUユニット1及び第2CPUユニット2によるデバッグ動作について説明するためのフローチャートである。
Next, the debugging operation by the
まず、画像形成装置10の電源が投入されると、通信チャネル設定部211は、接続確認要求を接続確認要求送信部251へ出力する。接続確認要求送信部251は、通信チャネル設定部211によって出力された接続確認要求をPC3’へ送信する(ステップS1)。ここで、PC3’が第2CPUユニット2に接続されている場合、PC3’によって、接続確認要求に対する応答信号である接続確認応答が第2CPUユニット2へ送信される。一方、PC3’が第2CPUユニット2に接続されていない場合、接続確認応答は送信されない。
First, when the
次に、通信チャネル設定部211は、接続確認応答受信部252によって接続確認応答が受信されたか否かを判断する(ステップS2)。接続確認応答が受信された場合(ステップS2でYES)、PC3’が第2CPUユニット2に接続されているので、通信チャネル設定部211は、通信チャネルをPC3’(通信部25)に切り替える(ステップS3)。通信チャネルをPC3’に切り替えられることにより、以降のデータの送受信はPC3’と行われることとなる。
Next, the communication
次に、デバッグデータ抽出部213は、ROM23に記憶されているファームウェアを実行し、デバッグ用のデータ(デバッグデータ)を抽出し(ステップS4)、抽出したデバッグデータを送信バッファ241へ出力する(ステップS5)。なお、デバッグデータの抽出は、デバッグデータ抽出部213がファームウェアに含まれるデバッグデータを出力するための出力関数を実行することにより抽出される。この出力関数としては、例えばC言語の汎用出力関数であるprintf関数を用いる。
Next, the debug
このように、プログラムの中からデバッグに用いるデータを出力するための出力関数が実行されることでデバッグに用いるデータが抽出されるので、予めプログラムに記述されている出力関数を実行することにより、容易にデバッグに用いるデータを抽出することができる。なお、本実施の形態では、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
一方、送信バッファ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
次に、判断部214は、変化ステータスバッファ242の記憶内容を監視し、変化ステータスバッファ242が空であるか否かを判断する(ステップS8)。ここで、変化ステータスバッファ242が空であると判断された場合(ステップS8でYES)、判断部214は、変化ステータスバッファ242にデバッグデータが格納されるまで所定間隔でステップS8の判断を繰り返し実行する。
Next, the
一方、変化ステータスバッファ242が空でないと判断された場合(ステップS8でNO)、デバッグデータ読出部215は、変化ステータスバッファ242に記憶されているデバッグデータを読み出す(ステップS9)。デバッグデータ読出部215は、読み出したデバッグデータをデバッグデータ送信部253へ出力する。
On the other hand, when it is determined that the
次に、デバッグデータ送信部253は、デバッグデータ読出部215によって変化ステータスバッファ242から読み出されたデバッグデータをPC3’へ送信する(ステップS10)。そして、デバッグデータがPC3’へ送信された後、ステップS6の処理へ戻り、送信バッファ241にデバッグデータがあるか否かが判断され、以降の処理が実行される。PC3’の通信部32は、第2CPUユニット2によって送信されたデバッグデータを受信し、表示装置35へ出力する。表示装置35は、通信部32によって受信されたデバッグデータを表示する。
Next, the debug
一方、接続確認応答が受信されない場合(ステップ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
一方、接続確認要求を送信してから所定時間経過したと判断された場合(ステップ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
次に、通信チャネル設定部211は、第1CPUユニット1に接続を要求するための接続要求を接続要求送信部221へ出力する。接続要求送信部221は、通信チャネル設定部211によって出力された接続要求を第1CPUユニット1へ送信する(ステップS13)。
Next, the communication
次に、第1CPUユニット1の接続要求受信部151は、第2CPUユニット2によって送信された接続要求を受信して通信チャネル設定部111へ出力する(ステップS31)。通信チャネル設定部111は、接続要求受信部151によって接続要求が受信されると、当該接続要求に対する応答信号(接続応答)を接続応答送信部152へ出力する。接続応答送信部152は、通信チャネル設定部111によって出力された接続応答を第2CPUユニット2へ送信する(ステップS32)。
Next, the connection
次に、接続応答受信部222は、第1CPUユニット1によって送信された接続応答を受信して通信チャネル設定部211へ出力する(ステップS14)。接続応答が通信チャネル設定部211に出力されることにより、以降のデータの送受信は第1CPUユニット1を介してPC3と行われることとなる。
Next, the connection
また、ステップ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
次に、送信設定情報送信部153は、送信設定受付部112によって出力された送信設定情報を第2CPUユニット2へ送信する(ステップS34)。次に、第2CPUユニット2の送信設定情報受信部223は、第1CPUユニット1によって送信された送信設定情報を受信して送信設定部212へ出力する(ステップS15)。
Next, the transmission setting
次に、送信設定部212は、送信設定情報受信部223によって受信された送信設定情報に、デバッグデータを第1CPUユニット1へ送信しない旨を表す送信拒否情報が含まれているか否かを判断する(ステップS16)。ここで、送信設定情報に送信拒否情報が含まれていると判断された場合(ステップS16でYES)、送信設定部212は、デバッグデータ送信部226に対してデバッグデータを第1CPUユニット1へ送信しないよう設定する(ステップS17)。
Next, the
送信設定情報に送信拒否情報が含まれていないと判断された場合、すなわち、デバッグデータを第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
なお、ステップ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
次に、第1CPUユニット1の割り込み信号受信部154は、第2CPUユニット2によって送信された割り込み信号を受信する(ステップS35)。割り込み信号受信部154によって割り込み信号が受信されると、データ要求信号送信部155は、デバッグデータの送信を要求するためのデータ要求信号を第2CPUユニット2へ送信する(ステップS36)。
Next, the interrupt
次に、第2CPUユニット2のデータ要求信号受信部225は、第1CPUユニット1によって送信されたデータ要求信号を受信する(ステップS24)。次に、データ要求信号受信部225によってデータ要求信号が受信されると、デバッグデータ読出部215は、変化ステータスバッファ242に記憶されているデバッグデータを読み出す(ステップS25)。デバッグデータ読出部215は、読み出したデバッグデータをデバッグデータ送信部226へ出力する。
Next, the data request
次に、デバッグデータ送信部226は、送信設定部212によりデバッグデータを第1CPUユニット1へ送信しないよう設定されているか否かを判断する(ステップS26)。ここで、デバッグデータを第1CPUユニット1へ送信しないよう設定されていると判断された場合(ステップS26でYES)、デバッグデータ送信部226は、デバッグデータ読出部215によって変化ステータスバッファ242から読み出されたデバッグデータを破棄する(ステップS27)。
Next, the debug
一方、デバッグデータを第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
次に、第1CPUユニット1のデバッグデータ受信部156は、第2CPUユニット2によって送信されたデバッグデータを受信する(ステップS37)。デバッグデータ受信部156は、受信したデバッグデータをデバッグ実行部113へ出力する。
Next, the debug
次に、デバッグ実行部113は、デバッグデータ受信部156によって受信されたデバッグデータを用いてデバッグ機能を実行する(ステップS38)。具体的には、デバッグ実行部113は、通信部16を介してデバッグデータをPC3へ出力する。PC3の通信部32は、第1CPUユニット1によって送信されたデバッグデータを受信し、表示装置35へ出力する。表示装置35は、通信部32によって受信されたデバッグデータを表示する。
Next, the
このように、画像形成装置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
したがって、第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
また、第1CPUユニット1の通信部16が電源を切断することなくPC3と接続可能なコネクタを有し、第2CPUユニット2の通信部25が電源を切断しなければPC3’と接続することができないコネクタを有する場合、第1CPUユニット1により第2CPUユニット2のCPU21が実行するプログラムのデバッグを実行することができるので、再現率の低い不具合に関しても電源を切断することなしに解析することができる。
Further, the
また、第2CPUユニット2が画像形成装置10の内部に搭載され、PC3’と接続困難な位置に配置されている場合であっても、第1CPUユニット1により第2CPUユニット2のCPU21が実行するプログラムのデバッグを実行することができる。
Further, even when the
また、第1CPUユニット1において、通信チャネルが第1CPUユニット1へ切り替えられた場合、抽出されたデータを第1CPUユニット1へ送信するか否かのユーザによる選択が受け付けられる。そして、データを第1CPUユニット1へ送信しないことが受け付けられた場合、抽出されたデータが第1CPUユニット1へ送信されない。したがって、通信チャネルが第1CPUユニット1へ切り替えられたとしても、デバッグに用いるデータを第1CPUユニット1へ送信しないことが受け付けられると、当該データが送信されないので、ユーザの必要性に応じて第2CPUユニット2からデバッグ用のデータを出力させることができる。
In the
さらに、第2CPUユニット2において、PC3’が接続されているか否かを確認するための接続確認要求がPC3’へ送信され、PC3’によって送信された接続確認要求に対する応答信号(接続確認応答)が受信されるので、この応答信号の有無に基づいて第2CPUユニット2にPC3’が接続されていることを確実に検知することができる。
Further, in the
なお、本実施の形態において、第2CPUユニット2は、PC3’へ接続確認要求を送信し、PC3’からの接続確認応答を受信した場合に、第2CPUユニット2にPC3’が接続されていると判断しているが、本発明は特にこれに限定されず、第2CPUユニット2とPC3’とを接続する通信線に印加される電圧の有無を検出することにより、第2CPUユニット2にPC3’が接続されているか否かを判断してもよい。
In the present embodiment, when the
図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
第2CPUユニット2は、CPU21、通信部22、RAM24、通信部25及び電圧検出部26を備える。電圧検出部26は、第2CPUユニット2の通信部25とPC3’の通信部32とを接続する通信線に印加される電圧の有無を検出し、電圧の有無を表す検出信号を通信チャネル設定部211へ出力する。通信部25は、デバッグデータ送信部253を備える。
The
PC3’が第2CPUユニット2に接続されている場合、第2CPUユニット2の通信部25とPC3’の通信部32とを接続する通信線に一定の電圧が印加される。そこで、通信チャネル設定部211は、電圧検出部26によって電圧が検出された場合、第2CPUユニット2にPC3’が接続されていると判断し、電圧検出部26によって電圧が検出されない場合、第2CPUユニット2にPC3’が接続されていないと判断する。
When the
このように、第2CPUユニット2において、第2CPUユニット2とPC3’とを接続する通信線に印加される電圧が検出されるので、この電圧の有無に基づいて第2CPUユニット2にPC3’が接続されていることを確実に検知することができる。
As described above, in the
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
12,23 ROM
13, 24, 33 RAM
14
35
Claims (5)
複数の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記載の情報処理装置。 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ユニットに外部装置が接続されていると判断することを特徴とする請求項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ユニットに外部装置が接続されていると判断することを特徴とする請求項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.
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)
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 |
-
2005
- 2005-11-22 JP JP2005337013A patent/JP2007141139A/en active Pending
Cited By (3)
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 |