JP2009169805A - 情報処理システム及びファームウェア実行方法 - Google Patents

情報処理システム及びファームウェア実行方法 Download PDF

Info

Publication number
JP2009169805A
JP2009169805A JP2008008935A JP2008008935A JP2009169805A JP 2009169805 A JP2009169805 A JP 2009169805A JP 2008008935 A JP2008008935 A JP 2008008935A JP 2008008935 A JP2008008935 A JP 2008008935A JP 2009169805 A JP2009169805 A JP 2009169805A
Authority
JP
Japan
Prior art keywords
firmware
stream
control cpu
data
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2008008935A
Other languages
English (en)
Other versions
JP5272414B2 (ja
Inventor
Mitsuaki Hino
光章 日野
Toshio Hosoi
俊男 細井
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2008008935A priority Critical patent/JP5272414B2/ja
Priority to US12/356,521 priority patent/US8769255B2/en
Publication of JP2009169805A publication Critical patent/JP2009169805A/ja
Application granted granted Critical
Publication of JP5272414B2 publication Critical patent/JP5272414B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】本発明は、ファームウェアのダウンロードを高速に行う情報処理システムを提供することを目的とする。
【解決手段】情報処理システムは、制御CPUと、処理対象のデータを含む入力ストリームを受け取りメモリに転送するストリームインタフェースを含み、ストリームインタフェースによりファームウェアを含むストリームデータを受け取りメモリに格納するダウンロード処理を制御CPUの指示により実行すると共に、メモリに格納されたストリームデータを制御CPUが解析することによりファームウェアをメモリ空間に展開し、メモリ空間に展開されたファームウェアを制御CPUが実行することにより処理対象のデータに対する処理を実行することを特徴とする。
【選択図】図5

Description

本発明は、一般に情報処理システムに関し、詳しくはファームウェアを受信し実行することにより動作する情報処理装置を含む情報処理システムに関する。
画像処理技術や音声処理技術等の進歩により、それらを含む情報処理システムの高性能化及び高機能化が進んでいる。それに伴い、情報処理システムのハードウェアの回路規模やソフトウェアのコード量が増大している。
図1は、ホスト装置(システムコントローラ)に専用の画像処理装置を接続した画像処理システムの構成の一例を示す図である。このように専用に画像処理を行うハードウェアを用いる構成により、高性能な画像処理機能を備えた情報処理システムを実現することができる。図1のシステムは、ホスト装置10、画像処理装置11、ブリッジ12、外部記憶装置13、及びSDRAM(同期型DRAM)14を含む。画像処理装置11は、シリアルインタフェースであるホストI/F(インタフェース)21、ストリームインタフェース用のデマルチプレクサ(分離器)であるDEMUX22、制御CPU23、映像処理部24、及びSDRAMインタフェース25を含む。
ホスト装置10と画像処理装置11をシリアルインタフェースで接続し、ホストからの制御にしたがって画像処理装置11に画像処理を実行させる。図1に示す構成例では、画像処理を行うためのファームウェアを、まずシリアルポートを介してホスト装置10から画像処理装置11へ転送する。次に、転送後のファームウェアを画像処理装置11に実行させることにより、ストリームインタフェースを介した外部記憶装置13から画像処理装置11への画像データ転送を含む種々の画像データに関連する処理を実行する。
図2は、図1の構成においてシリアルインタフェースを介してファームウェアをダウンロードする処理を示す流れ図である。図2に示す処理に従って、画像処理システムの起動時にホスト装置10から画像処理装置11にファームウェアをダウンロードし、それをブートアップすることで画像処理装置11を動作させる。
具体的には、まず電源投入後、画像処理装置11の制御CPU23によりブートローダの実行が開始される。ブートローダは、制御CPU23に接続されるROM26(図1参照)に格納されている制御プログラムであり、画像処理装置11の電源が投入されると、制御CPU23がこの制御プログラムをまず最初に実行する。
ブートローダの実行により、図2に示されるように、制御CPU23からホストI/F21を介してホスト装置10の割込み端子に対して割り込み信号がアサートされる(ステップS1)。このときホスト装置10は、割込み有無を判定する割込み待ちの状態にある(ステップS2)。画像処理装置11から割込みがあると、この割り込みに応答して、ホスト装置10はシリアルポートを介したファームウェアの転送処理を実行する(ステップS3)。具体的には、ホスト装置10が外部記憶装置13からファームウェアを読み出し、この読み出したファームウェアを、シリアルポートを介して画像処理装置11に転送する。
図3は、ダウンロードされるファームウェアのフォーマットの一例を示す図である。図3に示すファームウェア30は、ヘッダ部31及び複数n個(n:2以上の整数)のデータブロック部32−1乃至32−nを含む。ヘッダ部31では、ヘッダ領域にエントリアドレス33及びブロックカウント34が含まれている。エントリアドレス33は、メモリ領域に格納されたファームウェアの実行開始アドレスを示し、ブロックカウント34はブロックの個数nを示す。各データブロック部32−1乃至32−nは、それぞれのブロックヘッダ領域にトップアドレス35及びバイトカウント36を含む。トップアドレス35は、メモリ領域内での対応ブロック部の配置アドレスを示し、バイトカウント36は対応ブロック部の本体(データ部)のデータ量をバイト単位で示す。
ブートローダ実行中の制御CPU23は、シリアルインタフェースであるホストI/F21を介して受信されるファームウェア30(シリアルデータ)を解析する(ステップS4)。この解析結果に基づいて、制御CPU23は、データブロック部32−1乃至32−nの各ヘッダに設定されているトップアドレス35へ、対応ブロックのデータ部分のファームウェア本体を転送する(ステップS5)。具体的には、SDRAMインタフェース25を介してSDRAM14にファームウェアのデータを書き込む。また上記解析結果に基づいて、制御CPU23は、ファームウェア30のブロックカウント34及びバイトカウント36に指定されるデータ量のファームウェアの受信が完了したか否かを判定する(ステップS6)。
ファームウェアの受信が完了するとブートローダからファームウェアに制御移管が行われる(ステップS7)。具体的には、制御CPU23は、ファームウェア30のヘッダ部31のエントリアドレス33が示す実行開始アドレスにプログラムポインタを設定して、ファームウェアの実行を開始する。ファームウェアの実行により、制御CPU23からホストI/F21を介してホスト装置10の割込み端子に対して割り込み信号がアサートされる(ステップS8)。この割込みにより、画像処理装置11はホスト装置10に対してブートアップ完了を通知する。ホスト装置10は、このブートアップ完了通知に応答して、所定の処理を開始する。
上記のような構成においてファームウェア30をダウンロードするシリアルインタフェースとしては、汎用的なRS−232C/UART/I2C等のシリアル通信インタフェースを用いるのが一般的な構成である。しかしそのようなシリアル通信インタフェースのデータ転送速度が比較的低速であるために、情報処理装置が高性能化してファームウェアのサイズが増大すると、ファームウェアのダウンロードに時間がかかりすぎてしまうという問題が発生する。外付けのフラッシュメモリ等からファームウェアをダウンロードする方法もあるが、そのような構成ではピン数や部品コストが余計にかかってしまうという問題がある。
また、本願発明に関連する先行技術として、例えば、下記の特許文献1に開示される技術がある。
特開2007−72532号公報
以上を鑑みて、本発明は、ファームウェアのダウンロードを高速に行う情報処理システムを提供することを目的とする。
情報処理システムは、制御CPUと、処理対象のデータを含む入力ストリームを受け取りメモリに転送するストリームインタフェースを含み、該ストリームインタフェースによりファームウェアを含むストリームデータを受け取り該メモリに格納するダウンロード処理を該制御CPUの指示により実行すると共に、該メモリに格納された該ストリームデータを該制御CPUが解析することにより該ファームウェアをメモリ空間に展開し、該メモリ空間に展開された該ファームウェアを該制御CPUが実行することにより該処理対象のデータに対する処理を実行することを特徴とする。
また情報処理システムにおけるファームウェア実行方法は、制御CPUと、処理対象のデータを含む入力ストリームを受け取りメモリに転送するストリームインタフェースとを含む情報処理システムにおいて、該ストリームインタフェースによりファームウェアを含むストリームデータを受け取り、該受け取ったストリームデータを該メモリに格納し、該メモリに格納された該ストリームデータを該制御CPUにより解析し、該解析の結果に基づいて該制御CPUにより該ファームウェアをメモリ空間に展開し、該メモリ空間に展開された該ファームウェアを該制御CPUにより実行する各段階を含むことを特徴とする。
本発明の少なくとも1つの実施例によれば、処理対象のデータのストリームを受信するために情報処理装置に設けられている既存のストリームインタフェースを活用し、このストリームインタフェースを介してファームウェアをダウンロードする。この際、ストリームインタフェースによりファームウェアを含むストリームデータを受け取りメモリにそのまま格納し、その後、メモリに格納されたストリームデータを制御CPUが解析することにより、ファームウェアをメモリ空間に展開する。更に、メモリ空間に展開されたファームウェアを制御CPUが実行することにより、処理対象のデータに対する処理を実行する。この構成により、新たな高速インタフェースを追加することなく、高速なダウンロードを実現することが可能となる。
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
本発明の情報処理システムの実施例としては、図1に示す画像処理システムの構成をそのまま用いてよい。但し、情報処理の内容として画像処理等の特定の情報処理に限定されるものではなく、本発明の情報処理システムは音声処理システムや映像・音声処理システム等を含む任意の情報処理内容の情報処理システムであってよい。
図1のDEMUX22は、受信ストリーム中に含まれる複数のストリームを分離する機能を有する。例えば、受信ストリーム中に含まれる映像ストリームと音声ストリームとを分離して、それぞれのバッファ(例えばSDRAM14内の対応するメモリ領域)に映像データと音声データとを格納する。バッファから読み出される映像データと音声データとは、それぞれの対応するデコーダにより復号処理される。図1の構成では、情報処理システムの画像処理部分として映像処理部24のみが示されており、この映像処理部24により画像復号化処理を実行する。
ストリームの例としては、MPEG(Moving Picture Experts Group)によりMPEG−1システム及びMPEG−2システムに対してそれぞれ規定されるストリームがある。MPEGでは、ビデオデータとオーディオデータとの2つのデータに分かれている場合、それぞれをエレメンタリーストリーム(Elementary Stream)と呼ぶ。エレメンタリーストリームはパケットと呼ばれる単位に分割され、パケット化エレメンタリーストリーム(Packetized Elementary Stream)を構成する。各パケットにはパケットヘッダが付加される。パケットヘッダには、ストリーム識別用のコード、パケットのサイズに関する情報、PTS(Presentation Time Stamp)やDTS(Decoding Time Stamp)等の同期再生のための時間情報等が含まれる。また任意の数のパケットを集めた纏まりをパックと呼ぶ。各パックに付加されるパックヘッダには、基準時間情報SCR(System Clock Reference)等が記述されている。このようにシステムストリームをパック単位に構成することにより、受信側では、ストリーム全体を受信する前にストリーム途中からの再生が可能となる。
MPEG−1の場合、ビデオデータとオーディオデータとを多重化した1つのストリームをシステムストリーム(System Stream)と呼ぶ。MPEG−2の場合、ビデオデータとオーディオデータとを多重化した1つのストリームをプログラムストリーム(Program Stream)と呼ぶ。1つのプログラムストリームには、唯1つのプログラムが含まれる。それに対して1ストリームの中に複数のプログラムストリームを含む形式として、トランスポートストリームがあり、放送や通信ネットワークなどにおいて利用される。以下の説明においては、MPEG−2のトランスポートストリームを想定している。
図4は、DEMUX22の機能ブロック構成の一例を示す図である。図4に示すDEMUX22は、D_IN部41とD_TRBUF部42とを含む。D_IN部41部は、ストリームの入力を行なうモジュールであり、入力ストリーム中に含まれる指定コード(例えば0x47)を検出することにより同期を確立する。また更にD_IN部41において、画像処理装置11の基準クロックであるSTC(System Time Clock)に対するストリームデータの重畳が行なわれる。D_TRBUF部42はDMA(Direct Memory Access)機能を有する。D_TRBUF部42が独立してメモリアクセスすることにより、ストリームデータを出力先のバッファにDMA転送する。なおDEMUX22のデータ分離機能は、バッファへの転送時に必要に応じてストリームを分離しそれぞれの転送先にデータを振り分けることにより実現される。
上述の説明のように、画像処理装置11には、画像データのストリームを受信して同期をとり、出力先のバッファにDMA転送するDEMUX22が既に設けられている。即ち、情報処理装置(この例では画像処理装置11)の情報処理対象のデータ(この例では画像データ)をストリームとして受け取り、メモリにDMA転送するストリームインタフェース(この例ではDEMUX22)が既に設けられている。そのようなストリームインタフェースは、大量の処理対象のデータ(映像データや音声データ)を高速に受信してバッファに転送することができる高速インタフェースである。即ち、DEMUX22のデータ転送速度は、RS−232C/UART/I2C等のシリアルインタフェースであるホストI/F21のデータ転送速度よりも格段に早い。本発明の実施例による情報処理装置においては、以下に詳細に説明するように、そのようなストリームインタフェース(図1の例ではDEMUX22)をファームウェアのダウンロードのために用いる。
この際、DEMUX22には制御CPU23のようなデータ解析機能はなく、受信したストリームデータをそのままSDRAM14に格納することしかできない。図2に示すようにシリアルインタフェースであるホストI/F21を介して制御CPU23がファームウェアを受け取る場合には、制御CPU23は、データブロック部32−1乃至32−nの各ヘッダに設定されているトップアドレス35へ各ブロックのデータ部分のファームウェア本体を書き込むことができる。即ち、ヘッダの解析結果に基づいて、ファームウェアをメモリ空間に適切に展開することができる。しかしDEMUX22をファームウェアの受信及びメモリ格納用に用いる場合には、受信したストリームデータをそのままメモリに書き込むのみであり、ヘッダ解析に基づいたファームウェアのメモリ空間への展開処理を実行することができない。従って、DEMUX22によりSDRAM14に受信ストリームデータを書き込んだ後に、制御CPU23によりSDRAM14から受信ストリームデータを読み出して、ヘッダを解析することにより、ファームウェアをメモリ空間に適切に展開する処理が必要になる。
このように本発明の実施例による情報処理システムは、制御CPU(制御CPU23)と、処理対象のデータを含む入力ストリームを受け取りメモリに転送するストリームインタフェース(DEMUX22)とを含む構成である。この構成においては、ストリームインタフェース(DEMUX22)によりファームウェアを含むストリームデータを受け取りメモリ(SDRAM14)に格納するダウンロード処理を、制御CPU(制御CPU23)の指示により実行する。またメモリに格納されたストリームデータを制御CPU(制御CPU23)が解析することにより、ファームウェアをメモリ空間に展開する。更に、メモリ空間に展開されたファームウェアを制御CPU(制御CPU23)が実行することにより、処理対象のデータ(この例では画像データ)に対する処理を実行する。
なお図1の構成例においては、SDRAM14が画像処理装置11の外付けのメモリとして示されるが、画像処理装置11内にローカルメモリとしてDRAMを含む構成であってもよい。この場合、ファームウェアを展開するメモリ空間は、ローカルメモリとSDRAM14とを合わせたメモリ空間となる。実際にファームウェアをローカルメモリとSDRAM14とのどちらのメモリに展開するのか、或いはファームウェアの一部をローカルメモリに展開し残りの部分をSDRAM14に展開するように構成する場合に何れの部分を選択的にローカルメモリに展開するのか等は、システム設計時に適宜決定すればよい事項である。
また本発明の実施例による情報処理システムは、ホスト装置10と接続されるシリアルインタフェース(ホストI/F21)を更に含む構成であってよい。この構成において、制御CPU23がシリアルインタフェース(ホストI/F21)を介してダウンロード用プログラムをホスト装置10から受け取り、制御CPU23がそのダウンロード用プログラムを実行することにより、前記ダウンロード処理を実行してよい。このような構成とすることにより、小さな規模のダウンロード用プログラムをまずシリアルインタフェースを介して受け取り、そのダウンロード用プログラムを実行することにより、規模の大きなファームウェアをストリームインタフェース(DEMUX22)を介して受け取ることができる。このような構成とすれば、ファームウェアを含むストリームデータを受け取りメモリ(SDRAM14)に格納する際に、格納先のアドレスをダウンロード用プログラムにより指定することができる。従って、システムの構成に応じた柔軟なダウンロード処理が可能となる。
また本発明の実施例による情報処理システムは、ブート用ROM26を更に含み、ブート用ROM26に格納されるダウンロード用プログラムを制御CPU23が実行することによりダウンロード処理を実行する構成であってよい。このような構成とすることで、より簡単な制御によるダウンロード処理を実現することができる。
図5は、本発明の実施例により図1の構成においてストリームインタフェースを介してファームウェアをダウンロードする処理を示す流れ図である。図5に示す処理に従って、画像処理システムの起動時にホスト装置10から画像処理装置11にファームウェアをダウンロードし、それをブートアップすることで画像処理装置11を動作させる。
具体的には、まず電源投入後、画像処理装置11の制御CPU23によりブートローダの実行が開始される。ブートローダは、制御CPU23に接続されるROM26に格納されている制御プログラムであり、画像処理装置11の電源が投入されると、制御CPU23がこの制御プログラムをまず最初に実行する。
ブートローダの実行により、図5に示されるように、制御CPU23からホストI/F21を介してホスト装置10の割込み端子に対して割り込み信号がアサートされる(ステップS1)。このときホスト装置10は、割込み有無を判定する割込み待ちの状態にある(ステップS2)。画像処理装置11から割込みがあると、この割り込みに応答して、ホスト装置10はシリアルポートを介した第1のファームウェア(ダウンロード用プログラム)の転送処理を実行する(ステップS3)。具体的には、ホスト装置10が外部記憶装置13から第1のファームウェアを読み出し、この読み出した第1のファームウェアを、シリアルポートを介して画像処理装置11に転送する。
ダウンロードされる第1のファームウェアのフォーマットは、例えば図3に示す構成と同様である。ブートローダ実行中の制御CPU23は、シリアルインタフェースであるホストI/F21を介して受信される第1のファームウェア(シリアルデータ)を解析する(ステップS4)。この解析結果に基づいて、制御CPU23は、各データブロック部のヘッダに設定されているトップアドレスへ、対応ブロックのデータ部分の第1のファームウェア本体を格納する。具体的には、SDRAMインタフェース25を介してSDRAM14に第1のファームウェアのデータを書き込む。また上記解析結果に基づいて、制御CPU23は、第1のファームウェアのブロックカウント及びバイトカウントに指定されるデータ量のファームウェアの受信が完了したか否かを判定する(ステップS5)。
第1のファームウェアの受信が完了するとブートローダから第1のファームウェア(ダウンロード用ファームウェアSTDL_firm)に制御移管が行われる(ステップS6)。具体的には、制御CPU23は、第1のファームウェアのヘッダ部のエントリアドレスが示す実行開始アドレスにプログラムポインタを設定して、第1のファームウェアの実行を開始する。この第1のファームウェア(即ちダウンロード用プログラム)の実行により、以下に説明するように、第2のファームウェア(データ処理用のファームウェア)をダウンロードする。
制御CPU23が第1のファームウェア(ダウンロード用ファームウェアSTDL_firm)の実行を開始すると、まず制御CPU23はDEMUX22に対してストリームポートの設定指示を行なう。前述のように、DEMUX22は、入力ストリーム中に含まれる指定コードを検出することにより同期を確立する機能(同期検出機能)と、画像処理装置11の基準クロックであるSTCに対してストリームデータを重畳する機能を有する。第2のファームウェア(データ処理用のファームウェア)をダウンロードする際にはこれらの機能は不要であるので、制御CPU23によるストリームポートの設定により、ダウンロード処理の実行を指示する前にこれらの機能を無効にする。
なお画像処理装置11のストリームインタフェース(DEMUX22)は、例えば1ビットのクロック端子、8ビットのデータ端子、1ビットのイネーブル端子、1ビットのPSTART端子、1ビットのWAIT端子を有する。クロック端子を介して画像処理装置11に入力される転送クロックに同期して、データ端子を介してストリームデータが画像処理装置11に入力される。この際、イネーブル端子への入力信号によりストリームデータの有効期間を示す。またPSTART端子への入力信号によりストリームデータの各パケットの先頭バイトを示す。WAIT端子はバースト転送モードの場合に転送ウェイト信号を出力する。第1のファームウェアによりこれらの端子の設定が行われる。WAIT、PSTARTに対する設定は必ずしも必要ない。
ストリームポートの設定完了後、制御CPU23からホストI/F21を介してホスト装置10の割込み端子に対して割り込み信号がアサートされる(ステップS8)。このときホスト装置10は、割込み有無を判定する割込み待ちの状態にある(ステップS9)。画像処理装置11から割込みがあると、この割り込みに応答して、ホスト装置10はストリーム出力インタフェース(図1のブリッジ12)に対してファームウェア出力を指示する。これに応じて、ストリーム出力インタフェースは第2のファームウェアを含むストリームデータを出力する(ステップS11)。画像処理装置11のDEMUX22はストリームデータを受信し、受信したストリームデータをSDRAMインタフェース25を介してSDRAM14にそのまま書き込む(ステップS12)。即ち、ストリームインタフェースがストリームデータを受け取りメモリに格納する際に、DEMUX22及び制御CPU23の何れも、ストリームデータの内容を解析しない。
第2のファームウェアを含むストリームデータのフォーマットは、例えば図3に示す構成と同様である。この場合、DEMUX22はヘッダの内容を解析しないので、図3に示す構成のストリームデータがそのままSDRAM14に格納される。この際の格納先アドレスは、第1のファームウェア(ダウンロード用プログラム)により指定されるアドレスとなる。
ホスト装置10は、第2のファームウェアを含むストリームデータの転送が完了すると考えられる一定の時間がファームウェア出力指示を発してから経過したか否かを、クロックによる計時動作により判定する(ステップS13)。転送完了すると考えられる一定の時間が経過すると、ホスト装置10は画像処理装置11に対してブートアップ指示を行なう(ステップS14)。このとき制御CPU23は、ブートアップ指示の有無を判定する待ち状態にある(ステップS15)。ホスト装置10からホストI/F21を介してブートアップ指示があると、このブートアップ指示に応答して、制御CPU23はSDRAMインタフェース25を介してSDRAM14から受信ストリームデータを読み出し、ストリームデータを解析する(ステップS16)。この解析結果に基づいて、制御CPU23は、第2のファームウェアをメモリ空間に展開する(S17)。即ち、制御CPU23は、各データブロック部のヘッダに設定されているトップアドレスへ、対応ブロックのデータ部分の第2のファームウェア本体を配置する。
図6は、ストリームデータに含まれるファームウェアをメモリ空間に展開する動作を説明するための図である。図6においては、説明の便宜上、ストリームデータに2つのデータブロックが含まれる場合を示してある。図6に示されるように、受信したストリームデータ50は、エントリアドレス51、第1のデータブロックに対するトップアドレス52(トップアドレス#1)、第2のデータブロックに対するトップアドレス53(トップアドレス#2)、第1のデータブロックのデータ本体であるファームウェア部分54、及び第2のデータブロックのデータ本体であるファームウェア部分55を含む。DEMUX22により受信されたストリームデータ50は、そのままの形式でSDRAM14に格納されている。
ファームウェアをメモリ空間に展開するために、制御CPU23はストリームデータ50をSDRAM14から読み出す。制御CPU23はストリームデータ50を解析し、エントリアドレス51、トップアドレス52(トップアドレス#1)、及びトップアドレス53(トップアドレス#2)を特定する。制御CPU23は、第1のデータブロックのデータ本体であるファームウェア部分54をメモリ空間上のトップアドレス#1(=エントリアドレス)の位置に書き込み、更に、第2のデータブロックのデータ本体であるファームウェア部分55をメモリ空間上のトップアドレス#2の位置に書き込む。即ち、制御CPU23はメモリに格納されたストリームデータを解析することにより、メモリ空間中のトップアドレスで始まる領域にファームウェアの各ブロックを展開する。以上により、ファームウェアをメモリ空間に展開する処理が終了する。
第2のファームウェアのメモリ空間への展開処理が終了すると、データ解析・展開処理から第2のファームウェアに制御移管が行われる(ステップS18)。具体的には、制御CPU23は、受信ストリームデータ50に含まれるエントリアドレス51が示す実行開始アドレスにプログラムポインタを設定して、第2のファームウェアの実行を開始する。第2のファームウェアの実行により、制御CPU23からホストI/F21を介してホスト装置10の割込み端子に対して割り込み信号がアサートされる(ステップS19)。この割込みにより、画像処理装置11はホスト装置10に対してブートアップ完了を通知する。ホスト装置10は、このブートアップ完了通知に応答して、所定の処理を開始する。
ホスト装置10は、例えば画像処理装置11に対して画像データを転送する処理を実行する。この際、画像処理装置11では制御CPU23が第2のファームウェアを実行しており、画像処理装置11の動作は第2のファームウェアにより制御されることになる。
図7は、画像処理装置11へ画像データを転送する処理の流れを示す図である。まずホスト装置10は、設定コマンドを画像処理装置11に対して転送する(ステップS1)。ホスト装置10から送信されたコマンドは、ホストI/F21により受信され、制御CPU23に供給される。この際、制御CPU23では既に第2のファームウェアが実行中であり、ホストI/F21のシリアルAPI(Application Program Interface)が有効になっていて種々のコマンドを受け付けることができる。なお第2のファームウェアが実行される前の段階では、第1のファームウェアの転送(図5のS3)及びブートアップ指示(図5のS14)のみを受け付けることができるに過ぎない。
制御CPU23は、受信したシリアルデータを解析し(ステップS2)、解析結果に従ってDEMUX22のストリームポートを設定する(ステップS3)。前述のようにDEMUX22は、入力ストリーム中に含まれる指定コードを検出することにより同期を確立する機能(同期検出機能)と、画像処理装置11の基準クロックであるSTCに対してストリームデータを重畳する機能を有する。画像データをダウンロードする際には、制御CPU23によるストリームポートの設定によりこれらの機能を有効にする。但しSTC重畳処理については、場合によっては無効設定のままでもよい。
ストリームポートの設定が完了すると制御CPU23は、ホストI/F21を介してコマンド応答(アクノレッジ)をホスト装置10に送信する。このときホスト装置10は、コマンド応答の有無を判定する待ちの状態にある(ステップS4)。画像処理装置11からコマンド応答があると、これに応答して、ホスト装置10はシリアルポートを介してデコードコマンドを発行する(ステップS5)。制御CPU23は、ホストI/F21を介してホスト装置10からデコードコマンドを受信すると、デコードモードに移行する。デコードモードに移行すると、制御CPU23はホストI/F21を介してホスト装置10に対して割込みをアサートする。このときホスト装置10は、割込み有無を判定する割込み待ちの状態にある(ステップS7)。画像処理装置11から割込みがあると、この割り込みに応答して、ホスト装置10はシリアルポートを介してストリーム開始コマンドを発行する(ステップS8)。制御CPU23は、ホストI/F21を介してホスト装置10からストリーム開始コマンドを受信し、DEMUX22に対してウェイト信号解除設定を行なう(ステップS9)。
ウェイト信号解除設定をした制御CPU23は、ホストI/F21を介してコマンド応答(アクノレッジ)をホスト装置10に送信する。このときホスト装置10は、コマンド応答の有無を判定する待ちの状態にある(ステップS10)。画像処理装置11からコマンド応答があると、これに応答して、ホスト装置10はストリーム出力インタフェース(図1のブリッジ12)に対して画像データのストリーム転送を指示する。これに応じて、ストリーム出力インタフェースは画像データのストリームを出力する(ステップS12)。画像処理装置11のDEMUX22は画像データのストリームを受信し、同期検出及びSTC重畳等を実行した後、SDRAMインタフェース25を介してSDRAM14に画像データを書き込む(ステップS13)。バッファとして機能するSDRAM14に書き込まれた画像データは、その後映像処理部24により復号処理される。
ホスト装置10は、画像ストリームを停止したいとき、随時ストリーム終了コマンドを発行する(ステップS14)。制御CPU23は、ホストI/F21を介してホスト装置10からストリーム終了コマンドを受信すると、DEMUX22に対してストリーム受信を終了するようにストリームポート設定を行なう。
図7に示される上記制御CPU23の動作は全て第2のファームウェアにより制御されている。このようにして、ストリームインタフェース(DEMUX22)を介してダウンロードしたファームウェアを制御CPU23により実行することにより、処理対象のデータ(画像データ)をストリームインタフェース(DEMUX22)を介して受信して処理することが可能となる。
ここまで説明した実施例では、第1のファームウェア(ダウンロード用プログラム)をホスト装置10からホストI/F21を介して画像処理装置11にダウンロードする構成となっていた。別の構成として、第1のファームウェア(ダウンロード用プログラム)を予めブート用ROM26に格納しておき、電源投入時には、ブート用ROM26に格納されている第1のファームウェア(ダウンロード用プログラム)を制御CPU23により実行する構成としてもよい。
図8は、第1のファームウェア(ダウンロード用プログラム)を最初にダウンロードし、この第1のファームウェアを実行することにより第2のファームウェア(データ処理用ファームウェア)をダウンロードする場合の手順を示す図である。この手順は、図5に示す手順を簡略化して示すものであり、その詳細については説明を省略する。
図9は、第1のファームウェア(ダウンロード用プログラム)をブート用ROMに格納しておき、この第1のファームウェアを実行することにより第2のファームウェア(データ処理用ファームウェア)をダウンロードする場合の手順を示す図である。画像処理装置11の電源投入後、制御CPU23がブート用ROM26に格納される第1のファームウェアを実行することにより、ブートアップシーケンスが実行される。このブートアップシーケンスでは、ストリームポートを介してファームウェアをダウンロードするための準備として、制御CPU23がDEMUX22のストリーム入力ポート部に関する各種設定を行う(S1)。この設定完了後、制御CPU23からホスト装置10に対して設定完了割り込みをアサートする(S2)。この割込みに応答して、ホスト装置10はストリームポートを介してファームウェアの転送を開始する(S3)。転送されたファームウェアは、順次、SDRAM14に保存される。ファームウェアの転送終了後、ホスト装置10は画像処理装置11に対してブートアップ指示割り込みを行う(S4)。画像処理装置11は、ホスト装置10よりブートアップ指示割り込みを受けると、SDRAM14よりファームデータを読み込みヘッダの解析を行い、解析結果に基づいてファームウェアを展開し、更に指定の実行開始アドレスから展開後のファームウェアを実行する(S5)。実行されたファームウェアによりブートアップ完了割り込みをホスト装置10へ通知する(S6)。
図9に示す手順と図8に示す手順とを比較すれば分かるように、図9に示す処理は、図8に示す手順の後半部分の処理と同一である。即ち、図8の手順の場合には、ホストI/F21を介してホスト装置10からダウンロードした第1のファームウェアを制御CPU23が実行するのに対して、図9の手順の場合には、ブート用ROM26に格納してある第1のファームウェアを制御CPU23が実行する点が異なるのみである。図9の手順の場合、ホストI/F21を介したホスト装置10からのダウンロード処理を省くことができるので、より単純な制御手順で第2のファームウェアをダウンロードすることが可能となる。
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
ホスト装置に専用の画像処理装置を接続した画像処理システムの構成の一例を示す図である。 図1の構成においてシリアルインタフェースを介してファームウェアをダウンロードする処理を示す流れ図である。 ダウンロードされるファームウェアのフォーマットの一例を示す図である。 DEMUXの機能ブロック構成の一例を示す図である。 本発明の実施例により図1の構成においてストリームインタフェースを介してファームウェアをダウンロードする処理を示す流れ図である。 ストリームデータに含まれるファームウェアをメモリ空間に展開する動作を説明するための図である。 画像処理装置へ画像データを転送する処理の流れを示す図である。 ダウンロード用プログラムを最初にダウンロードし、ダウンロード用プログラムを実行することによりデータ処理用ファームウェアをダウンロードする場合の手順を示す図である。 ダウンロード用プログラムをブート用ROMに格納しておき、ダウンロード用プログラムを実行することによりデータ処理用ファームウェアをダウンロードする場合の手順を示す図である。
符号の説明
10 ホスト装置
11 画像処理装置
12 ブリッジ
13 外部記憶装置
14 SDRAM
21 ホストI/F
22 DEMUX
23 制御CPU
24 映像処理部
25 SDRAMインタフェース

Claims (10)

  1. 制御CPUと、
    処理対象のデータを含む入力ストリームを受け取りメモリに転送するストリームインタフェース
    を含み、該ストリームインタフェースによりファームウェアを含むストリームデータを受け取り該メモリに格納するダウンロード処理を該制御CPUの指示により実行すると共に、該メモリに格納された該ストリームデータを該制御CPUが解析することにより該ファームウェアをメモリ空間に展開し、該メモリ空間に展開された該ファームウェアを該制御CPUが実行することにより該処理対象のデータに対する処理を実行することを特徴とする情報処理システム。
  2. ホスト装置と接続されるシリアルインタフェースを更に含み、前記制御CPUが該シリアルインタフェースを介してダウンロード用プログラムを該ホスト装置から受け取り、該制御CPUが該ダウンロード用プログラムを実行することにより前記ストリームインタフェースによるダウンロード処理を実行することを特徴とする請求項1記載の情報処理システム。
  3. 前記ダウンロードプログラムの実行により、前記ストリームインタフェースのポートの設定を行った後に、前記ストリームインタフェースによるダウンロード処理を行うことを特徴とする請求項2記載の情報処理システム。
  4. ブート用ROMを更に含み、該ブート用ROMに格納されるダウンロード用プログラムを前記制御CPUが実行することにより前記ダウンロード処理を実行することを特徴とする請求項1記載の情報処理システム。
  5. 前記ストリームインタフェースは、前記制御CPUとは独立に前記メモリにアクセスすることにより前記ストリームデータを該メモリに格納することを特徴とする請求項1記載の情報処理システム。
  6. 前記ストリームインタフェースが前記ストリームデータを受け取り前記メモリに格納する際に、前記制御CPUは該ストリームデータの内容を解析しないことを特徴とする請求項1記載の情報処理システム。
  7. 前記ストリームデータは前記ファームウェアの実行開始アドレスであるエントリアドレスを示すデータを含み、前記制御CPUは前記メモリに格納された該ストリームデータを解析することにより、前記メモリ空間中の該エントリアドレスで始まる領域に該ファームウェアを展開することを特徴とする請求項1記載の情報処理システム。
  8. 前記ストリームデータは前記ファームウェアの各ブロックを配置するアドレスであるトップアドレスを示すデータを更に含み、前記制御CPUは前記メモリに格納された該ストリームデータを解析することにより、前記メモリ空間中の該トップアドレスで始まる領域に該ファームウェアの各ブロックを展開することを特徴とする請求項7記載の情報処理システム。
  9. 前記ストリームインタフェースは前記処理対象のデータを含む入力ストリームを受け取った際に同期検出する機能を含み、前記制御CPUは、前記ダウンロード処理の実行を指示する前に該同期検出機能が無効になるように該ストリームインタフェースを設定することを特徴とする請求項1記載の情報処理システム。
  10. 制御CPUと、処理対象のデータを含む入力ストリームを受け取りメモリに転送するストリームインタフェースとを含む情報処理システムにおいて、
    該ストリームインタフェースによりファームウェアを含むストリームデータを受け取り、
    該受け取ったストリームデータを該メモリに格納し、
    該メモリに格納された該ストリームデータを該制御CPUにより解析し、
    該解析の結果に基づいて該制御CPUにより該ファームウェアをメモリ空間に展開し、
    該メモリ空間に展開された該ファームウェアを該制御CPUにより実行する
    各段階を含むことを特徴とする情報処理システムにおけるファームウェア実行方法。
JP2008008935A 2008-01-18 2008-01-18 情報処理システム及びファームウェア実行方法 Expired - Fee Related JP5272414B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008008935A JP5272414B2 (ja) 2008-01-18 2008-01-18 情報処理システム及びファームウェア実行方法
US12/356,521 US8769255B2 (en) 2008-01-18 2009-01-20 Information processing system and method of executing firmware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008008935A JP5272414B2 (ja) 2008-01-18 2008-01-18 情報処理システム及びファームウェア実行方法

Publications (2)

Publication Number Publication Date
JP2009169805A true JP2009169805A (ja) 2009-07-30
JP5272414B2 JP5272414B2 (ja) 2013-08-28

Family

ID=40877367

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008008935A Expired - Fee Related JP5272414B2 (ja) 2008-01-18 2008-01-18 情報処理システム及びファームウェア実行方法

Country Status (2)

Country Link
US (1) US8769255B2 (ja)
JP (1) JP5272414B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8315269B1 (en) * 2007-04-18 2012-11-20 Cypress Semiconductor Corporation Device, method, and protocol for data transfer between host device and device having storage interface
TWI448902B (zh) 2007-08-24 2014-08-11 Cypress Semiconductor Corp 具頁存取基礎處理器介面之橋接裝置
JP2010252047A (ja) * 2009-04-15 2010-11-04 Toshiba Corp 電子装置及び電子装置の設定方法
JP5894495B2 (ja) * 2012-04-27 2016-03-30 キヤノン株式会社 情報処理装置、情報処理装置におけるファームウエアの更新方法およびプログラム
TWI621017B (zh) * 2017-03-06 2018-04-11 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
US20190102321A1 (en) * 2017-09-29 2019-04-04 Intel Corporation Techniques to provide access protection to shared virtual memory
CN112995263B (zh) * 2019-12-18 2022-11-22 中国移动通信集团陕西有限公司 网优流数据处理系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11102287A (ja) * 1997-07-31 1999-04-13 Matsushita Electric Ind Co Ltd リモートメンテナンス方法およびリモートメンテナンス装置
JP2001216164A (ja) * 2000-02-02 2001-08-10 Canon Inc プロセッサシステム及びその起動方法
JP2003085065A (ja) * 2001-09-11 2003-03-20 Sony Corp 情報提供システム、情報提供装置および方法、情報処理装置および方法、並びにプログラム
JP2003208324A (ja) * 2001-11-02 2003-07-25 Hewlett Packard Co <Hp> イメージング装置
JP2006255955A (ja) * 2005-03-15 2006-09-28 Oki Data Corp 印刷装置および制御プログラム更新方法
JP2007072532A (ja) * 2005-09-02 2007-03-22 Fujitsu Ltd 複数チップの起動方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3935222B2 (ja) * 1995-05-12 2007-06-20 キヤノン株式会社 通信装置及び印刷装置と該装置における通信用パラメータの設定方法
IL129947A (en) * 1999-05-13 2003-06-24 Tadiran Telecom Business Syste Method and apparatus for downloading software into an embedded system
US7296055B2 (en) * 2001-09-11 2007-11-13 Sony Corporation Information providing system, information providing apparatus, information providing method, information processing apparatus, information processing method, and program
JP2005309934A (ja) * 2004-04-23 2005-11-04 Fujitsu Ltd 周辺装置のファームウェアダウンロード方法及び周辺装置
KR100633099B1 (ko) * 2004-10-15 2006-10-11 삼성전자주식회사 데이터 버스를 이용하는 시스템 및 그의 동작제어방법
US20080307157A1 (en) * 2007-06-06 2008-12-11 Yi-Feng Jang Method and system for updating firmware of microcontroller

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11102287A (ja) * 1997-07-31 1999-04-13 Matsushita Electric Ind Co Ltd リモートメンテナンス方法およびリモートメンテナンス装置
JP2001216164A (ja) * 2000-02-02 2001-08-10 Canon Inc プロセッサシステム及びその起動方法
JP2003085065A (ja) * 2001-09-11 2003-03-20 Sony Corp 情報提供システム、情報提供装置および方法、情報処理装置および方法、並びにプログラム
JP2003208324A (ja) * 2001-11-02 2003-07-25 Hewlett Packard Co <Hp> イメージング装置
JP2006255955A (ja) * 2005-03-15 2006-09-28 Oki Data Corp 印刷装置および制御プログラム更新方法
JP2007072532A (ja) * 2005-09-02 2007-03-22 Fujitsu Ltd 複数チップの起動方法

Also Published As

Publication number Publication date
US8769255B2 (en) 2014-07-01
US20090187745A1 (en) 2009-07-23
JP5272414B2 (ja) 2013-08-28

Similar Documents

Publication Publication Date Title
JP5272414B2 (ja) 情報処理システム及びファームウェア実行方法
EP2550603B1 (en) Direct scatter loading of executable software image from a primary processor to one or more secondary processors in a multi-processor system
JPH1198098A (ja) データ分離装置
TW201719327A (zh) 半導體系統、半導體裝置及電子裝置初始化方法
JP2007124495A (ja) ストリームデータ処理装置
JP2006259898A (ja) I/oコントローラ、信号処理システム、およびデータ転送方法
JP4644569B2 (ja) 複数チップの起動方法
JP2009058995A (ja) 画像処理装置及び方法
US20060179180A1 (en) Signal processing apparatus, signal processing system and signal processing method
JP4750730B2 (ja) データ解析装置、及びデータ解析方法
JP2007027951A (ja) Dmaコントローラおよび通信処理装置
US20060010263A1 (en) Direct memory access (DMA) devices, data transfer systems including DMA devices and methods of performing data transfer operations using the same
JP2001308921A (ja) デマルチプレクサ
JP2010128604A (ja) メモリシステム
JP2009099092A (ja) 携帯型情報端末
JP4455276B2 (ja) パケット処理装置、パケット処理方法及びプログラム
WO2014183686A1 (zh) 一种智能终端及虚拟存储卡与真实存储卡同步的方法与装置
Fujii et al. Implementation of MPEG transport demultiplexer with a RISC-based microcontroller
JP2005301714A (ja) マルチcpuシステム、そのデータ転送方法、及びそのプログラム
JP2008306478A (ja) データ転送装置、データ転送方法及びデータ転送プログラム
JP2008205681A (ja) ビットストリーム解析装置及びビットストリーム解析方法
JP2008135133A (ja) ビットストリーム再生装置
JP6940283B2 (ja) Dma転送制御装置、dma転送制御方法、及び、dma転送制御プログラム
JP2006215991A (ja) Dmaコントローラ
JPH11355354A (ja) メモリ制御装置およびそれを使用したデータ受信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120925

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121122

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130325

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130401

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130429

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5272414

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees