JP7267692B2 - ファームウェアを更新する画像形成装置 - Google Patents

ファームウェアを更新する画像形成装置 Download PDF

Info

Publication number
JP7267692B2
JP7267692B2 JP2018143943A JP2018143943A JP7267692B2 JP 7267692 B2 JP7267692 B2 JP 7267692B2 JP 2018143943 A JP2018143943 A JP 2018143943A JP 2018143943 A JP2018143943 A JP 2018143943A JP 7267692 B2 JP7267692 B2 JP 7267692B2
Authority
JP
Japan
Prior art keywords
cpu
data
volatile memory
image forming
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018143943A
Other languages
English (en)
Other versions
JP2020021246A (ja
Inventor
暁立 王
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2018143943A priority Critical patent/JP7267692B2/ja
Priority to US16/513,563 priority patent/US10747483B2/en
Priority to CN201910700770.XA priority patent/CN110784614B/zh
Publication of JP2020021246A publication Critical patent/JP2020021246A/ja
Application granted granted Critical
Publication of JP7267692B2 publication Critical patent/JP7267692B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0083Arrangements for transferring signals between different components of the apparatus, e.g. arrangements of signal lines or cables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00938Software related arrangements, e.g. loading applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • H04N1/00973Input arrangements for operating instructions or parameters, e.g. updating internal software from a remote device, e.g. receiving via the internet instructions input to a computer terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本発明は、ファームウェアを更新する技術に関する。
情報機器ではファームウェアを更新することによって、その情報機器に新たな機能を追加したり、プログラムの不具合を改善したりする。特許文献1は、USBコントローラおよびCPUを含むメインシステムと、画像プロセッサおよびプリンタエンジンを制御するデバイスコントローラおよびCPUを含むサブシステムとを有する画像形成装置を開示する。この特許文献1では、このようなメインシステムとサブシステムとを有する画像形成装置における、サブシステム側のCPUの起動プログラムの更新処理を開示する。この画像形成装置では、メインシステム側のCPUが、サブシステム側のCPUの起動プログラムの更新用データをUSBメモリ等から取得してメインシステム側のRAMに展開する。そしてサブシステムのCPUは、メインシステム側のRAMに展開された更新用データを、サブシステム側のRAMにコピーして、コピーされたその更新用データを、サブシステム側のブートROMに上書き(更新)する。
特開2009-5019号公報
上記のような画像形成装置においてメインシステムとサブシステムとでは果たすべき役割が異なる。そのため、サブシステム側のCPUやRAMは、メインシステム側のものと比べて処理能力が低かったり、記憶容量が少なかったりすることがある。処理能力や記憶容量が少ないCPUやRAMにファームウェア更新を行わせると、その処理能力や記憶容量の少なさから、高速な更新ができない可能性がある。
本発明の画像形成装置は、外部と通信する第1のシステムと、第1のシステムと接続し、少なくとも印刷デバイスを制御する第2のシステムと、を有する画像形成装置において、第1のシステムは、第1のCPUと、データを第1のシステムから第2のシステムに転送する転送デバイスを有し、第2のシステムは、第2のCPUと、揮発性メモリと、第1のCPUによって当該データの書き込み先として指定されたアドレスに受け取ったデータを書き込む書き込みデバイスと、第2のCPUが実行するファームウェアを記憶する不揮発性メモリと、を有し、第2のCPUは、書き込みデバイス転送デバイスから受け取ったデータを、書き込みデバイスから不揮発性メモリに記憶させることを可能にする設定を書き込みデバイスに対して設定し、第2のCPUによって設定が行われた状態において、第2のシステムが転送デバイスから画像データを受け付けると、第2のCPUは、揮発性メモリに画像データを記憶させ、第2のCPUによって設定が行われた状態において、第2のシステムが転送デバイスから第2のCPUが実行するファームウェアの更新データ受け付けると、書き込みデバイスは、第2のCPUと揮発性メモリを用いずに、受け付けた更新データを不揮発性メモリに記憶させることを特徴とする。
ファームウェアの更新を高速に行うことができる。
画像形成装置のブロック図。 画像形成装置のコントローラ内部のブロック図。 コントローラの起動シーケンス図。 ファームウェアの更新方法の一例を示す図。 本実施形態におけるサブシステム第二CPUの動作プログラム(ファームウェア)の更新フローを示す図。 実施形態2におけるサブシステム第二CPUの動作プログラムの更新方法を説明する図。 実施形態3におけるサブシステム第二CPUの動作プログラムの更新方法を説明する図。 メインシステムおよびサブシステムのアドレス空間について説明する図。
次に本発明を実施するための形態について図面を参照して説明する。
<システム構成の説明>
以下、図面を参照して実施の形態を説明する。なお、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
(実施形態1)
本実施形態に係る情報処理装置の一例としての画像形成装置について説明する。
図1は本システムのブロック図である。画像形成装置1は、コントローラ(制御装置)3、スキャナ装置2、プリンタ装置4、記憶装置6、操作部5、FAX装置7を有する。
スキャナ装置(スキャナデバイス)2は、自動的に原稿束を自動的に逐次入れ替えることが可能な原稿給紙ユニット21、原稿を光学スキャンしデジタル画像に変換する事が可能なスキャナユニット22を備える。このスキャナ装置2は、得られたデジタル画像データをコントローラ3に送信する。
プリンタ装置(印刷デバイス)4は、内部に格納された紙束から一枚ずつ逐次給紙可能な給紙ユニット42、給紙した紙に画像データを印刷するためのマーキングユニット41、印刷後の紙を排紙するための排紙ユニット43を備える。このプリンタ装置4は、スキャナ装置2で得られたデジタル画像やLAN8を経由して外部のコンピュータ9から受け取られた印刷データに由来するデジタル画像を紙などのシートに印刷する。
操作部5は、ユーザに対して装置の設定等の情報を表示し、かつ、ユーザからのタッチ操作を受け付けるタッチスクリーン、および、ユーザからコピーの開始指示やスキャンの開始指示を受け付ける開始キーなどのハードキーを備えるユーザインタフェースである。操作部5は、操作部5に対するユーザの操作内容をコントローラ3に通知する。
記憶装置(記憶デバイス)6は、デジタル画像や制御プログラム等を記憶する。本実施例では、記憶装置6は、HDD(ハードディスクドライブ)およびSSD(ソリッドステートドライブ)を含む複数種類の記憶デバイスの何れかである。FAX装置7は、電話回線に接続され、デジタル画像を外部に送信する。コントローラ3は、これらと接続され各モジュール(各装置、各部)に指示を出す事でプリント、スキャン、データ送信等のジョブを実行することが可能である。またコントローラ3は、外部からファームウェアの更新データを受信し、その受信した更新データでファームウェアを更新する。
画像形成装置1は多彩なジョブを実行可能である。一例を以下に記載する。
・複写機能:スキャナ装置2から読み込んだ画像を記憶装置6に記録し、同時にプリンタ装置4を使用して印刷を行なう。
・画像送信機能:スキャナ装置2から読み込んだ画像はLAN8を介してコンピュータ9に送信する。
・画像保存機能:スキャナ装置2から読み込んだ画像を記憶装置6に記録し、必要に応じて画像送信や画像印刷を行なう。
・画像印刷機能:コンピュータ9から送信された例えばページ記述言語を解析し、プリンタ装置4で印刷する。
図2はコントローラのブロック図である。
コントローラ3はメインシステム100と、このメインシステム100にPCIE(Peripheral Component Interconnect Express)バスを介して接続されるサブシステム200から構成される。後述のように、メインシステム100の物理アドレス空間と、サブシステム200の物理アドレス空間とは異なり、PCIE-AXI変換器302によって、互いの物理アドレス空間の一部どうしがマッピングされている。例えば、サブシステム200内のデバイスにアクセスするためにメインシステムCPU101によって指定されるアドレスと、サブシステム200内のそのデバイスの物理アドレスとがマッピングされる。このマッピングの設定は、サブシステム200側のサブシステム第二CPU211によってサブシステム第二不揮発性メモリ213に記憶されているファームウェアプログラムにしたがって行われる。
以下説明する本実施形態では、このマッピングの設定をサブシステム第二CPU211がPCIE-AXI変換器302に対して行う。そしてマッピングの設定が行われたPCIE-AXI変換器302が、このマッピングの設定を行うサブシステム第二CPU211によって実行されるファームウェアの少なくとも一部を、メインシステムCPU101からの指示にしたがって更新する。
メインシステム100はいわゆる汎用的なCPUシステムである。メインシステム100は、図2に示される通りの各ハードウェアを有し、それぞれのハードウェアは内部バスに接続されている。
メインシステムCPU101(以降、CPU101と呼ぶ)は、コントローラ3の全体の制御を司るプロセッサである。ブートROM104は、CPU101のリセットが解除された直後にCPU101によって実行されるプログラム(すなわちCPU101のブートプログラム)を格納する。このブートプログラムは、CPU101が次に実行すべきプログラムの格納場所を指示する。本実施形態において、この場所はメインシステム不揮発性メモリ103(以降、不揮発性メモリ103と呼ぶ)である。
不揮発性メモリ103は、ブートプログラムの後にCPU101によって実行される動作プログラムを格納する。この動作プログラムはメインシステム100のOS(オペレーティングシステム)を含む。またこの動作プログラムは、ネットワークコントローラ106やUSBインタフェース105の初期設定(初期化)を行うプログラムを含む。またこの動作プログラムは、PCIEコントローラ301の初期設定を行うプログラムも含む。このPCIEコントローラ301は、CPU101によって指定されたデータおよびそのデータが書き込まれるアドレスを、メインシステム100側からサブシステム200側に転送する転送デバイスとして機能する。またPCIEコントローラ301は、サブシステム200側からメインシステム100側にデータを転送するデバイスとしても機能する。
不揮発性メモリ103に格納されている動作プログラムは、OS上で動作するメインシステム100のアプリケーションプログラムも含む。このアプリケーションプログラム中には、メインシステム100内の内部バスおよびサブシステム200内のAXI(Advanced eXtensible Interface)バスに接続された各デバイスのアドレスが予め記載されている。CPU101は、アプリケーションプログラムにしたがって、このアドレスを用いて各デバイスにアクセスする。例えばCPU101がサブシステム第二不揮発性メモリ213を示すアドレスに対してデータを書き込む指示を出すと、PCIEコントローラ301がそのアドレスにデータを書き込む指示をPCIE-AXI変換器302に通知する。サブシステム第二不揮発性メモリ213のことを、以降、不揮発性メモリ213と呼び、PCIE-AXI変換器302のことを、以降、変換器302と呼ぶ。この不揮発性メモリ213は、フラッシュメモリである。
変換器302は、サブシステム200内のAXIバスのバスマスタとして機能することができ、メインシステム100内のバスアクセスを、サブシステム200内のバスアクセスに変換する変換機能を有する。この変換機能は、例えば、PCIEバス経由でCPU101から通知されたアドレス(データが書き込まれるアドレス)を、サブシステム200内のAXIバス上のアドレス(すなわちサブシステム200上で有効なアドレス)に変換する。またこの変換機能は例えば、PCIEバスを流れるデータのデータ形式を、AXIバスを流れるデータのデータ形式に変換する。そして変換器302は、AXIバスのバスマスタとして、メインシステムから受け取ったデータを、このAXIバス上のアドレス(ここでの例では不揮発性メモリ213)に書き込む。すなわち変換器302は、メインシステム100から受け取ったデータを、サブシステム200内のデバイスに書き込む書き込みデバイスとして機能する。このデータ書き込みにおいて、変換器302がバスマスタとなっているので、サブシステム第二CPU211(以降、CPU211と呼ぶ)は用いられない。また同様に変換器302はバスマスタとして、CPU101からのデータをサブシステム第一揮発性メモリ202(以降、揮発性メモリ202と呼ぶ)に書き込むことができる。このデータ書き込みにおいてサブシステム第一CPU201(以降、CPU201と呼ぶ)は用いられない。揮発性メモリ202は、CPU201のメインメモリ(ワークメモリ)として使用される揮発性のRAM(Random Access Memory)である。
メインシステム揮発性メモリ102(以降、揮発性メモリ102と呼ぶ)は、CPU101のメインメモリ(ワークメモリ)として使用される揮発性のRAM(Random Access Memory)である。CPU101は、不揮発性メモリ103に格納されている上記動作プログラムをこの揮発性メモリ102に展開して実行する。USBインタフェース105は、USBメモリ10などの外部記憶装置をメインシステム100に接続するインタフェースである。ネットワークコントローラ106は、LANケーブルを介して画像形成装置1の外部のコンピュータ9と通信するためのインタフェースである。操作部インタフェース107は、操作部5をメインシステム100に接続するインタフェースである。
サブシステム200は、画像処理機能を制御するCPUシステムである。サブシステム200は、図2に示される通りの各ハードウェアを有する。
CPU211は、電源投入後にリセットが解除されると、不揮発性メモリ213の0番地アドレスに格納されているプログラムを実行するプロセッサである。このプログラムは、CPU211のブートプログラムである。また、このプログラムは、ブートプログラムの次にCPU211に実行させる動作プログラム(CPU211のファームウェアプログラム)が格納されている場所を指示する。本実施形態ではこの場所は不揮発性メモリ213の特定アドレスである。この動作プログラムは、実行時に、CPU211によってサブシステム第二揮発性メモリ212(以降、揮発性メモリ212と呼ぶ)に展開される。揮発性メモリ212は、CPU211のメインメモリ(ワークメモリ)として使用される揮発性のRAM(Random Access Memory)である。この動作プログラムは、記憶装置6および電源制御ハードウェア回路222の制御プログラムでもある。またこの動作プログラムは、変換器302の初期設定を行う。この初期設定では、メインシステム100が管理するアドレスとAXIバス上の物理的なアドレスとの対応関係(マッピング)が設定される。すなわち、この初期設定が行われると、メインシステム100(CPU101)のアドレス空間に、サブシステム200のAXIバスに接続されている各ハードウェアデバイスが割り当てられることになる。その結果、上述の通り、メインシステム100側のCPU101は、自身が持つメモリアドレス空間へのアクセス命令を発行することによって、サブシステム200のAXIバスに接続されている該当するハードウェアデバイスにアクセスできる。本実施形態では、この仕組みを用いて、サブシステム200の不揮発性メモリ213に格納されているCPU211のブートプログラムを、更新データで更新する。なお、この更新データは、LAN8やUSBインタフェース105を経由して、外部から取得される。
またサブシステム200は、CPU201を有する。このCPU201は、揮発性メモリ202に書き込まれたCPU201用のブートプログラムを実行するプロセッサである。このCPU201用のブートプログラムは、CPU101からの指示によってメインシステム100から揮発性メモリ202に書き込まれている。ブートプログラムを実行することにより、CPU201は、画像処理ASIC(画像処理デバイス)203およびエンジンコントローラ223を介してプリンタ装置4、スキャナ装置2、FAX装置7を制御できる。
例えば、ユーザが操作部5から画像複写を指示すると、CPU101がCPU201に画像複写に関わる制御を行わせる。具体的には、CPU101は、CPU201を介してスキャナ装置2に画像読み取り命令を送る。するとスキャナ装置2は、紙原稿を光学スキャンしデジタル画像データに変換してエンジンコントローラ223を介して画像処理ASIC203に入力する。画像処理ASIC203は、CPU201を介して揮発性メモリ202にDMA転送を行いデジタル画像データの一時保存を行なう。次に、CPU101は、デジタル画像データが揮発性メモリ202に一定量もしくは全て入ったことを確認すると、CPU201を介してプリンタ装置4に画像出力指示を出す。このときCPU201は、画像処理ASIC203に不揮発性メモリ202の画像データの格納場所(格納アドレス)を教える。するとエンジンコントローラ223は、プリンタ装置4からの同期信号に従ってメモリ202上の画像データをプリンタ装置4に送信する。その結果、プリンタ装置4は、デジタル画像データを印刷する。
なお、本図はブロック図であり簡略化している。例えばCPU101、CPU201等にはチップセット、バスブリッジ、クロックジェネレータ等のCPU周辺ハードウェアが多数含まれているが、説明の粒度的に不必要であるため簡略化記載しており、このブロック構成が本発明を制限するものではない。
次に図3を用いて、コントローラ3の起動シーケンスについて説明する。起動シーケンスは大きく分けてメインシステム100の起動とサブシステム200の起動に分けて考えることができる。以下では画像形成装置の電源スイッチがユーザによってオンされると、パワーオンリセット回路が内部リセット信号をアサートすることでCPU101およびCPU211をリセットする。そして画像形成装置の電源電圧が基準電圧まで立ち上がったことを検知したパワーオンリセット回路は内部リセット信号をデアサート(ネゲート)することでCPU101およびCPU211のリセットを解除する。
<メインシステム100の起動>
リセットが解除されたCPU101は、ステップS311においてメインシステム100を起動する。具体的には、CPU101は、ブートROM104のブートプログラムを実行し、そのブートプログラムにしたがってCPU101は、不揮発性メモリ103に記憶されているブートローダーを揮発性メモリ102に読み込んで実行する。そしてCPU101はブートローダーにしたがって、OSを不揮発性メモリ103から揮発性メモリ102に読み込んで実行する。この過程の中で、CPU101は、PCIEコントローラ301、USBインタフェース105、ネットワークコントローラ106、操作部インタフェース107等の各デバイスの初期化を行う。これによってCPU101は、各デバイスにアクセス可能になる。例えば、CPU101は、PCIEコントローラ301先のPCIEバスを参照してアクセスできるようになる。その後、CPU101は、OSによって不揮発性メモリ103から揮発性メモリ102に読み込まれたジョブ処理アプリケーションを実行する。このようにしてメインシステム100が起動する。
<サブシステム200の起動>
メインシステム100の起動処理(S311)と並行して、リセットが解除されたCPU211は、次のステップS321~S324を行う。
ステップS321においてCPU211は、不揮発性メモリ213の0番地から格納されているプログラムを実行する。そしてCPU211は、該プログラムで指定されているアドレスに格納されている動作プログラム(ファームウェアプログラムとも呼ぶ)を不揮発性メモリ213から揮発性メモリ212に読み出す(ロードする)。この動作プログラムは以下のステップS322~S324の処理を引き起こす。
ステップS322においてCPU211は、変換器302に対して、PCIEバスアクセスをサブシステム側のバスアクセスへ変換するアドレス変換ルールを設定する。これで、メインシステム100のCPU101は、サブシステム200のAXIバスに接続されたデバイス(例えば揮発性メモリ202や不揮発性メモリ213)を、自分(CPU101)のメモリ空間上にマッピングされているかのように参照できる。CPU101が、PCIEコントローラ301と変換器302によって、サブシステム200のアドレス空間を参照する方法について、図8を用いて説明する。
図8は、CPU101が参照可能なアドレス空間を示している。CPU101は、このアドレス空間のアドレスを指定することで、そのアドレスに対応するデバイスにアクセスすることができる。
CPU101が参照できるアドレス空間(メインシステムメモリ空間510)は、メインシステム物理メモリ空間511、PCIE空間512、メインシステムほかハードウェア空間513を含む。
揮発性メモリ102は、メインシステム物理メモリ空間511にマッピングされており、CPU101はこのアドレスにアクセスすることで、揮発性メモリ102にアクセスできる。本例では揮発性メモリ102は、アドレス(0x0000_0000~0xCFFF_FFFF)に配置される。
PCIEコントローラ301を介したPCIEバス上のデバイスは、PCIE空間512にマッピングされており、CPU101はこのアドレスにアクセスすることで、PCIEバス上のデバイスにアクセスできる。本例ではPCIEバス上のデバイスは、アドレス(0xD000_0000~0xEFFF_FFFF)に配置される。このアドレスへのアクセスは、PCIEコントローラ301へのアクセスである。CPU101からアクセスを受けたPCIEコントローラ301は、PCIE準拠したプロトコルを用いて、CPU101がアクセスしようとしているアドレスに対応するデバイス(すなわちPCIEバスに接続されたハードウェア)と通信を行う。
ここでPCIEバスに接続されているのは変換器302なので、変換器302は、CPU101からのアクセス対象のアドレスを、AXIバス上のアドレスに変換する。すなわち変換器302は、PCIE空間に対するアクセスを、AXIバス上のサブシステムメモリ空間520に対するアクセスに変換する。そして変換器302は、バスマスタとしてAXIバス上のそのアドレスにアクセスすることで、CPU101からのAXIバス上のデバイスへのアクセスが実現される。
本例では、CPU101はPCIE空間512(0xD000_0000~0xDFFF_FFFF)にアクセスすると、サブシステム第一揮発性メモリ空間521(0x0000_0000~0xEFFF_FFFF)にアクセスすることになる。これによりCPU101は、サブシステム第一揮発性メモリ202にアクセスする。
またCPU101はPCIE空間512(0xE000_0000~0xE4FF_FFFF)にアクセスすると、サブシステム第二揮発性メモリ空間522(0x1000_0000~0x14FF_FFFF)にアクセスすることになる。これによりCPU101は、サブシステム第二揮発性メモリ212にアクセスする。
またCPU101はPCIE空間512(0xE500_0000~0xEFFF_FFFF)にアクセスすると、サブシステム第二不揮発性メモリ空間523(0x1500_0000~0x1FFF_FFFF)にアクセスすることになる。これによりCPU101は、サブシステム第二不揮発性メモリ213にアクセスする。
これらサブシステムメモリ空間520へのアクセスは、AXIバスのバスマスタとして振る舞う変換器302が行うので、サブシステム200内のCPU201もCPU211も用いずに行える。
またUSBインタフェース105や、ネットワークコントローラ106、操作部インタフェース107、記憶装置6へのアクセスは、メインシステムほかハードウェア空間513へのアクセスによって行われる。なおCPU101からの記憶装置6へのアクセスは、図8に図示しないが、PCIEコントローラ301および変換器302経由で行われる。またこの記憶装置6へのアクセスは、後述するようにCPU211の制御の下、行われる。
図3の説明に戻る。ステップS323においてCPU211は、記憶装置6の制御を開始する。この制御により、CPU101からのPCIEバス経由のデータ書き込み指示またはデータ読み出し指示をCPU211が受け付けると、CPU211は、記憶装置6に対してデータ書き込み制御またはデータ読み出し制御を行う。また、CPU201からのデータ書き込み指示またはデータ読み出し指示をCPU211が受け付けると、CPU211は記憶装置6に対してデータ書き込み制御またはデータ読み出し制御を行う。ここでCPU211は、動作プログラムにしたがって、データ書き込み制御やデータ読み出し制御の方法を行う。この動作プログラムは、記憶装置6の種類によって異なる。つまり記憶装置6がHDDであればHDD用の動作プログラムが実行され、記憶装置6がSSDであればSSD用の動作プログラムが実行される。この動作プログラムは、記憶装置6の種類に応じたものが不揮発性メモリ213に記憶され、不揮発性メモリ213の省容量化が図られている。
ステップS324においてCPU211は、電源制御ハードウェア回路222の制御を開始する。この制御によってCPU211は、サブシステム200内の各ハードウェアに対する電力制御(およびクロック供給制御)を行う。
<メインシステム100からサブシステム200へのサブシステム用ブートプログラムの転送>
ステップS314においてCPU101は、不揮発性メモリ103から、サブシステム用ブートプログラムを、不揮発性メモリ103から、PCIEコントローラ301および変換器302を経由して、揮発性メモリ202に転送する。このサブシステム用ブートプログラムは、CPU201のブートプログラムであり、サブシステム200のシステムブートイメージに相当する。
その後、ステップS315においてCPU101は、CPU201のリセットを解除する。
すると、ステップS331において、リセットが解除されたCPU201は、揮発性メモリ202に記憶されたブートプログラムを実行することで、サブシステム200の起動を行う。これにより、メインシステム100とサブシステム200とが互いに通信して協調しながらジョブを処理できるようになる。
<メインシステム100およびサブシステム200の起動後の制御>
CPU101、CPU201、CPU221は互いに通信しながらジョブを処理する(S340)。すなわち、ジョブが発生した場合に、CPU101はCPU201と通信しながら、画像処理ASIC203およびエンジンコントローラ223とその先のプリンタ装置4、スキャナ装置2、FAX装置7を制御して、プリント、スキャン、FAX受送信を行う。
例えばネットワークコントローラ106を介してCPU101が印刷データを受信すると、CPU101はプリントジョブを生成する。そしてCPU101は、印刷データをサブシステム200に送信する。CPU201は、画像処理ASIC203に受信した印刷データを処理させる。画像処理ASIC203によって処理された画像データは、揮発性メモリ202に記憶される。この処理の際に、CPU201は、画像処理ASIC203へ電力を供給するように電源制御ハードウェア回路222を制御する。また、CPU201は、画像処理ASIC203が行った画像データを揮発性メモリ202から記憶装置6に記憶させるよう、CPU211に指示する。するとCPU211は、揮発性メモリ202に記憶された画像データを記憶装置6に記憶するよう、記憶装置6を制御する。さらに、CPU201は、エンジンコントローラ223を介してプリンタ装置4が印刷の準備ができたことを検知すると、CPU211に対して記憶装置6から画像データを読み出すことを指示する。そしてCPU211は、記憶装置6を制御して画像データを読出し、CPU201に送信する。そしてCPU201は、エンジンコントローラ223を介してプリンタ装置4に受け取った画像データを印刷させる。
本実施形態では上述のように、メインシステム100のCPU101が、サブシステム200のCPU201のブートプログラムを、サブシステム200の揮発性メモリ202にPCIEバスを経由して送信する。そのためサブシステム200のCPU201のブートプログラムを更新する場合には次の処理を行えばよい。すなわち、メインシステム100のCPU101がブートプログラムの更新データをLAN8やUSBメモリ10から取得し、その更新データで不揮発性メモリ103内のCPU201用のブートプログラムを更新すればよい。
しかしCPU211が実行する動作プログラム(ファームウェアプログラム)は不揮発性メモリ213に記憶されているため、LAN8やUSBメモリ10から取得して不揮発性メモリ103に記憶するだけでは十分でない。不揮発性メモリ103に記憶したファームウェアの更新データを、不揮発性メモリ213にPCIEバスおよび変換器302を経由して記憶する必要がある。
CPU211のファームウェアは、上述の通り、変換器302の初期設定、記憶装置6の制御、電力制御を行う動作プログラムを含む。そのため、記憶装置6の種類がHDDからSSDに換装されたことによる制御プログラムの変更や、電力制御の仕様の変更(例えば起動時の電源投入順の変更)に従って、これらの動作プログラムを更新する必要がある。
ここでCPU211のファームウェアプログラムの更新方法の比較例を、図4を用いて説明する。CPU211のファームウェアを更新する場合、CPU211は、USBインタフェース105やネットワークコントローラ106を制御して画像形成装置の外部(外部装置)からファームウェアの更新データを取得する。そしてCPU211は、その更新データをCPU211のワークメモリである揮発性メモリ212に格納する。そしてCPU211は、揮発性メモリ212に格納された更新データを使って、不揮発性メモリ213に格納されているファームウェアを更新する。
このように上記比較例において、CPU211は、外部から更新データを取得するべくインタフェースを制御するための処理能力や、不揮発性メモリ213に格納されているファームウェアを高速に更新するための処理能力が必要となる。また、揮発性メモリ212は、CPU211用の更新前のファームウェアが展開されるメモリ領域に加えて、更新データを格納するのに十分なメモリ容量が必要となる。
しかしながら、CPU211の処理能力や、揮発性メモリ212の利用可能容量によっては、上記比較例のような更新方法を採用すると更新の効率が悪くなることがある。
そこで、本実施形態ではCPU101が、外部からCPU211のファームウェアの更新データを取得し、そしてその更新データをCPU211および揮発性メモリ212を経由せずに、不揮発性メモリ213に格納されているファームウェアを更新する。本実施形態によるファームウェア更新方法について図5を用いて説明する。
図5は、CPU101によって実行される処理フローである。この処理フローは、CPU211のファームウェア更新処理フローであり、この処理フローを実行するためのプログラム(CPU211のファームウェア更新プログラム)は、不揮発性メモリ103に予め格納されている。CPU101は、画像形成装置1のオペレータが操作部5に対してCPU211のファームウェア更新プログラムの実行指示をしたことを検知すると、このファームウェア更新プログラムを不揮発性メモリ103から揮発性メモリ102に読み出して実行する。なお、この更新処理フローが実行される前に、CPU101は図3のS311の処理を実行し、かつ、CPU211は更新前のファームウェアプログラムにしたがって図3のS322の処理を行っている。そのため、CPU101は、CPU211および揮発性メモリ212を経由せず、不揮発性メモリ213にアクセスできるようになっている。なお以下説明するファームウェアの更新データは、次を含む。記憶装置6のデータ読み出し制御およびデータ書き込み制御をCPU211に実行させるプログラムの更新データ。変換器302の初期設定をCPU211に実行させるプログラムの更新データ。電力制御をCPU211に実行させるプログラムの更新データ。
S501において、CPU101は、USBインタフェース105を制御してUSBメモリ10からCPU211のファームウェアの更新データを取得し、その更新データを不揮発性メモリ103に一旦格納する。これにより、ファームウェア更新中に画像形成装置1の電源が不意の停電により落ちたとしても、不揮発性メモリ103に格納されたままの更新データを使って再度、ファームウェアの更新を開始できる。なおこのS501では、USBインタフェース105ではなく、ネットワークコントローラ106を制御してLAN8経由で外部装置から更新データを取得してもよい。
S502において、CPU101は、不揮発性メモリ103に格納された更新データを、PCIEコントローラ301および変換器302経由で、サブシステム200内の不揮発性メモリ213に書き込む。
具体的には、CPU101は、PCIE空間512に配置された不揮発性メモリ213の特定アドレスに対して更新データを書き込む指示を発行する。すると、PCIEコントローラ301はその更新データをPCIEバスを介して変換器302に転送し、変換器302は、その指示にしたがってAXIバス上の不揮発性メモリ213の特定アドレスに更新データを上書きする。このとき変換器302は、PCIEコントローラ301から通知されたバスアクセスを、S322で設定された対応関係にしたがって、AXIバス上のバスアクセスに変換している。
前述した通り、更新データは、CPU211および揮発性メモリ212を用いずに、不揮発性メモリ213に書き込まれる。
S503において、CPU101は、更新内容を反映するため、画像形成装置1(メインシステム100およびサブシステム200)の再起動(リブート)を行う。
以上が、本実施形態におけるCPU211のファームウェアの更新処理である。すなわち、CPU211は、更新データを取得するCPU101が、不揮発性メモリ213にCPU211および揮発性メモリ212を用いずにアクセスできるように、変換器302の設定を行う。言い換えると、CPU211は、CPU101からの更新データの書き込み指示を受け付けた変換器302がAXIバスを経由して不揮発性メモリ213に更新データを直接書き込めるような設定を、変換器302に対して行う。その後でCPU101が、更新データをAXIバス上の不揮発性メモリ213に書き込む指示を行うと、変換器302は、PCIEコントローラ301を経由してその指示を受け取って、その指示に従って更新データを不揮発性メモリ213に書き込む。このように、更新データの書き込みを、CPU211も揮発性メモリ212も使わずに実行できる。
また、上記実施形態では、変換器302は、サブシステム200内に含まれるような説明を行ったが、変換器302はメインシステム100とサブシステム200との間に配置されていてもよい。主要なのは、変換器302の設定を行うCPU211が実行する動作プログラムを格納する不揮発性メモリ213に対して、CPU211および揮発性メモリ212を経由せずに更新データを書き込むことである。
(実施形態2)
上記実施形態1では、CPU101は、不揮発性メモリ213に更新データを書き込むことができる。ここで更新データには、図3のS322の設定処理を行うための動作プログラムも含まれる。そのため、この動作プログラムの更新中の停電や、ネットワーク経由のサイバー攻撃などの不測の事態が生じると、不揮発性メモリ213中のこの動作プログラムが壊れることがある。これらの結果、画像形成装置1の起動処理(図3)で、CPU211は、S322において変換器302に対して正しい設定を行えず、メインシステム100とサブシステム200との間の通信が全くできなくなってしまう。このような事態に陥ると、画像形成装置1の電源を入れなおしたとしても、やはりS322で正しい設定が行われないため、不都合は解消されない。
そこで、本実施形態では、不揮発性メモリ213の更新対象からS322に関わる動作プログラムを除外する。さらにメインシステム100(CPU101)からS322の動作プログラムを格納する不揮発性メモリ213のメモリブロック(記憶領域)を参照しないようにする。本実施形態において説明されない部分については実施形態1と同様の構成である。
本実施形態では、不揮発性メモリ213を2つのメモリブロックに分けて管理する。すなわち、不揮発性メモリ213の一部のメモリブロックを、S322の設定処理を実行するための動作プログラムを格納する部分とし、別のメモリブロックを、S323およびS324の制御処理を実行するための動作プログラムを格納する部分として管理する。前者のメモリブロックは不揮発性メモリ第1ブロック213-1として管理され、後者のメモリブロックは不揮発性メモリ第2ブロック213-2として管理される。
図3に示される起動処理で、CPU101は、S311におけるPCIEコントローラの初期化処理(初期設定)において次の設定を行う(図6の601)。すなわち、CPU101から不揮発性メモリ第1ブロック213-1を参照できないように設定するが、不揮発性メモリ第2ブロック213-2を参照できるように設定する。これは図8で説明したPCIE空間512において、不揮発性メモリ第1ブロック213-1だけを利用できないようにPCIE空間512を設定することで実現できる。
このようなPCIEコントローラ301の設定をS311において行うことで、CPU101から不揮発性メモリ第1ブロック213-1への書き込みが不可能となり(図6の603)、S322で用いられる動作プログラムが壊れる可能性を防ぐことができる。その一方、CPU211はS322で実施形態1と同様に変換器302の設定を行うことで(図6の602)、CPU101から不揮発性メモリ第2ブロック213-2への更新データの書き込みが可能となる。その結果、S323およびS324で用いられる動作プログラムをCPU101がCPU211および揮発性メモリ212を用いずに更新できる(図6の604)。また、本実施形態においてS322でCPU211が変換器302に対して、変換器302が不揮発性メモリ第1ブロック213-1へアクセスできないような設定を行う(図6の602)。
(実施形態3)
本実施形態は実施形態2とは異なる方法で不揮発性メモリ第1ブロック213-1へのデータ書き込みを防ぐ。なお本実施形態において説明されない部分については実施形態2と同様の構成である。
図3に示される起動処理で、CPU101は、S311におけるPCIEコントローラの初期化処理(初期設定)において次の設定を行う(図7の701)。すなわち、CPU101から不揮発性メモリ第1ブロック213-1および不揮発性メモリ第2ブロック213-2を参照できないように設定する。これは図8で説明したPCIE空間512において、不揮発性メモリ213だけを利用できないようにPCIE空間512を設定することで実現できる。
またCPU101は、S314において、CPU201が用いるブートプログラムの他に、更新データも揮発性メモリ202に転送する(図7の704)。
CPU201は、S331の実行後、AXIバスのメモリコントローラユニット207経由で、揮発性メモリ202中の更新データを不揮発性メモリ213に書き込む(図7の705)。このメモリコントローラユニット207は、不揮発性メモリ第1ブロック213-1へのデータ書き込みを行わないように構成されている(図7の706)。またこのメモリコントローラユニット207は、不揮発性メモリ第2ブロック213-2へのデータ書き込みは可能なように構成されている(図7の707)。このようにメモリコントローラ207が不揮発性メモリ213へのアクセス制御を行うので、不揮発性メモリ第1ブロック213-1へのデータ書き込みを防ぐことができる。
前記サブシステム第一CPU201の前記記憶、電源制御部へのアクセスは可能である(707)。
本実施形態においても、実施形態2同様、CPU101は、S311におけるPCIEコントローラの初期化処理(初期設定)において次の設定を行ってよい(図7の701、703)。すなわち、CPU101から不揮発性メモリ第1ブロック213-1を参照できないように設定するが、不揮発性メモリ第2ブロック213-2を参照できるように設定する。これは図8で説明したPCIE空間512において、不揮発性メモリ第1ブロック213-1だけを利用できないようにPCIE空間512を設定することで実現できる。また本実施形態においても、S322でCPU211が変換器302に対して、変換器302が不揮発性メモリ第1ブロック213-1へアクセスできないような設定を行ってよい(図7の702)。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (11)

  1. 外部装置と通信する第1のシステムと、
    前記第1のシステムと接続し、少なくとも印刷デバイスを制御する第2のシステムと、を有する画像形成装置において、
    前記第1のシステムは、第1のCPUと、データを前記第1のシステムから前記第2のシステムに転送する転送デバイスを有し、
    前記第2のシステムは、第2のCPUと、揮発性メモリと、前記第1のCPUによって当該データの書き込み先として指定されたアドレスに受け取ったデータを書き込む書き込みデバイスと、前記第2のCPUが実行するファームウェアを記憶する不揮発性メモリと、を有し、
    前記第2のCPUは、前記書き込みデバイスが前記転送デバイスから受け取ったデータを、前記書き込みデバイスから前記不揮発性メモリに記憶させることを可能にする設定を前記書き込みデバイスに対して設定し、
    前記第2のCPUによって前記設定が行われた状態において、前記第2のシステムが前記転送デバイスから画像データを受け付けると、前記第2のCPUは、前記揮発性メモリに前記画像データを記憶させ、
    前記第2のCPUによって前記設定が行われた状態において、前記第2のシステムが前記転送デバイスから前記第2のCPUが実行するファームウェアの更新データ受け付けると、前記書き込みデバイスは、前記第2のCPUと前記揮発性メモリを用いずに、前記受け付けた更新データを前記不揮発性メモリに記憶させることを特徴とする画像形成装置。
  2. 前記書き込みデバイスは、前記第2のCPUによって設定された前記設定にしたがって、前記転送デバイスから受け付けた前記ファームウェアの更新データを、前記第2のCPUが実行するファームウェアを記憶する前記不揮発性メモリに書き込むことを特徴とする請求項1に記載の画像形成装置。
  3. 前記転送デバイスは、データ、および、当該データが書き込まれるアドレスとして前記第1のCPUによって指定されたアドレスを、前記第1のシステムから前記第2のシステムに転送し、
    前記第2のCPUは、前記書き込みデバイスに対して、前記転送デバイスから転送された前記第1のCPUによって指定された前記アドレスを、前記第2のシステムにおけるアドレスに変換し、かつ、前記転送デバイスから転送された前記データを、当該変換により得られる前記第2のシステムにおけるアドレスに該当するデバイスに記憶させる設定を設定することを特徴とする請求項1または2に記載の画像形成装置。
  4. 前記第2のシステムは、前記第2のCPU、前記揮発性メモリ、前記不揮発性メモリ、前記書き込みデバイスのそれぞれと接続しているバスを有し、
    前記第2のシステムにおけるアドレスとは、前記第2のシステムが有する前記バスにおけるアドレスであることを特徴とする請求項3に記載の画像形成装置。
  5. データを記憶する不揮発性の記憶デバイスを有し、
    前記不揮発性メモリに記憶されている前記ファームウェアは、前記設定を前記第2のCPUに実行させるプログラムと、前記記憶デバイスに対してデータの書き込み制御を前記第2のCPUに実行させるプログラムとを含み、
    前記ファームウェアの更新データは、前記記憶デバイスに対してデータの書き込み制御を前記第2のCPUに実行させるプログラムの更新データを含むことを特徴とする請求項1乃至4の何れか1項に記載の画像形成装置。
  6. 前記不揮発性メモリは、前記設定を前記第2のCPUに実行させるプログラムを記憶している第1の記憶領域と、前記記憶デバイスに対するデータの書き込み制御を前記第2のCPUに実行させるプログラムを記憶している第2の記憶領域と、を含み、
    前記設定を前記第2のCPUに実行させるプログラムは、前記第1の記憶領域を前記書き込みデバイスによるデータの書き込み対象にしないようにすることを特徴とする請求項5に記載の画像形成装置。
  7. 前記記憶デバイスは、ハードディスクドライブおよびソリッドステートドライブを含む複数の記憶デバイスの何れかであることを特徴とする請求項5または6に記載の画像形成装置。
  8. 前記第2のシステムは、前記印刷デバイスによって印刷される画像に対して画像処理を行う画像処理デバイスを含むことを請求項1乃至7の何れか1項に記載の画像形成装置。
  9. 前記第2のシステムは、前記画像処理デバイスを制御する第3のCPUを有し、
    前記第1のシステムは、前記第3のCPUのブートプログラムを記憶する不揮発性メモリを有し、
    前記第2のCPUは、前記設定において、前記転送デバイスから受け取ったデータを前記第2のシステムの前記揮発性メモリに書き込むことができるような設定も行い、
    前記設定が前記第2のCPUによって行われた前記書き込みデバイスは、前記転送デバイスから受け取った前記第3のCPUの前記ブートプログラムを、前記第3のCPUが実行できるように前記揮発性メモリに書き込むことを特徴とする請求項8に記載の画像形成装置。
  10. 前記第1のCPUは、前記転送デバイスに対して、前記第2のシステムを参照するための設定を行うことを特徴とする請求項1乃至8の何れか1項に記載の画像形成装置。
  11. 前記第1のシステムは、前記第2のCPUが実行するファームウェアの前記更新データを前記画像形成装置の外部から取得する手段をさらに有することを特徴とする請求項1乃至10の何れか1項に記載の画像形成装置。
JP2018143943A 2018-07-31 2018-07-31 ファームウェアを更新する画像形成装置 Active JP7267692B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018143943A JP7267692B2 (ja) 2018-07-31 2018-07-31 ファームウェアを更新する画像形成装置
US16/513,563 US10747483B2 (en) 2018-07-31 2019-07-16 Image forming apparatus that updates firmware
CN201910700770.XA CN110784614B (zh) 2018-07-31 2019-07-31 用于更新固件的图像形成设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018143943A JP7267692B2 (ja) 2018-07-31 2018-07-31 ファームウェアを更新する画像形成装置

Publications (2)

Publication Number Publication Date
JP2020021246A JP2020021246A (ja) 2020-02-06
JP7267692B2 true JP7267692B2 (ja) 2023-05-02

Family

ID=69228621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018143943A Active JP7267692B2 (ja) 2018-07-31 2018-07-31 ファームウェアを更新する画像形成装置

Country Status (3)

Country Link
US (1) US10747483B2 (ja)
JP (1) JP7267692B2 (ja)
CN (1) CN110784614B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113360161A (zh) * 2020-03-06 2021-09-07 Oppo广东移动通信有限公司 资源升级方法及相关产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001101004A (ja) 1999-09-30 2001-04-13 Ricoh Co Ltd 電子装置
JP2002297561A (ja) 2001-03-30 2002-10-11 Hitachi Ltd マイクロコンピュータ
JP2016157345A (ja) 2015-02-25 2016-09-01 キヤノン株式会社 画像形成装置、制御方法、及びプログラム
JP2018106547A (ja) 2016-12-27 2018-07-05 キヤノン株式会社 情報処理装置、及び情報処理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1376344A3 (en) * 2002-06-17 2005-08-24 Seiko Epson Corporation Apparatus and method of rewriting firmware
CN100559507C (zh) * 2004-01-29 2009-11-11 群联电子股份有限公司 具防写功能的微型存储装置
JP2007058499A (ja) * 2005-08-24 2007-03-08 Matsushita Electric Ind Co Ltd 情報処理装置およびデータ書き込み方法
JP4857201B2 (ja) 2007-06-20 2012-01-18 キヤノン株式会社 情報処理装置
JP5494208B2 (ja) * 2010-05-12 2014-05-14 富士ゼロックス株式会社 画像形成装置及びその制御プログラム
JP5901242B2 (ja) * 2011-11-18 2016-04-06 キヤノン株式会社 画像形成装置、制御方法、及びプログラム
JP5939896B2 (ja) * 2012-06-12 2016-06-22 キヤノン株式会社 画像形成装置
JP6103909B2 (ja) * 2012-12-07 2017-03-29 キヤノン株式会社 画像処理装置、画像処理装置の制御方法及びプログラム
KR102261815B1 (ko) * 2014-10-30 2021-06-07 삼성전자주식회사 펌웨어 업데이트 시간을 줄일 수 있는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템
JP6433966B2 (ja) * 2016-12-01 2018-12-05 Necパーソナルコンピュータ株式会社 情報処理装置、情報処理方法、およびプログラム
JP2018156263A (ja) * 2017-03-16 2018-10-04 東芝メモリ株式会社 メモリシステム、メモリコントローラおよびメモリシステムの制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001101004A (ja) 1999-09-30 2001-04-13 Ricoh Co Ltd 電子装置
JP2002297561A (ja) 2001-03-30 2002-10-11 Hitachi Ltd マイクロコンピュータ
JP2016157345A (ja) 2015-02-25 2016-09-01 キヤノン株式会社 画像形成装置、制御方法、及びプログラム
JP2018106547A (ja) 2016-12-27 2018-07-05 キヤノン株式会社 情報処理装置、及び情報処理方法

Also Published As

Publication number Publication date
CN110784614A (zh) 2020-02-11
JP2020021246A (ja) 2020-02-06
CN110784614B (zh) 2021-11-12
US10747483B2 (en) 2020-08-18
US20200042257A1 (en) 2020-02-06

Similar Documents

Publication Publication Date Title
US8176344B2 (en) Information processing apparatus and control method thereof
JP6164938B2 (ja) 画像形成装置及びその制御方法、並びにプログラム
JP5959958B2 (ja) 記憶装置及び記憶装置におけるデータ消去方法
JP6875808B2 (ja) 情報処理装置
US20130007367A1 (en) Information processing apparatus and method of controlling same
JP5943681B2 (ja) 情報処理装置、情報処理装置のファームウエア更新方法及びプログラム
JP7267692B2 (ja) ファームウェアを更新する画像形成装置
JP2014032583A (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
US8526039B2 (en) Image processing apparatus, and control method thereof and program
JP2009211537A (ja) 画像処理装置及びアクセス制御方法
JP2017156924A (ja) 情報処理装置、データ転送装置、データ転送装置の制御方法、及びプログラム
JP5011780B2 (ja) 情報処理装置、及びその起動方法
US20130191623A1 (en) Information processing apparatus, control method therefor, and storage medium
JP2018063676A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2005094301A (ja) 画像形成装置
JP2018078485A (ja) 情報処理装置および情報処理装置の起動方法
JP2013117910A (ja) 情報処理装置、その制御方法、およびプログラム
JP7263067B2 (ja) 情報処理装置および情報処理装置の制御方法
JP2022122677A (ja) 情報処理装置および情報処理装置の制御方法
JP5397085B2 (ja) 印刷システムおよび印刷装置
JP6464657B2 (ja) 画像処理装置、プログラム更新方法、およびコンピュータプログラム
JP2014002613A (ja) 情報処理装置、その制御方法及びコンピュータプログラム
JP2008012853A (ja) 印字装置
JP2019212026A (ja) 情報処理装置及びその制御方法、並びにプログラム
JP2001285600A (ja) 画像処理装置と該画像処理装置の制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210726

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221125

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230420

R151 Written notification of patent or utility model registration

Ref document number: 7267692

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151