JP7058984B2 - ファームウェア組み込み装置、制御方法、プログラム - Google Patents

ファームウェア組み込み装置、制御方法、プログラム Download PDF

Info

Publication number
JP7058984B2
JP7058984B2 JP2017222817A JP2017222817A JP7058984B2 JP 7058984 B2 JP7058984 B2 JP 7058984B2 JP 2017222817 A JP2017222817 A JP 2017222817A JP 2017222817 A JP2017222817 A JP 2017222817A JP 7058984 B2 JP7058984 B2 JP 7058984B2
Authority
JP
Japan
Prior art keywords
data
firmware
volatile memory
update
unrecoverable
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
JP2017222817A
Other languages
English (en)
Other versions
JP2019095905A (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 JP2017222817A priority Critical patent/JP7058984B2/ja
Priority to US16/181,525 priority patent/US10649762B2/en
Priority to CN201811380284.6A priority patent/CN109814813B/zh
Publication of JP2019095905A publication Critical patent/JP2019095905A/ja
Application granted granted Critical
Publication of JP7058984B2 publication Critical patent/JP7058984B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • 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
    • 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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Description

本発明は、ファームウェアデータのセキュアな更新のための技術に関する。
ファームウェア組み込み装置に搭載される不揮発性メモリにはコード実行可能なファームウェアデータが保存されており、不具合修正や機能追加といった要因でファームウェアデータを更新することがある。このようなファームウェアデータの更新では、更新の実行中に停電等のシャットダウンが発生してしまうと、書き込み時のデータ整合が保たれないまま更新処理が中断される。従って、ファームウェアの更新時間を短縮する技術が求められている。
特許文献1には、書き込みたいデータを分割し、複数の不揮発性メモリに対する書き込みを多重化することで、データの書き込み時間を短縮することが開示されている。
特開2002-189631号公報
ところで、ファームウェアデータには、整合が保たれていないと復旧できないデータ(復旧不能データ)と、整合が保たれていなくても再度ファームウェアデータの更新を実行することで復旧できるデータ(復旧可能データ)とが含まれることがある。
しかしながら、特許文献1では、復旧不能データと復旧可能データの概念が考慮されていない。そのため、書き込みの多重化によりファームウェアデータの更新時間の総計は短縮されるものの、特に短縮したい復旧不能データを用いるファームウェアデータの更新にかかる時間は変わらない虞がある。
そこで本発明は、上記の課題に鑑み、複数の不揮発性メモリを有する装置において、復旧不能データを用いるファームウェアデータの更新にかかる時間を短縮することを目的とする。
本発明は、複数の不揮発性メモリを有するファームウェア組み込み装置であって、前記複数の不揮発性メモリの夫々に保存されているファームウェアデータを更新するためのファームウェア更新用データを取得する取得手段と、前記取得したファームウェア更新用データに含まれるファームウェア更新モードに入るために必要な復旧不能データによる、第1の不揮発性メモリに保存されている前記ファームウェアデータの更新と、該復旧不能データによる、第2の不揮発性メモリに保存されている前記ファームウェアデータの更新とを、並行して実行するよう制御する制御手段とを有することを特徴とするファームウェア組み込み装置である。
本発明によれば、複数の不揮発性メモリを有する装置において、復旧不能データを用いるファームウェアデータの更新にかかる時間を短縮することができる。
本発明の実施形態における記録装置が待機状態にあるときの図である。 本発明の実施形態における記録装置の制御構成図である。 実施例1におけるプリントエンジンユニットの詳細な構成図である。 実施例1における通常モードとファームウェア更新モードとにおける動作の説明図である。 ファームウェア更新用データの構造の説明図である。 実施例1におけるファームウェアデータの更新処理のフローチャートである。 実施例2におけるファームウェアデータの更新処理のフローチャートである。
図1は、本実施形態で使用するインクジェット記録装置1(以下、記録装置1)の内部構成図である。図において、x方向は水平方向、y方向(紙面垂直方向)は後述する記録ヘッド8において吐出口が配列する方向、z方向は鉛直方向をそれぞれ示す。
記録装置1は、プリント部2とスキャナ部3を備える複合機であり、記録動作と読取動作に関する様々な処理を、プリント部2とスキャナ部3で個別にあるいは連動して実行することができる。スキャナ部3は、ADF(オートドキュメントフィーダ)とFBS(フラットベッドスキャナ)を備えており、ADFで自動給紙される原稿の読み取りと、ユーザによってFBSの原稿台に置かれた原稿の読み取り(スキャン)を行うことができる。なお、本実施形態はプリント部2とスキャナ部3を併せ持った複合機であるが、スキャナ部3を備えない形態であってもよい。図1は、記録装置1が記録動作も読取動作も行っていない待機状態にあるときを示す。
プリント部2において、筐体4の鉛直方向下方の底部には、記録媒体(カットシート)Sを収容するための第1カセット5Aと第2カセット5Bが着脱可能に設置されている。第1カセット5AにはA4サイズまでの比較的小さな記録媒体が、第2カセット5BにはA3サイズまでの比較的大きな記録媒体が、平積みに収容されている。第1カセット5A近傍には、収容されている記録媒体を1枚ずつ分離して給送するための第1給送ユニット6Aが設けられている。同様に、第2カセット5B近傍には、第2給送ユニット6Bが設けられている。記録動作が行われる際にはいずれか一方のカセットから選択的に記録媒体Sが給送される。
搬送ローラ7、排出ローラ12、ピンチローラ7a、拍車7b、ガイド18、インナーガイド19、およびフラッパ11は、記録媒体Sを所定の方向に導くための搬送機構である。搬送ローラ7は、記録ヘッド8の上流側に配され、不図示の搬送モータによって駆動される駆動ローラである。ピンチローラ7aは、搬送ローラ7と共に記録媒体Sをニップして回転する従動ローラである。排出ローラ12は、記録ヘッド8の下流側に配され、不図示の搬送モータによって駆動される駆動ローラである。拍車7bは、排出ローラ12と共に記録媒体Sを挟持して搬送する。
ガイド18は、記録媒体Sの搬送経路に設けられ、記録媒体Sを所定の方向に案内する。インナーガイド19は、y方向に延在する部材で湾曲した側面を有し、当該側面に沿って記録媒体Sを案内する。フラッパ11は、両面記録動作の際に、記録媒体Sが搬送される方向を切り替えるための部材である。排出トレイ13は、記録動作が完了し排出ローラ12によって排出された記録媒体Sを積載保持するためのトレイである。
本実施形態の記録ヘッド8は、フルラインタイプのカラーインクジェット記録ヘッドであり、記録データに従ってインクを吐出する吐出口が、図1におけるy方向に沿って記録媒体Sの幅に相当する分だけ複数配列されている。記録ヘッド8が待機位置にあるとき、記録ヘッド8の吐出口面8aは、図1のようにキャップユニット10によってキャップされている。記録動作を行う際は、後述するプリントコントローラ202によって、吐出口面8aがプラテン9と対向するように記録ヘッド8の向きが変更される。プラテン9は、y方向に延在する平板によって構成され、記録ヘッド8によって記録動作が行われる記録媒体Sを背面から支持する。
図2は、記録装置1における制御構成を示すブロック図である。制御構成は、主にプリント部2を統括するプリントエンジンユニット200と、スキャナ部3を統括するスキャナエンジンユニット300と、記録装置1全体を統括するコントローラユニット100によって構成されている。プリントコントローラ202は、コントローラユニット100のメインコントローラ101の指示に従ってプリントエンジンユニット200の各種機構を制御する。スキャナエンジンユニット300の各種機構は、コントローラユニット100のメインコントローラ101によって制御される。以下に制御構成の詳細について説明する。
コントローラユニット100において、CPUにより構成されるメインコントローラ101は、ROM107に記憶されているプログラムや各種パラメータに従って、RAM106をワークエリアとしながら記録装置1全体を制御する。例えば、ホストIF102またはワイヤレスIF103を介してホスト装置400から印刷ジョブが入力されると、メインコントローラ101の指示に従って、画像処理部108が受信した画像データに対して所定の画像処理を施す。そして、メインコントローラ101はプリントエンジンIF105を介して、画像処理を施した画像データをプリントエンジンユニット200へ送信する。尚、本明細書において、IFとはインターフェースの略記である。
記録装置1は無線通信や有線通信を介してホスト装置400から画像データを取得しても良いし、記録装置1に接続された外部記憶装置(USBメモリ等)から画像データを取得しても良い。無線通信や有線通信に利用される通信方式は限定されない。例えば、無線通信に利用される通信方式として、Wi-Fi(Wireless Fidelity)(登録商標)やBluetooth(登録商標)が適用可能である。また、有線通信に利用される通信方式としては、USB(Universal Serial Bus)等が適用可能である。また、例えばホスト装置400から読取コマンドが入力されると、メインコントローラ101は、スキャナエンジンIF109を介してこのコマンドをスキャナエンジンユニット300に送信する。
操作パネル104は、ユーザが記録装置1に対して入出力を行うための機構である。ユーザは、操作パネル104を介してコピーやスキャン等の動作を指示したり、印刷モードを設定したり、記録装置1の情報を認識したりすることができる。
プリントエンジンユニット200において、CPUにより構成されるプリントコントローラ202は、ROM203に記憶されているプログラムや各種パラメータに従って、RAM204をワークエリアとしながら、プリント部2が備える各種機構を制御する。コントローラIF201を介して各種コマンドや画像データが受信されると、プリントコントローラ202は、これを一旦RAM204に保存する。記録ヘッド8が記録動作に利用できるように、プリントコントローラ202は画像処理コントローラ205に、保存した画像データを記録データへ変換させる。記録データが生成されると、プリントコントローラ202は、ヘッドIF206を介して記録ヘッド8に記録データに基づく記録動作を実行させる。この際、プリントコントローラ202は、搬送制御部207を介して図1に示す給送ユニット6A、6B、搬送ローラ7、排出ローラ12、フラッパ11を駆動して、記録媒体Sを搬送する。プリントコントローラ202の指示に従って、記録媒体Sの搬送動作に連動して記録ヘッド8による記録動作が実行され、印刷処理が行われる。なお、ここでは、プリントエンジンユニット200が、コントローラIF201、CPUを含むプリントコントローラ202、ROM203、及びRAM204をそれぞれ1つ備える構成を示している。しかし、プリントエンジンユニット200は、これらの構成要素を複数備えても良い。
ヘッドキャリッジ制御部208は、記録装置1のメンテナンス状態や記録状態といった動作状態に応じて記録ヘッド8の向きや位置を変更する。インク供給制御部209は、記録ヘッド8へ供給されるインクの圧力が適切な範囲に収まるように、インク供給ユニット15を制御する。メンテナンス制御部210は、記録ヘッド8に対するメンテナンス動作を行う際に、メンテナンスユニット16におけるキャップユニット10やワイピングユニット17の動作を制御する。
スキャナエンジンユニット300においては、メインコントローラ101が、ROM107に記憶されているプログラムや各種パラメータに従って、RAM106をワークエリアとしながら、スキャナコントローラ302のハードウェアリソースを制御する。これにより、スキャナ部3が備える各種機構は制御される。例えば、コントローラIF301を介してメインコントローラ101がスキャナコントローラ302内のハードウェアリソースを制御することにより、ユーザによってADFに搭載された原稿を、搬送制御部304を介して搬送し、センサ305によって読み取る。そして、スキャナコントローラ302は読み取った画像データをRAM303に保存する。なお、プリントコントローラ202は、上述のように取得された画像データを記録データに変換することで、記録ヘッド8に、スキャナコントローラ302で読み取った画像データに基づく記録動作を実行させることが可能である。
[実施例1]
<プリントエンジンユニットについて>
以下、本実施例におけるプリントエンジンユニット200の詳細な構成について、図3を用いて説明する。図3は、本実施例におけるプリントエンジンユニット200の詳細な構成を説明するためのブロック図である。
本実施例におけるプリントエンジンユニット200は、第1のSoC(System-on-a-chip)基板280と、第2のSoC基板290とを備える。第1のSoC基板280は、コントローラエンジンIF201xと、シリアルROM(以下、SROMと略記する)203xと、RAM204xと、CPU211xとを有する。コントローラエンジンIF201xは、PCI Express(以下、PCIeと略記する)、USB、Ehernet等を備えている。SROM203xには、復旧不能データが配される復旧不能データ領域505xと、復旧可能データが配される復旧可能データ領域506xとが設けられている。尚、復旧不能データ、及び、復旧可能データの詳細に関しては、図4について説明する際に、詳しく述べる。
第2のSoC基板290も第1のSoC基板280と同様の構成を有する。つまり、第2のSoC基板290は、コントローラエンジンIF201yと、SROM203yと、RAM204yと、CPU211yとを有し、SROM203yには、復旧不能データ領域505yと、復旧可能データ領域506yとが設けられている。このようにプリントエンジンユニット200は、同様の構成を有する2つのSoC基板を備える。本実施例では、第1のSoC基板280にはメンテナンスユニット16におけるキャップユニット10やワイピングユニット17が接続され、第2のSoC基板290には搬送制御部207やヘッドIF206が接続されている。このような構成にすることで、2つのSoC基板による、メカ制御や画像処理等に関する各種処理の分散処理の実行を可能としている。
本実施例におけるホスト装置400は、記録装置1に保存中のファームウェアデータを更新するためのデータ(以下、ファームウェア更新用データとする)を、記録装置1に送信する送信元である。記録装置1が送信するファームウェア更新用データは、パッケージ化されている。以下では、ファームウェア更新用データに、第1のSoC基板280用の復旧不能データ501及び復旧可能データ502、並びに、第2のSoC基板290用の復旧不能データ503及び復旧可能データ504が含まれるケースについて説明する。尚、パッケージ化されたファームウェア更新用データ(の構造)については、後で詳しく述べる(図5参照)。また、ここでは、ホスト装置400がファームウェア更新用データを記録装置1に送信するケースを示すが、記録装置1がファームウェア更新用データを取得する形態はこれに限らない。例えば、ファームウェア更新用データが保存されたUSBやCD-ROM等の記憶媒体を用いて、記録装置1がファームウェア更新用データを取得しても良い。
ホスト装置400によって記録装置1に送信されたファームウェア更新用データは、コントローラユニット100を経由して、プリントエンジンユニット200に渡される。最終的に、ファームウェア更新用データのうち、第1のSoc基板280用の復旧不能データ501は復旧不能データ領域505xに配され、復旧可能データ502は復旧可能データ領域506xに配される。また、ファームウェア更新用データのうち、第2のSoc基板290用の復旧不能データ503は復旧不能データ領域505yに配され、復旧可能データ504は復旧可能データ領域506yに配される。
<ファームウェアデータの更新処理について>
本実施例では、ファームウェアデータの更新処理は、通常モードとファームウェア更新モードとの2つのモードを切り替えることによって行われる。通常モードは、SROM203x、SROM203yに保存されている現ファームウェアデータによって、記録装置1を制御するモードである。これに対し、ファームウェア更新モードは、ホスト装置400から送信されたファームウェア更新用データによって、SROM203x、203yに保存されているファームウェアデータの更新を行うモードである。以下、通常モードとファームウェア更新モードとについて、図4を用いて説明する。図4(a)は、通常モードで起動する際の動作の説明図であり、図4(b)は、ファームウェア更新モード時の動作の説明図である。
まず、通常モードにおける起動時の動作について、図4(a)を用いて説明する。記録装置1が通常モードで起動した場合、第1のSoC基板280のCPU211xと第2のSoC基板290のCPU211yとはそれぞれ、上位のコントローラユニット100から命令を受け取って同時に動作を開始する。なお、動作の開始タイミングは多少ずれても構わない。そして、第1のSoC基板280のCPU211xは、SROM203xに保存されているブートプログラムを実行し、第2のSoC基板290のCPU211yは、SROM203yに保存されているブートプログラムを実行する。これにより、SoC基板280及びSoC基板290を動作させるための初期化が行われる。
その後、SROM203xに保存されているローダープログラムはRAM204xに展開され、SROM203yに保存されているローダープログラムはRAM204yに展開される。これにより、プログラムカウンタはRAM領域側に移される。
その後、CPU211xがRAM204xに展開されたローダープログラムを実行することで、SROM203xに保存されているメインファームウェアは、RAM204xに展開される。このとき、プログラムカウンタの値が、所定アドレス(メインファームウェアのアドレス)に遷移する。同様に、CPU211yがRAM204yに展開されたローダープログラムを実行することで、SROM203yに保存されているメインファームウェアは、RAM204yに展開される。
その後、CPU211xは、RAM204xに展開されたメインファームウェアを実行し、CPU211yは、RAM204yに展開されたメインファームウェアを実行する。これにより、SoC基板間のエンジンIF(本実施例ではPCIe)を開通し、チップ間の接続を確立した上で、各SoC基板に付属する電源、アクチュエーター、センサ類の初期化を行い、印刷動作が実行可能な状態を作る。
続いて、ファームウェア更新モードにおける動作について、図4(b)を用いて説明する。ファームウェア更新モードでは、SoC基板280のCPU211xとSoC基板290のCPU211yとはそれぞれ、上位のコントローラユニット100から命令を受け取って同時に動作を開始する。なお、動作の開始タイミングは多少ずれても構わない。そして、第1のSoC基板280のCPU211xは、SROM203xに保存されているブートプログラムを実行し、第2のSoC基板290のCPU211yは、SROM203yに保存されているブートプログラムを実行する。これにより、SoC基板280及びSoC基板290を動作させるための初期化処理が行われる。
その後、SROM203xに保存されているローダープログラムはRAM204xに展開され、SROM203yに保存されているローダープログラムはRAM204yに展開される。これにより、プログラムカウンタはRAM領域側に移される。
その後、CPU211xがRAM204xに展開されたローダープログラムを実行することで、SROM203xに保存されているダウンローダプログラムは、RAM204xに展開される。このとき、プログラムカウンタの値が、所定アドレス(ダウンローダプログラムのアドレス)に遷移する。同様に、CPU211yがRAM204yに展開されたローダープログラムを実行することで、SROM203yに保存されているダウンローダプログラムは、RAM204yに展開される。
SoC基板280のCPU211xがRAM204xに展開されたダウンローダプログラムを実行し、SoC基板290のCPU211yがRAM204yに展開されたダウンローダプログラムを実行する。これにより、SoC基板280とSoC基板290との間のエンジンIFが開通し、両SoC基板間の通信が確立して、SoC基板280とSoC基板290は、上位のコントローラユニット100からファームウェア更新用データを受信可能な状態になる。
CPU211xがRAM204xに展開されたダウンローダプログラムを実行することで、第1のSoC基板280は、自身が受信したファームウェア更新用データの一部又は全部を、エンジンIFを介して第2のSoC基板290に転送することが可能になる。
ファームウェアデータ更新処理の途中、即ち、ROMに保存されているメインファームウェアの書き換えを行っている最中に停電等により記録装置1の電源が切れた場合について検討する。この場合、ブートプログラム、ローダープログラム、ダウンローダプログラムが破損していなければ、通常モードで起動することはできないがファームウェア更新モードで再び起動することはできる。従って、ファームウェアデータの更新処理を再び実行することが可能である。
上記の内容を踏まえて本明細書では、ブートプログラム、ローダープログラム、ダウンローダプログラムを「復旧不能データ」と表現する一方、メインファームウェアを「復旧可能データ」と表現する。また、ブートプログラム、ローダープログラム、ダウンローダプログラム等の復旧不能データが配されるSROM内領域を「復旧不能データ領域」と表現する一方、メインファームウェアが配されるSROM内領域を「復旧可能データ領域」と表現する。復旧不能データを復旧不能データ領域に書き込んでいる最中に停電等により記録装置1の電源が切れた場合、その後の電源投入時にファームウェア更新モードでの起動に失敗するようになり、ファームウェアデータの再書き込みができなくなってしまう。
なお、復旧不能データとは、ファームウェア更新モードに入るために必要なプログラムともいえる。つまり、ファームウェア更新モードに入るためには、ブートプログラム、ローダープログラム、ダウンローダプログラムが必要となるため、本実施形態ではこれらのプログラムが復旧不能データに相当する。一方、復旧可能データとは、ファームウェア更新モードに入るために不要なプログラムともいえる。つまり、本実施形態では、メインファームウェアが復旧可能データに相当する。
なお、仮に復旧不能データの更新中に電源が切られた場合、基板の交換などが必要となることもある。
<パッケージ化されたファームウェア更新用データの構造について>
以下、本実施例におけるファームウェア更新用データの構造について説明する。本実施例でファームウェアデータの更新に用いるデータ(ファームウェア更新用データ)はパッケージ化されており、複数のパッケージデータから成る。図5(a)は、本実施例で使用可能なファームウェア更新用データの構造例を示す図である。プリントエンジンユニット200は、このようなファームウェア更新用データの構造に関する定義情報(データの配列形態等)を予め持っており、CPU211x、211yは、該定義情報に基づき、ファームウェア更新用データを解釈することが可能である。
図5(a)に示すファームウェア更新用データは、先頭からパッケージデータA1、パッケージデータA2、・・・パッケージデータA7の順に並ぶ7個のパッケージデータから構成される。パッケージデータの定義情報として、タグ名(TagName)、データの書き込み先(Target)、データ種別(DataType)、開始アドレス(StartAddress・4バイト)、データサイズ(Length)がある。
パッケージデータA1は、ファームウェア更新用データの開始を示す開始タグのみから成る。
パッケージデータA2のタグ名(TagName値)はTYPE(3)であり、Target値は、PrintEngine(3)である。これらの値は、パッケージデータA2がプリントエンジンユニット200に対するデータであることを意味する。
パッケージデータA3のタグ名は、実際にSROMに書き込まれるデータ(実データとする)を含むことを示す値、DATA(4)である。また、パッケージデータA3の書き込み先は、Target値がSoC1 SROM(1)であることから、第1のSoC基板280のSROM203xである。また、パッケージデータA3のデータ種別は、DataType値がRecovery:NG(0)であることから、復旧不能データである。また、パッケージデータA3の開始アドレスは0xFFFF0000であり、サイズは0x6000である。
パッケージデータA4のタグ名は、実データを含むことを示す値、DATA(4)である。また、パッケージデータA4の書き込み先は、Target値がSoC1 SROM(1)であることから、第1のSoC基板280のSROM203xである。また、パッケージデータA4のデータ種別は、DataType値がRecovery:OK(1)であることから、復旧可能データである。また、パッケージデータA4の開始アドレスは0xF0000000であり、サイズは0x30000である。
パッケージデータA5のタグ名は、実データを含むことを示す値、DATA(4)である。また、パッケージデータA5の書き込み先は、Target値がSoC2 SROM(2)であることから、第2のSoC基板290のSROM203yである。また、パッケージデータA5のデータ種別は、DataType値がRecovery:OK(1)であることから、復旧可能データである。また、パッケージデータA5の開始アドレスは0xF0000000であり、サイズは0x36000である。
パッケージデータA6のタグ名は、実データを含むことを示す値、DATA(4)である。また、パッケージデータA6の書き込み先は、Target値がSoC2 SROM(2)であることから、第2のSoC基板290のSROM203yである。また、パッケージデータA6のデータ種別は、DataType値がRecovery:NG(0)であることから、復旧不能データである。また、パッケージデータA6の開始アドレスは0xFFFF0000であり、サイズは0x6000である。尚、パッケージデータA3~A6についてはそれぞれ、サイズを示すLength値に続く形式で、該サイズ分の実データが配される構造となっているが、図5(a)では実データは図示していない。
パッケージデータA7は、ファームウェア更新用データの終了を示す終了タグのみから成る。
<プリントエンジンユニットにおけるファームウェアデータの更新処理について>
ユーザ(管理者等)は操作パネル104を操作し、ファームウェア更新モードへの移行を指示する。ファームウェア更新モードへの移行が指示されると、コントローラユニット100、プリントエンジンユニット200、スキャナエンジンユニット300は夫々、通常起動モードを終了させる終了処理を実行し、ファームウェア更新モードに移行する。これにより、記録装置1は、ホスト装置400からホストIF102経由で送られてくるファームウェア更新用データを待つ状態(データ受付状態とする)となる。
記録装置1がデータ受付状態となった後、ユーザはホスト装置400からファームウェア更新用データを送信する。つまり、このケースでは、ファームウェア更新用データは予めホスト装置400に取得されている。尚、ここでは、図5(a)に示したファームウェア更新用データを用いるケースを説明する。また、ファームウェア更新の別の方法として、ネットワークを利用した更新方法もある。つまり、記録装置1が、予め決められたサーバに定期的にアクセスし、サーバにファームウェア更新用データがあるか否かを判断する。ここで、記録装置1が、サーバにファームウェア更新用データがあると判断した場合、記録装置1の操作パネルにファームウェア更新プログラムを取得するか否かの問い合わせを表示する。そして、この問い合わせに対してユーザが取得することを指示することで記録装置1がサーバからファームウェア更新データを取得しても良い。コントローラユニット100は、ホストIF102を介するファームウェア更新用データの受信を開始し、受信したファームウェア更新用データを、RAM106に一旦保存する。コントローラユニット100のメインコントローラ101は、パッケージデータA2のTarget値がPrintEngine(3)であることから、受信したファームウェア更新用データがプリントエンジンユニット200向けであると判定する。従ってその後、メインコントローラ101は、このファームウェア更新用データを、プリントエンジンIF105、コントローラエンジンIF201x経由で、プリントエンジンユニット200の第1のSoC基板280に転送する。転送されたファームウェア更新用データは、第1のSoC基板280のRAM204xに一旦保存される。
図6は、本実施例における、プリントエンジンユニット200側で実行されるファームウェアデータの更新処理のフローチャートである。
ステップS601において、第1のSoC基板280は、コントローラエンジンIF201xを介して受信したファームウェア更新用データをRAM204xに一旦保存する。尚、ここでは、図5(a)に示したファームウェア更新用データを用いるケースについて説明する。上述したように、このファームウェア更新用データはパッケージ化されており、パッケージデータA1~A7から成る。
ステップS602において、第1のSoC基板280のCPU211xは、RAM204xに保存されたファームウェア更新用データに含まれる全てのパッケージデータについて定義情報を確認する。そして、CPU211xは、各パッケージデータに対する書き込み先とデータ種別とを導出する。
ステップS603において、CPU211xは、ステップS602の結果に基づき、データ種別が復旧不能データであって、かつ書き込み先が異なるパッケージデータが、ファームウェア更新用データ内に存在するか判定する。ステップS603の判定結果が真の場合、ステップS604に進む一方、該判定結果が偽の場合、ステップS605に進む。尚、図5(a)に示したファームウェア更新用データを用いるケースでは、パッケージデータA3のデータ種別が復旧不能データ、書き込み先が第1のSoC基板280のSROM203xである。また、パッケージデータA6のデータ種別が復旧不能データ、書き込み先が第2のSoC基板290のSROM203yである。従って、データ種別が復旧不能データであって、かつ書き込み先が異なるパッケージデータが存在することから、ステップS604に進む。
ステップS604において、第1のSoC基板280のCPU211x、及び、第2のSoC基板290のCPU211yは、ステップS603の条件を満たすパッケージデータによるファームウェアデータの更新が同時に行われるよう制御する。具体的には、CPU211xの制御により、ファームウェアデータの更新が同時に行われる
ステップS604におけるファームウェアデータの同時更新処理について詳しく説明する。まず、第1のSoC基板280のCPU211xは、ステップS601でRAM204xに保存されたファームウェア更新用データのうちの一部を、コントローラエンジンIF201x、201y経由で第2のSoC基板290に転送する。ここで転送されるファームウェア更新用データとは具体的には、ステップS603の条件を満たすパッケージデータのうち、書き込み先がSROM203yのものである。第2のSoC基板290に転送されたファームウェア更新用データは、一旦RAM204yに保存される。かかるデータ転送の後、CPU211xは、復旧不能データ領域505xに保存されているデータの消去と、RAM204xに一時的に保存している復旧不能データの復旧不能データ領域505xへの書き込みを実行する。また、これと同時に、CPU211xは、CPU211yに対して復旧不能データ領域505yに保存されているデータの消去と、RAM204yに一時的に保存している復旧不能データの復旧不能データ領域505yへの書き込みとを指示する。以上が、ファームウェアデータの同時更新処理の内容である。
尚、図5(a)に示したファームウェア更新用データを用いるケースでは、パッケージデータA3のSROM203xへの書き込みと、パッケージデータA6のSROM203yへの書き込みとが、略同一のタイミングで指示されることとなる。従って、これらのデータの各SROMへの書き込みは、略同一のタイミングで開始され、また、これらのデータのサイズは等しいことから、データの各SROMへの書き込みは、略同一のタイミングで終了することとなる。なお、S604の処理は、SROM203xへの書き込みとSROM203yへの書き込み処理の少なくとも一部が並行して実行されれば良い。
ステップS605において、CPU211xは、ステップS603の条件を満たさなかったパッケージデータのうちで、書き込み先が異なるものが存在するか判定する。ステップS605の判定結果が真の場合、ステップS606に進む一方、該判定結果が偽の場合、ステップS607に進む。尚、図5(a)に示したファームウェア更新用データを用いるケースでは、パッケージデータA4の書き込み先が第1のSoC基板280のSROM203xであり、パッケージデータA5の書き込み先が第2のSoC基板290のSROM203yである。従って、ステップS603の条件を満たさなかったパッケージデータのうちで書き込み先が異なるものが存在することから、ステップS606に進む。
ステップS606において、第1のSoC基板280のCPU211x、及び、第2のSoC基板290のCPU211yは、ステップS605の条件を満たすパッケージデータによるファームウェアデータの更新が同時に行われるよう制御する。本ステップのファームウェアデータの同時更新処理は、ステップS604のファームウェアデータの同時更新処理と同様である。尚、図5(a)に示したファームウェア更新用データを用いるケースでは、パッケージデータA4のSROM203xへの書き込みと、パッケージデータA5のSROM203yへの書き込みとが、略同一のタイミングで指示されることとなる。
ステップS607において、CPU211x、及び、CPU211yは、残りのパッケージデータが存在する場合に、該残りのパッケージデータによるファームウェアデータの更新処理を実行するよう制御し、一連の処理は終了する。ここで言う残りのパッケージデータとは、ステップS603の条件を満たさず、かつステップS605の条件も満たさないパッケージデータである。尚、図5(a)に示したファームウェア更新用データを用いるケースでは、該当するパッケージデータは存在しないため、本ステップにおけるファームウェアデータの更新処理が実行されることはない。以上が、本実施例におけるファームウェアデータの更新処理の内容である。
<本実施例の効果、変形例等について>
本実施例では、データ種別に基づき、データの書き換えを複数ROMに対して同時に行うことで、ファームウェアデータを更新する。これにより、電源OFFにより記録装置1が起動不能になってしまう虞がある時間帯、具体的には復旧不能データをROMに書き込む時間を短くすることができる。尚、本実施例では上述の通り、ROMにおけるデータの書き換えを、復旧不能データ、復旧可能データの順に行っている。しかし、ユーザがファームウェアデータの更新処理を実行した後にキャンセルしようと考え、記録装置の電源をOFFにするような場面を想定して、ROMにおけるデータの書き換えを、復旧可能データ、復旧不能データの順で行っても良い。
また、本実施例では、復旧不能データであるか、及び、書き込み先が異なるかという条件を用いて、異なるROMにおけるファームウェアデータの同時更新が可能か判定している(図6のステップS603)。ここで、これらの条件に加えて、各パッケージデータの書き込みに要する時間(書き込み所要時間とする)を考慮して更新のタイミングを決定しても良い。こうすることで、電源OFFにより記録装置1が起動不能になってしまう虞がある時間帯を短くするという課題に対して、より厳密な制御が可能となる。
具体的に説明すると、図6のステップS603において、各パッケージデータに対する書き込み先とデータ種別とを確認する際、各パッケージデータに対するサイズ(Length値)も確認するようにする。
書き込み所要時間は、書き込み先のデバイスとデータサイズとに基づき算出される予想値である。尚、複数のROMに書き込む場合であって、かつこれらのROMにおける書き込み速度が等しい場合には、データサイズのみに基づき、書き込み所要時間を算出して良い。また、書き込み所要時間は、データの書き込みに要する時間の他に、データの消去に要する時間を含んでも構わない。
ステップS603で、書き込み所要時間を把握できている状況においては、必ずしも複数ROMに対するデータの書き込みを同時に開始する必要はない。更新時間が最も長いROMに合わせてその更新時間内にその他のROMの更新が完了するように書き込み等のタイミングを調整すれば足りる。
尚、ステップS603で同時更新を実行しないと判定されたパッケージデータについても、書き込み所要時間と書き込み先のデバイスとに基づいて、更新時間が最も短くなるように、データを書き込む順番を決定しても良い。これにより、ファームウェアデータの更新処理にかかる時間を更に短縮することが可能となる。
[実施例2]
実施例1では、第1のSoC基板280のCPU211xがファームウェア更新用データを解析し(図6のステップS602)、ファームウェアデータの同時更新を実行するかを判定する(図6のステップS603、ステップS605)。これに対し、本実施例では、ファームウェアデータの同時更新を実行するかの判定を省略する方法について説明する。
<ファームウェア更新用データについて>
図5(b)は、本実施例で使用可能なファームウェア更新用データの構造例を示す図である。図5(b)に示すファームウェア更新用データは、先頭からパッケージデータB1、パッケージデータB2、・・・パッケージデータB7の順に並ぶ7個のパッケージデータから成る。図5(b)に示すファームウェア更新用データは、図5(a)に示したファームウェア更新用データと同様の内容を含むが、データの並び順が、図5(a)に示したファームウェア更新用データとは異なっている。
<ファームウェアデータの更新処理について>
以下、本実施例におけるファームウェアデータの更新処理について、図7を用いて説明する。
ステップS701において、第1のSoC基板280は、コントローラエンジンIF201xを介して受信したファームウェア更新用データを、SROM203xに対応するRAM204xに一旦保存する。本ステップは、実施例1のステップS601と同様である。
ステップS702において、CPU211x及びCPU211yは、ステップS701でRAM204xに一旦保存したファームウェア更新用データを、SROM203yに対応するRAM204yに対して複製および保存する。この処理は、CPU211xが、ステップS701でRAM204xに保存したファームウェア更新用データを、コントローラエンジンIF201x、201y経由で第2のSoC基板290に転送することで実現される。
尚、ファームウェア更新用データをRAM204上で複製する際に、第2のSoC基板290用のデータのみを選別して複製することで、データ複製に要する時間やRAM使用量を抑えることができる可能性がある。しかし、データを選別するための時間が別途かかってしまい、データ複製に要する時間とデータ選別に要する時間との関係は、トレードオフの関係にある。従って本実施例では、データの転送速度が高速であるものとして、データ選別を実行せず、ファームウェア更新用データをそのまま(即ちファームウェア更新用データに含まれる全てのパッケージデータ)をRAM204y上で複製する。
RAM204xに保存されているファームウェア更新用データのRAM204yへの複製が完了した後、CPU211xは、ファームウェアデータの更新準備が完了した旨の通知を、CPU211yから受け取る。その後、CPU211xは、CPU211yに第2のSoC基板290における更新開始を指示し、その直後に第1のSoC基板280における更新開始を指示する。すると、以下のステップS703~ステップS706にて、第1のSoC基板280と第2のSoC基板290との夫々におけるファームウェアデータの更新が実行される。
ステップS703において、第1のSoC基板280のCPU211xは、RAM204xに保存されているファームウェア更新用データのうちの未処理のパッケージデータの1つに着目する(着目パッケージデータの設定)。同様に、第2のSoC基板290のCPU211yは、RAM204yに保存されているファームウェア更新用データのうちの未処理のパッケージデータの1つに着目する。尚、本ステップにおける着目パッケージデータの設定は、ファームウェア更新用データ内の配列に応じて(先頭から順次)行っていく。
ステップS704において、第1のSoC基板280のCPU211xは、着目パッケージデータのタグ名が、ファームウェア更新用データの終わりを示すEND(2)であるか判定する。本ステップの判定結果が真の場合、一連の処理は終了する一方、該判定結果が偽の場合、ステップS705に進む。尚、第2のSoC基板290のCPU211yも同様に、着目パッケージデータのタグ名が、ファームウェア更新用データの終わりを示すEND(2)であるか判定する。
ステップS705において、第1のSoC基板280(のCPU211x)は、着目パッケージデータのTarget値に基づき、該着目パッケージデータの書き込み先が自身のSROM203xであるか判定する。本ステップの判定結果が真の場合、ステップS706に進む一方、該判定結果が偽の場合、ステップS703に戻る。尚、第2のSoC基板290(のCPU211y)も同様に、着目パッケージデータのTarget値に基づき、該着目パッケージデータの書き込み先が自身のSROM203yであるか判定する。
ステップS706において、CPU211xは、ステップS705の条件を満たす着目パッケージデータによるファームウェアデータの更新処理を実行、具体的には、着目パッケージデータの内容をSROM203xに書き込む。また、CPU211yも同様に、ステップS705の条件を満たす着目パッケージデータによるファームウェアデータの更新処理を実行、具体的には、着目パッケージデータの内容をSROM203yに書き込む。次いで、ステップS703に戻る。以上が、本実施例におけるファームウェアデータの更新処理の内容である。
<ファームウェアデータの更新処理の具体例について>
以下、図5(b)に示したファームウェア更新用データを用いて、本実施例におけるファームウェアデータの更新処理を実行するケースについて説明する。
このケースでは、第1のSoC基板280のSROM203xに対する、パッケージデータB3を用いる書き込みと、パッケージデータB5を用いる書き込みとが順次行われる。また、第2のSoC基板290のSROM203yに対する、パッケージデータB4を用いる書き込みと、パッケージデータB6を用いる書き込みとが順次行われる。結果、パッケージデータB3を用いる書き込みの実行と、パッケージデータB4を用いる書き込みの実行とが略同一のタイミングで開始され、かつ終了することになる。
上述したように、本実施例では、ファームウェア更新用データ内のデータの並び順を工夫している。具体的には、ファームウェア更新用データ内で、復旧不能データ、復旧可能データの順に(具体的には、パッケージデータB3、B4、B5、B6の順に)データを配している。復旧不能データをまとめて復旧可能データより先頭側に配することで、異なるSROMにおける復旧不能データによるファームウェアデータの更新を同期させること、つまり、復旧不能データによる更新の開始タイミングをできる限り揃えることが可能となる。このように、ファームウェア更新用データ内のデータの並び順を工夫することで、同時更新を行うかの判定処理を実行しない形態でも、実施例1と同様の効果を得ることが可能である。
<本実施例の効果、変形例等について>
本実施例により、電源OFFにより記録装置1が起動不能になってしまう虞がある時間帯、具体的には復旧不能データをROMに書き込む時間帯を短くすることができる。
尚、上述の実施例では、記録装置が複数のSoC基板を搭載する構成について説明したが、記録装置が備えるSoC基板の数は複数に限らず1であっても良い。つまり、複数の不揮発性メモリを備えており、該不揮発性メモリに並行に書き込むことが可能な任意の記録装置に対して、本発明を適用することが可能である。
また、上述の実施例では、本発明をインクジェット記録装置に適用した場合について説明したが、本発明をインクジェット記録装置以外の情報処理装置に適用しても良い。つまり、複数の不揮発性メモリを備えた情報処理装置(例えば、自動車、産業機器、携帯電子機器、サーバ等)に対して、本発明を適用することが可能である。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
1 記録装置
203x SROM
203y SROM
280 第1のSoC基板
211x CPU
211y CPU

Claims (14)

  1. 複数の不揮発性メモリを有するファームウェア組み込み装置であって、
    前記複数の不揮発性メモリの夫々に保存されているファームウェアデータを更新するためのファームウェア更新用データを取得する取得手段と、
    前記取得したファームウェア更新用データに含まれるファームウェア更新モードに入るために必要な復旧不能データによる、第1の不揮発性メモリに保存されている前記ファームウェアデータの更新と、該復旧不能データによる、第2の不揮発性メモリに保存されている前記ファームウェアデータの更新とを、並行して実行するよう制御する制御手段と
    を有することを特徴とするファームウェア組み込み装置。
  2. 前記ファームウェア更新用データは、複数のパッケージデータから構成され、
    前記パッケージデータの定義情報として、タグ名と、書き込み先と、データ種別と、開始アドレスと、データサイズとがあり、
    前記データ種別は、前記復旧不能データと、復旧可能データとの何れであるかを示すことを特徴とする請求項1に記載のファームウェア組み込み装置。
  3. 前記制御手段は、前記第1の不揮発性メモリに保存されている前記ファームウェアデータの消去と、前記復旧不能データの該第1の不揮発性メモリへの書き込みとを指示し、該指示と同時に、前記第2の不揮発性メモリに保存されている前記ファームウェアデータの消去と、前記復旧不能データの該第2の不揮発性メモリへの書き込みとを指示することを特徴とする請求項2に記載のファームウェア組み込み装置。
  4. 前記制御手段は、前記ファームウェア更新用データを構成するパッケージデータの夫々に対する、前記書き込み先と前記データ種別とに基づく制御を行うことを特徴とする請求項2に記載のファームウェア組み込み装置。
  5. 前記制御手段は、前記パッケージデータの夫々に対する、前記不揮発性メモリへの書き込みに要する時間に基づく制御を行うことを特徴とする請求項4に記載のファームウェア組み込み装置。
  6. 前記パッケージデータの夫々に対する、前記データサイズと前記書き込み先とに基づき、前記時間を算出する算出手段を更に有することを特徴とする請求項5に記載のファームウェア組み込み装置。
  7. 前記制御手段は、前記復旧不能データによる前記第1の不揮発性メモリに保存されている前記ファームウェアデータの更新時間が、前記復旧不能データによる前記第2の不揮発性メモリに保存されている前記ファームウェアデータの更新時間内に収まるように制御を行うことを特徴とする請求項6に記載のファームウェア組み込み装置。
  8. 前記制御手段は、前記復旧不能データ、前記復旧可能データの順、又は、前記復旧可能データ、前記復旧不能データの順に、前記ファームウェアデータを更新することを特徴とする請求項2乃至7の何れか1項に記載のファームウェア組み込み装置。
  9. 前記復旧不能データは、前記ファームウェア更新用データ内で、前記復旧可能データより先頭側に配されることを特徴とする請求項2に記載のファームウェア組み込み装置。
  10. 前記取得したファームウェア更新用データは、前記第1の不揮発性メモリに対応する第1の揮発性メモリに保存され、
    前記第1の揮発性メモリに保存されたファームウェア更新用データは、前記第2の不揮発性メモリに対応する第2の揮発性メモリに複製されることを特徴とする請求項9に記載のファームウェア組み込み装置。
  11. 前記制御手段は、前記第1の揮発性メモリに保存されたファームウェア更新用データのうち、前記書き込み先が前記第1の不揮発性メモリであるパッケージデータによる、前記第1の不揮発性メモリへの書き込みを行い、前記第2の揮発性メモリに複製されたファームウェア更新用データのうちの、前記書き込み先が前記第2の不揮発性メモリであるパッケージデータによる、前記第2の不揮発性メモリへの書き込みを行うことを特徴とする請求項10に記載のファームウェア組み込み装置。
  12. 前記復旧不能データは、ブートプログラム、ローダープログラム、ダウンローダプログラムであることを特徴とする請求項1乃至11のいずれか1項に記載のファームウェア組み込み装置。
  13. 複数の不揮発性メモリを有するファームウェア組み込み装置の制御方法であって、
    前記複数の不揮発性メモリの夫々に保存されているファームウェアデータを更新するためのファームウェア更新用データを取得するステップと、
    前記取得したファームウェア更新用データに含まれるファームウェア更新モードに入るために必要な復旧不能データによる、第1の不揮発性メモリに保存されている前記ファームウェアデータの更新と、該復旧不能データによる、第2の不揮発性メモリに保存されている前記ファームウェアデータの更新とを、並行して実行するよう制御するステップと
    を有することを特徴とする制御方法。
  14. コンピュータを請求項1乃至12のいずれか1項に記載の手段として機能させるためのプログラム。
JP2017222817A 2017-11-20 2017-11-20 ファームウェア組み込み装置、制御方法、プログラム Active JP7058984B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017222817A JP7058984B2 (ja) 2017-11-20 2017-11-20 ファームウェア組み込み装置、制御方法、プログラム
US16/181,525 US10649762B2 (en) 2017-11-20 2018-11-06 Apparatus that can perform parallel updating using data saved in different memories, control method, and storage medium
CN201811380284.6A CN109814813B (zh) 2017-11-20 2018-11-20 具有多个存储器的装置、控制方法和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017222817A JP7058984B2 (ja) 2017-11-20 2017-11-20 ファームウェア組み込み装置、制御方法、プログラム

Publications (2)

Publication Number Publication Date
JP2019095905A JP2019095905A (ja) 2019-06-20
JP7058984B2 true JP7058984B2 (ja) 2022-04-25

Family

ID=66533050

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017222817A Active JP7058984B2 (ja) 2017-11-20 2017-11-20 ファームウェア組み込み装置、制御方法、プログラム

Country Status (3)

Country Link
US (1) US10649762B2 (ja)
JP (1) JP7058984B2 (ja)
CN (1) CN109814813B (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007114943A (ja) 2005-10-19 2007-05-10 Kyocera Mita Corp ファームウェア更新方法及び情報処理装置
JP2008197933A (ja) 2007-02-14 2008-08-28 Matsushita Electric Ind Co Ltd マイクロコンピュータおよびブートプログラムの書き換え方法
JP2012073862A (ja) 2010-09-29 2012-04-12 Canon Inc 画像形成装置、そのファームウェア更新制御方法、及びファームウェア更新制御プログラム
JP2012181578A (ja) 2011-02-28 2012-09-20 Fuji Xerox Co Ltd 更新制御装置及びプログラム
JP2013142914A (ja) 2012-01-06 2013-07-22 Ricoh Co Ltd 情報処理装置
JP2013232100A (ja) 2012-04-27 2013-11-14 Canon Inc 情報処理装置、情報処理装置におけるファームウエアの更新方法およびプログラム
JP2015022681A (ja) 2013-07-23 2015-02-02 キヤノン株式会社 情報処理装置および情報処理装置におけるソフトウェア更新方法
WO2017103971A1 (ja) 2015-12-14 2017-06-22 三菱電機株式会社 情報処理装置、エレベータ装置及びプログラム更新方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002189631A (ja) 2000-12-22 2002-07-05 Toshiba Corp 情報書き込み装置、及びこれを有する携帯電子機器
EP2407885A4 (en) * 2009-03-09 2013-07-03 Fujitsu Ltd INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING DEVICE CONTROL METHOD, AND INFORMATION PROCESSING DEVICE CONTROL PROGRAM
EP2513781A4 (en) * 2009-12-18 2013-11-20 Hewlett Packard Development Co METHODS AND APPARATUS FOR UPDATING A COMPONENT FIRMWARE USING A FIRMWARE UPDATE APPLICATION
US8954721B2 (en) * 2011-12-08 2015-02-10 International Business Machines Corporation Multi-chip initialization using a parallel firmware boot process
CN102591602B (zh) * 2011-12-30 2014-07-09 浙江大学 一种基于多核处理器的高速数码印花处理系统及方法
CN103383676B (zh) * 2012-07-13 2016-07-20 威盛电子股份有限公司 集线器装置以及用以初始化集线器装置的方法
JP6265631B2 (ja) * 2013-06-14 2018-01-24 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
JP6185772B2 (ja) * 2013-06-27 2017-08-23 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
CN104427119B (zh) * 2013-09-06 2017-03-15 展讯通信(上海)有限公司 通信终端及其非易失性数据的处理方法
CN104503781A (zh) * 2014-12-10 2015-04-08 华为技术有限公司 硬盘的固件升级方法和存储系统
US9858067B2 (en) * 2015-10-05 2018-01-02 Samsung Electronics Co., Ltd. Electronic system with update control mechanism and method of operation thereof
US9710254B2 (en) * 2015-10-28 2017-07-18 International Business Machines Corporation Replacing an accelerator firmware image without operating system reboot
US10437680B2 (en) * 2015-11-13 2019-10-08 Kabushiki Kaisha Toshiba Relay apparatus, relay method, and computer program product
KR102395195B1 (ko) * 2016-01-07 2022-05-10 삼성전자주식회사 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
CN205844831U (zh) * 2016-07-27 2016-12-28 广州奥松电子有限公司 蓝牙固件升级辅助装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007114943A (ja) 2005-10-19 2007-05-10 Kyocera Mita Corp ファームウェア更新方法及び情報処理装置
JP2008197933A (ja) 2007-02-14 2008-08-28 Matsushita Electric Ind Co Ltd マイクロコンピュータおよびブートプログラムの書き換え方法
JP2012073862A (ja) 2010-09-29 2012-04-12 Canon Inc 画像形成装置、そのファームウェア更新制御方法、及びファームウェア更新制御プログラム
JP2012181578A (ja) 2011-02-28 2012-09-20 Fuji Xerox Co Ltd 更新制御装置及びプログラム
JP2013142914A (ja) 2012-01-06 2013-07-22 Ricoh Co Ltd 情報処理装置
JP2013232100A (ja) 2012-04-27 2013-11-14 Canon Inc 情報処理装置、情報処理装置におけるファームウエアの更新方法およびプログラム
JP2015022681A (ja) 2013-07-23 2015-02-02 キヤノン株式会社 情報処理装置および情報処理装置におけるソフトウェア更新方法
WO2017103971A1 (ja) 2015-12-14 2017-06-22 三菱電機株式会社 情報処理装置、エレベータ装置及びプログラム更新方法

Also Published As

Publication number Publication date
US20190155596A1 (en) 2019-05-23
CN109814813A (zh) 2019-05-28
CN109814813B (zh) 2022-10-18
JP2019095905A (ja) 2019-06-20
US10649762B2 (en) 2020-05-12

Similar Documents

Publication Publication Date Title
US9858515B2 (en) Image forming apparatus, image forming system, image formation control method and image forming method
JP4732248B2 (ja) 画像処理装置およびその制御方法
US8727333B2 (en) Printing apparatus and program
JP2007293702A (ja) 画像形成システム
US10082986B2 (en) Image forming apparatus with multiple print engines for distributed processing of single print job
JP2022177035A (ja) 印刷装置及びその制御方法
JP6769239B2 (ja) 画像形成装置、画像形成システムおよび制御プログラム
JP7058984B2 (ja) ファームウェア組み込み装置、制御方法、プログラム
US9336463B2 (en) Image forming apparatus capable of changing partitions of storage unit, and control method and storage medium therefor
JPH07295915A (ja) 周辺機器制御方式の設定方法及び周辺機器制御装置
JP2017065027A (ja) 印刷装置、印刷装置の制御方法、及びプログラム
JP7153190B2 (ja) 画像形成装置
JP6319240B2 (ja) 画像形成装置、画像形成方法および画像形成プログラム
JP2002027162A (ja) 画像形成装置及び該装置における制御用データ処理方法
US9519552B2 (en) Image forming apparatus which executes rebuild processes
US10678486B2 (en) Printing apparatus controlling spooling of image data in volatile and non-volatile memories based on memory capacity
JP2019179292A (ja) 記録装置、その制御方法、及びプログラム
JP7073966B2 (ja) 画像処理装置、その制御方法、およびプログラム
JP6852540B2 (ja) 画像形成装置、印刷システム、及び画像形成装置に搭載される画像転送用の集積回路
JP2016218741A (ja) 画像形成装置
JP2004066787A (ja) 画像記録装置、画像記録装置の制御方法、制御プログラムを提供する媒体、及び制御プログラム
JP6213438B2 (ja) 画像形成装置
JP2020131659A (ja) 印刷装置、情報処理方法及びプログラム
JP2014133314A (ja) 画像形成装置、画像形成制御方法及び画像形成制御プログラム
JP2019179447A (ja) 電子機器、電子機器の制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220105

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: 20220315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220413

R151 Written notification of patent or utility model registration

Ref document number: 7058984

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151