(57)【要約】【課題】ブートＲＯＭの容量を増やすことなく、製品プログラムを外部メモリからフラッシュメモリに書き込むことが可能な半導体装置を提供すること。【解決手段】ＣＰＵ２１は、ブートＲＯＭ２３に格納されるブートプログラムを実行することによって、フラッシュメモリ１２に製品プログラムが格納されているか否かを判定する。フラッシュメモリ１２に製品プログラムが格納されていない場合には、ＣＰＵ２１は、シリアルＩ／Ｆ２６を介してブートローダをホストコンピュータ２からＳＲＡＭ２２に転送し、ブートローダを実行することによってＵＳＢ  Ｉ／Ｆ２５の初期化を行なう。そして、ＵＳＢ  Ｉ／Ｆ２５を介して製品プログラム４をＵＳＢメモリ３からフラッシュメモリ１２に転送する。したがって、ブートＲＯＭ２３の容量を増やすことなく、製品プログラム４をＵＳＢメモリ３からフラッシュメモリ１２に書き込むことが可能となる。【選択図】図１
2012243017.tif 000002
【特許請求の範囲】
【請求項１】
不揮発メモリに格納される製品プログラムを実行する半導体装置であって、
プロセッサと、
汎用メモリと、
ブートプログラムを格納するブートメモリと、
外部からブートローダを入力する第１のインタフェースと、
外部から前記製品プログラムを入力する第２のインタフェースとを含み、
前記プロセッサは、前記ブートメモリに格納されるブートプログラムを実行することによって前記不揮発メモリに前記製品プログラムが格納されているか否かを判定し、前記不揮発メモリに前記製品プログラムが格納されていない場合には、前記第１のインタフェースを介して前記ブートローダを外部から前記汎用メモリに転送し、該ブートローダを実行することによって前記第２のインタフェースの初期化を行なって、前記第２のインタフェースを介して前記製品プログラムを外部から前記不揮発メモリに転送する、半導体装置。
【請求項２】
前記プロセッサは、前記不揮発メモリの特定アドレスに特定キーワードが書き込まれているか否かによって、前記不揮発メモリに前記製品プログラムが格納されているか否かを判定する、請求項１記載の半導体装置。
【請求項３】
前記半導体装置はさらに、前記不揮発メモリに前記製品プログラムが格納されているか否かを示すフラグを格納する不揮発記憶領域を含み、
前記プロセッサは、前記不揮発記録領域に格納されるフラグを参照して、前記不揮発メモリに前記製品プログラムが格納されているか否かを判定する、請求項１記載の半導体装置。
【請求項４】
前記プロセッサは、前記第２のインタフェースを介して前記製品プログラムを外部から前記不揮発メモリに転送した後に、前記不揮発メモリに前記製品プログラムが格納されていることを示すフラグを前記不揮発記憶領域に格納する、請求項３記載の半導体装置。
【請求項５】
不揮発メモリに格納される製品プログラムを実行する半導体装置であって、
プロセッサと、
汎用メモリと、
ブートプログラムを格納するブートメモリと、
外部からブートローダおよび前記製品プログラムを入力するインタフェースとを含み、
前記プロセッサは、前記ブートメモリに格納されるブートプログラムを実行することによって前記不揮発メモリに前記製品プログラムが格納されているか否かを判定し、前記不揮発メモリに前記製品プログラムが格納されていない場合には、前記インタフェースの初期化を行なって、前記インタフェースを介して前記ブートローダを外部から前記汎用メモリに転送し、該ブートローダを実行することによって前記インタフェースを介して前記製品プログラムを外部から前記不揮発メモリに転送する、半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムを実行して動作するマイクロコンピュータ（以下、マイコンと呼ぶ。）を搭載した半導体装置に関し、特に、デジタルテレビ受信装置などのシステム動作を実現するための製品プログラムを不揮発性メモリに書き込む半導体装置に関する。
【背景技術】
【０００２】
近年、デジタルテレビ受信装置などのシステムにおいて、マイコンに製品プログラムを実行させることによりシステム動作を行なわせることが多くなってきている。このようなシステム開発においては、フラッシュメモリに製品プログラムを格納しておき、マイコンがそれを実行するのが一般的である。フラッシュメモリへの製品プログラムの書き込みは、フラッシュライタによって行なわれ、製品プログラムが書き込まれた後のフラッシュメモリがセット基板に実装されるのが一般的である。
【０００３】
また、セット基板にホワイトＲＯＭ（未書き込みのフラッシュメモリ）を実装した後、専用コネクタや専用ライタなどを用いて書き込むこともある。これに関連する技術として、下記の特許文献１〜３に開示された発明がある。
【０００４】
特許文献１は、ブランク品の不揮発性メモリであっても、特別な書込み装置を必要とせず、既に認証情報等が書き込まれている不揮発性メモリと同様にデータの書換えを行うことができる電子制御装置を提供することを目的とする。ＥＣＵは、メモリライタがフラッシュＲＯＭの書換えを開始する場合、フラッシュＲＯＭがブランク品か判定し、非ブランク品であればフラッシュＲＯＭに記憶されている通信識別子及び認証情報を読み出して、メモリライタより送信された通信識別子等と照合した結果に応じて書換えを許可する。また、ＥＣＵは、ブランク品であれば予めマスクＲＯＭに記憶している仮通信識別子等を読み出し、メモリライタより送信されたものと夫々照合して、両者が一致すれば書換え処理への移行を許可する。
【０００５】
特許文献２は、遊技機制御プログラムを改竄するといった不正行為そのものを防止するとともに、不正な遊技機制御プログラムが格納されるといった問題を未然に防止することができる遊技機用制御装置を提供することを目的とする。遊技機用コントロールチップのＣＰＵは、マスタＲＯＭに格納されているアプリケーションプログラムの識別コードを算出する。ＣＰＵは、この算出した識別コードとマスタＲＯＭに格納されている識別コードが一致し、かつ、ユーザＲＯＭが未書き込みの状態であると判断した場合にのみ、かかるアプリケーションプログラムをユーザＲＯＭに書き込む。
【０００６】
特許文献３は、不揮発性メモリ内蔵マイクロコンピュータにおいて、新たなプログラムを不揮発性メモリに追加的に格納した場合において、この追加プログラムを実行できるようにすることを目的とする。１チップマイコンのメモリ空間に配置された少なくとも１つの書き換え可能なフラッシュメモリと、１チップマイコンの立上げ用の初期プログラム、およびこの初期プログラムをフラッシュメモリに転送するための転送プログラムを格納するブートＲＯＭと、フラッシュメモリに何もプログラムが格納されていないときに、初期プログラムを転送プログラムに基づいてフラッシュメモリに転送し、その後、ブートＲＯＭを１チップマイコンのメモリ空間から排除する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−０７９１６８号公報
【特許文献２】特開２００４−１２９９５５号公報
【特許文献３】特開２０００−２９３３６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述のように、フラッシュライタを用いてフラッシュメモリに製品プログラムを書き込む場合、フラッシュライタを多数準備しなければならないといった問題点があった。また、フラッシュメモリを基板に実装する前に製品プログラムを完成させる必要があるため、製品プログラムの開発期間が短くなってしまうといった問題点があった。
【０００９】
また、フラッシュメモリなどの不揮発性メモリに製品プログラムを書き込むプログラムを基板上のＲＯＭに持たせた場合、そのＲＯＭの容量が大きくなってしまうといった問題点もあった。このような問題点は、上述の特許文献１〜３を用いたとしても解決することはできない。
【００１０】
本発明は、上記問題点を解決するためになされたものであり、その目的は、ブートＲＯＭの容量を増やすことなく、製品プログラムを外部メモリからフラッシュメモリに書き込むことが可能な半導体装置を提供することである。
【課題を解決するための手段】
【００１１】
本発明の一実施例によれば、フラッシュメモリに格納される製品プログラムを実行する半導体装置が提供される。半導体装置は、ＣＰＵと、ＳＲＡＭと、ブートプログラムを格納するブートＲＯＭと、ホストコンピュータからブートローダを入力するシリアルＩ／Ｆと、ＵＳＢメモリから製品プログラムを入力するＵＳＢ  Ｉ／Ｆとを含む。ＣＰＵは、ブートＲＯＭに格納されるブートプログラムを実行することによってフラッシュメモリに製品プログラムが格納されているか否かを判定する。フラッシュメモリに製品プログラムが格納されていない場合には、シリアルＩ／Ｆを介してブートローダをホストコンピュータからＳＲＡＭに転送し、ブートローダを実行することによってＵＳＢ  Ｉ／Ｆの初期化を行なって、ＵＳＢ  Ｉ／Ｆを介して製品プログラムをＵＳＢメモリからフラッシュメモリに転送する。
【発明の効果】
【００１２】
本発明の一実施例によれば、フラッシュメモリに製品プログラムが格納されていない場合には、ＣＰＵが、シリアルＩ／Ｆを介してブートローダをホストコンピュータからＳＲＡＭに転送し、ブートローダを実行することによってＵＳＢ  Ｉ／Ｆの初期化を行なうので、ブートＲＯＭの容量を増やすことなく、製品プログラムをＵＳＢメモリからフラッシュメモリに書き込むことが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施の形態における半導体装置を含んだデータ処理装置の構成例を示す図である。
【図２】本発明の第１の実施の形態におけるシステムＬＳＩ１１の動作を説明するためのフローチャートである。
【図３】本発明の第２の実施の形態における半導体装置を含んだデータ処理装置の構成例を示す図である。
【図４】本発明の第２の実施の形態におけるシステムＬＳＩ１１の動作を説明するためのフローチャートである。
【図５】本発明の第３の実施の形態における半導体装置を含んだデータ処理装置の構成例を示す図である。
【図６】本発明の第３の実施の形態におけるシステムＬＳＩ１１の動作を説明するためのフローチャートである。
【図７】本発明の第４の実施の形態における半導体装置を含んだデータ処理装置の構成例を示す図である。
【図８】本発明の第４の実施の形態におけるシステムＬＳＩ１１の動作を説明するためのフローチャートである。
【図９】本発明の第５の実施の形態における半導体装置を含んだデータ処理装置の構成例を示す図である。
【図１０】本発明の第５の実施の形態におけるシステムＬＳＩ１１の動作を説明するためのフローチャートである。
【発明を実施するための形態】
【００１４】
（第１の実施の形態）
図１は、本発明の第１の実施の形態における半導体装置を含んだデータ処理装置の構成例を示す図である。データ処理装置１は、ＵＳＢ（Universal Serial Bus）を介してＵＳＢメモリ３と接続され、シリアルＩ／Ｆ（Interface）を介してホストコンピュータ２と接続される。
【００１５】
データ処理装置１は、最終製品に搭載される製品セット基板などに対応しており、たとえばデジタルテレビに搭載される製品セット基板である。このデータ処理装置１は、半導体装置（以下、システムＬＳＩ（Large Scale Integrated circuit）とも呼ぶ。）１１と、フラッシュメモリ１２と、ＤＲＡＭ（Dynamic Random Access Memory）１３と、ＵＳＢコネクタ１４と、シリアルＩ／Ｆコネクタ１５とを含む。
【００１６】
データ処理装置１には、マルチメディア対応のためのＵＳＢコネクタ１４と、外部機器との通信・ソフトウェアデバッグのためのＲＳ−２３２ＣなどのシリアルＩ／Ｆコネクタ１５とが実装されている。
【００１７】
また、システムＬＳＩ１１は、ＣＰＵ２１と、ＳＲＡＭ（Static Random Access Memory）２２と、ブートＲＯＭ２３と、フラッシュメモリＩ／Ｆ２４と、ＵＳＢ  Ｉ／Ｆ２５と、シリアルＩ／Ｆ２６と、ＤＲＡＭ  Ｉ／Ｆ２７とを含む。
【００１８】
ＣＰＵ２１は、データ処理装置１の電源が投入されてシステムＬＳＩ１１のリセットが解除されると、ブートＲＯＭ２３に格納されるブートプログラムを実行する。そして、ＣＰＵ２１は、フラッシュメモリ１２に製品プログラムが格納されている場合、その製品プログラムをＤＲＡＭ１３またはＳＲＡＭ２２に転送して実行することにより、最終製品としての動作を実現する。
【００１９】
また、ＣＰＵ２１は、フラッシュメモリ１２に製品プログラムが格納されていない場合、シリアルＩ／Ｆ２６およびシリアルＩ／Ｆコネクタ１５を介して、ホストコンピュータ２からブートローダ５を読み込んでＳＲＡＭ２２に転送する。このブートローダ５の転送は、ＳＲＡＭ２２の特定アドレスへのデータ転送機能を有するシリアルＩ／Ｆハードウェアによって行なうようにしてもよい。
【００２０】
ＳＲＡＭ２２に転送されるブートローダ５は、ＵＳＢ  Ｉ／Ｆ２５の初期化プログラムおよびフラッシュメモリ１２の書き換えプログラムを含んでいる。ＣＰＵ２１がこのブートローダ５を実行することにより、ＵＳＢコネクタ１４およびＵＳＢ  Ｉ／Ｆ２５を介してＵＳＢメモリ３に格納される製品プログラム４を読み込み、フラッシュメモリ１２に転送する。
【００２１】
図２は、本発明の第１の実施の形態におけるシステムＬＳＩ１１の動作を説明するためのフローチャートである。以下、図１に示すデータ処理装置１の構成図を適宜参照しながら、本実施の形態におけるデータ処理装置１の動作を説明する。
【００２２】
まず、データ処理装置１の電源が投入されてシステムＬＳＩ１１のリセットが解除されると、ＣＰＵ２１は、ブートＲＯＭ２３に格納されるブートプログラムを実行することにより起動する（Ｓ１１、図１の（１））。
【００２３】
次に、ＣＰＵ２１は、フラッシュメモリ１２の特定番地に特定キーワードが書き込まれているか否かを確認することにより、フラッシュメモリ１２に製品プログラムが格納されているか否かを判断する（Ｓ１２）。特定キーワードが書き込まれていれば（Ｓ１２，Ｎｏ）、フラッシュメモリ１２に格納されている製品プログラムを実行して（Ｓ１８）、処理を終了する。
【００２４】
また、特定キーワードが書き込まれていなければ（Ｓ１２，Ｙｅｓ）、ＣＰＵ２１は、シリアルＩ／Ｆ２６を初期化し、シリアル通信可能な状態としてフラッシュメモリ書き換えモードへ移行する（Ｓ１３）。なお、特定キーワードは、たとえば製品プログラムの一部としてフラッシュメモリ１２に格納される。
【００２５】
システムＬＳＩ１１が通信可能な状態になったことを検出すると、ＣＰＵ２１は、シリアルＩ／Ｆ２６およびシリアルＩ／Ｆコネクタ１５を介してホストコンピュータ２からブートローダを読み込み、ＳＲＡＭ２２に転送する（Ｓ１４、図１の（２））。
【００２６】
次に、ＣＰＵ２１は、ＳＲＡＭ２２に転送されたブートローダ５を実行し、ＵＳＢ  Ｉ／Ｆ２５を初期化する（Ｓ１５、図１の（３））。そして、ＣＰＵ２１は、ＵＳＢ  Ｉ／Ｆ２５およびＵＳＢコネクタ１４を介してＵＳＢメモリ３から製品プログラム４を読み込み、ＤＲＡＭ１３上に展開する（Ｓ１６、図１の（４））。
【００２７】
そして、ＣＰＵ２１は、フラッシュ書き換えプログラムを実行することによりＤＲＡＭ１３に格納される製品プログラムをフラッシュメモリ１２に書き込み（Ｓ１７、図１の（５）、処理を終了する。
【００２８】
以上説明したように、本実施の形態における半導体装置によれば、ブートローダ５をシステムＬＳＩ１１の外部からロードするようにしたので、システムＬＳＩ１１内部のブートＲＯＭ２３の容量を増やすことなく、製品プログラムを外部メモリからフラッシュメモリ１２に書き込むことが可能となった。
【００２９】
また、未書き込みのフラッシュメモリ１２をセット基板に実装した後、システムＬＳＩ１１の制御により製品プログラムをフラッシュメモリ１２に書き込むようにしたので、専用のフラッシュライタなどの治具が不要となった。
【００３０】
また、未書き込みのフラッシュメモリ１２をセット基板に実装した後、製品プログラムを書き込むようにしたので、セット量産の寸前まで製品プログラムの変更ができ、製品プログラムの開発期間を延ばすことが可能となった。
【００３１】
（第２の実施の形態）
図３は、本発明の第２の実施の形態における半導体装置を含んだデータ処理装置の構成例を示す図である。図１に示す第１の実施の形態におけるデータ処理装置１と比較して、ＵＳＢメモリ３、ＵＳＢコネクタ１４およびＵＳＢ  Ｉ／Ｆ２５が削除されている点と、製品プログラム４がホストコンピュータ２に格納されている点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、フラッシュメモリＩ／Ｆ２４と、ＤＲＡＭ  Ｉ／Ｆ２７の記載は省略している。
【００３２】
図４は、本発明の第２の実施の形態におけるシステムＬＳＩ１１の動作を説明するためのフローチャートである。以下、図３に示すデータ処理装置１の構成図を適宜参照しながら、本実施の形態におけるデータ処理装置１の動作を説明する。
【００３３】
まず、データ処理装置１の電源が投入されてシステムＬＳＩ１１のリセットが解除されると、ＣＰＵ２１は、ブートＲＯＭ２３に格納されるブートプログラムを実行することにより起動する（Ｓ２１、図３の（１））。
【００３４】
次に、ＣＰＵ２１は、フラッシュメモリ１２の特定番地に特定キーワードが書き込まれているか否かを確認することにより、フラッシュメモリ１２に製品プログラムが格納されているか否かを判断する（Ｓ２２）。特定キーワードが書き込まれていれば（Ｓ２２，Ｎｏ）、フラッシュメモリ１２に格納されている製品プログラムを実行して（Ｓ２８）、処理を終了する。
【００３５】
また、特定キーワードが書き込まれていなければ（Ｓ２２，Ｙｅｓ）、ＣＰＵ２１は、シリアルＩ／Ｆ２６を初期化し、シリアル通信可能な状態としてフラッシュメモリ書き換えモードへ移行する（Ｓ２３）。
【００３６】
システムＬＳＩ１１が通信可能な状態になったことを検出すると、ＣＰＵ２１は、シリアルＩ／Ｆ２６およびシリアルＩ／Ｆコネクタ１５を介してホストコンピュータ２からブートローダ５を読み込み、ＳＲＡＭ２２に転送する（Ｓ２４、図３の（２））。
【００３７】
次に、ＣＰＵ２１は、ＳＲＡＭ２２に転送されたブートローダ５を実行し（Ｓ２５、図５の（３））、シリアルＩ／Ｆ２６およびシリアルＩ／Ｆコネクタ１５を介してホストコンピュータ２から製品プログラム４を読み込み、ＤＲＡＭ１３上に展開する（Ｓ２６、図３の（４））。
【００３８】
そして、ＣＰＵ２１は、フラッシュ書き換えプログラムを実行することによりＤＲＡＭ１３に格納される製品プログラムをフラッシュメモリ１２に書き込み（Ｓ２７、図３の（５））、処理を終了する。
【００３９】
以上説明したように、本実施の形態における半導体装置によれば、製品プログラムをホストコンピュータ２からフラッシュメモリ１２に転送するようにしたので、第１の実施の形態において説明した効果に加えて、ＵＳＢコネクタを実装していない製品にも適用することが可能となった。
【００４０】
また、ＵＳＢ  Ｉ／Ｆを初期化するプログラムが不要となるため、ホストコンピュータ２からアップロードするブートローダ５の構成を大幅に簡略化することができ、その容量を削減することが可能となった。
【００４１】
（第３の実施の形態）
図５は、本発明の第３の実施の形態における半導体装置を含んだデータ処理装置の構成例を示す図である。図１に示す第１の実施の形態におけるデータ処理装置１と比較して、シリアルＩ／Ｆコネクタ１５およびシリアルＩ／Ｆ２６が削除されている点と、ブートローダ５がＵＳＢメモリ３に格納されている点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、フラッシュメモリＩ／Ｆ２４と、ＤＲＡＭ  Ｉ／Ｆ２７の記載は省略している。
【００４２】
図６は、本発明の第３の実施の形態におけるシステムＬＳＩ１１の動作を説明するためのフローチャートである。以下、図５に示すデータ処理装置１の構成図を適宜参照しながら、本実施の形態におけるデータ処理装置１の動作を説明する。
【００４３】
まず、データ処理装置１の電源が投入されてシステムＬＳＩ１１のリセットが解除されると、ＣＰＵ２１は、ブートＲＯＭ２３に格納されるブートプログラムを実行することにより起動する（Ｓ３１、図５の（１））。
【００４４】
次に、ＣＰＵ２１は、フラッシュメモリ１２の特定番地に特定キーワードが書き込まれているか否かを確認することにより、フラッシュメモリ１２に製品プログラムが格納されているか否かを判断する（Ｓ３２）。特定キーワードが書き込まれていれば（Ｓ３２，Ｎｏ）、フラッシュメモリ１２に格納されている製品プログラムを実行して（Ｓ３８）、処理を終了する。
【００４５】
また、特定キーワードが書き込まれていなければ（Ｓ３２，Ｙｅｓ）、ＣＰＵ２１は、ＵＳＢ  Ｉ／Ｆ２５を初期化し、シリアル通信可能な状態としてフラッシュメモリ書き換えモードへ移行する（Ｓ３３）。
【００４６】
システムＬＳＩ１１が通信可能な状態になったことを検出すると、ＣＰＵ２１は、ＵＳＢ  Ｉ／Ｆ２５およびＵＳＢコネクタ１４を介してＵＳＢメモリ３からブートローダ５を読み込み、ＳＲＡＭ２２に転送する（Ｓ３４、図５の（２））。
【００４７】
次に、ＣＰＵ２１は、ＳＲＡＭ２２に転送されたブートローダを実行し（Ｓ３５、図５の（３））、ＵＳＢ  Ｉ／Ｆ２５およびＵＳＢコネクタ１４を介してＵＳＢメモリ３から製品プログラム４を読み込み、ＤＲＡＭ１３上に展開する（Ｓ３６、図５の（４））。
【００４８】
そして、ＣＰＵ２１は、フラッシュ書き換えプログラムを実行することによりＤＲＡＭ１３に格納される製品プログラムをフラッシュメモリ１２に書き込み（Ｓ３７、図５の（５））、処理を終了する。
【００４９】
以上説明したように、本実施の形態における半導体装置によれば、ブートローダ５をＵＳＢメモリ３からフラッシュメモリ１２に転送するようにしたので、第１の実施の形態において説明した効果に加えて、ホストコンピュータ２が不要となるため、書き換えシステムの構成を簡略化することが可能となった。
【００５０】
また、ＵＳＢメモリ３のみでオンボード書き換えを行なうことができるため、多数の製品のフラッシュメモリの書き換えを安価に、同時に行なうことが可能となった。
【００５１】
（第４の実施の形態）
図７は、本発明の第４の実施の形態における半導体装置を含んだデータ処理装置の構成例を示す図である。図１に示す第１の実施の形態におけるデータ処理装置１と比較して、ホストコンピュータ２、ＵＳＢメモリ３、ＵＳＢコネクタ１４、シリアルＩ／Ｆコネクタ１５、ＵＳＢ  Ｉ／Ｆ２５およびシリアルＩ／Ｆ２６が削除されている点と、ＨＤＭＩ（High-Definition Multimedia Interface）コネクタ１６およびＨＤＭＩ  Ｉ／Ｆ２８が追加され、ＨＤＭＩコネクタ１６を介してフラッシュ書き込み用ジグが接続されている点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、フラッシュメモリＩ／Ｆ２４と、ＤＲＡＭ  Ｉ／Ｆ２７の記載は省略している。
【００５２】
フラッシュ書き込み用ジグ６は、コントローラ６１と、ＨＤＭＩコネクタ６２と、製品プログラム６４が格納されるフラッシュメモリ６３とを含む。コントローラ６１は、内部に図示しないＣＰＵとメモリとを有しており、メモリに格納される制御プログラムを実行することによって、ＨＤＭＩコネクタ６２を介してフラッシュメモリ６３に格納される製品プログラム６４をシステムＬＳＩ１１に転送する。
【００５３】
図８は、本発明の第４の実施の形態におけるシステムＬＳＩ１１の動作を説明するためのフローチャートである。以下、図７に示すデータ処理装置１の構成図を適宜参照しながら、本実施の形態におけるデータ処理装置１の動作を説明する。
【００５４】
まず、データ処理装置１の電源が投入されてシステムＬＳＩ１１のリセットが解除されると、ＣＰＵ２１は、ブートＲＯＭ２３に格納されるブートプログラムを実行することにより起動する（Ｓ４１、図７の（１））。
【００５５】
次に、ＣＰＵ２１は、フラッシュメモリ１２の特定番地に特定キーワードが書き込まれているか否かを確認することにより、フラッシュメモリ１２に製品プログラムが格納されているか否かを判断する（Ｓ４２）。特定キーワードが書き込まれていれば（Ｓ４２，Ｎｏ）、フラッシュメモリ１２に格納されている製品プログラムを実行して（Ｓ４８）、処理を終了する。
【００５６】
また、特定キーワードが書き込まれていなければ（Ｓ４２，Ｙｅｓ）、ＣＰＵ２１は、ＨＤＭＩ  Ｉ／Ｆ２８を初期化し、シリアル通信可能な状態としてフラッシュメモリ書き換えモードへ移行する（Ｓ４３）。
【００５７】
システムＬＳＩ１１が通信可能な状態になったことを検出すると、ＣＰＵ２１は、ＨＤＭＩ  Ｉ／Ｆ２８およびＨＤＭＩコネクタ１６を介してフラッシュ書き込み用ジグ６からブートローダ６５を読み込み、ＳＲＡＭ２２に転送する（Ｓ４４、図７の（２））。
【００５８】
次に、ＣＰＵ２１は、ＳＲＡＭ２２に転送されたブートローダ６５を実行し（Ｓ４５、図７の（３））、ＨＤＭＩ  Ｉ／Ｆ２８およびＨＤＭＩコネクタ１６を介してフラッシュ書き込み用ジグ６から製品プログラム６４を読み込み、ＤＲＡＭ１３上に展開する（Ｓ４６、図７の（４））。
【００５９】
そして、ＣＰＵ２１は、フラッシュ書き換えプログラムを実行することによりＤＲＡＭ１３に格納される製品プログラムをフラッシュメモリ１２に書き込み（Ｓ４７、図７の（５））、処理を終了する。
【００６０】
なお、図８ではシリアルＩ／Ｆとして、ＨＤＭＩ  Ｉ／Ｆ２８のＤＤＣラインを一例として記載している。ＤＤＣラインを使用する代わりに、ＣＥＣラインや映像データ伝送用ＴＭＤＳラインを使用してもよい。
【００６１】
以上説明したように、本実施の形態における半導体装置によれば、製品プログラムをフラッシュ書き込み用ジグ６からフラッシュメモリ１２に転送するようにしたので、第１の実施の形態において説明した効果に加えて、近年テレビセットに標準的に搭載されているＨＤＭＩ端子を使用することができ、製品セットの組み立て完了後にフラッシュメモリ１２へのオンボード書き込みが可能となった。
【００６２】
（第５の実施の形態）
図９は、本発明の第５の実施の形態における半導体装置を含んだデータ処理装置の構成例を示す図である。図５に示す第３の実施の形態におけるデータ処理装置１と比較して、不揮発記憶領域２９が追加されている点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰り返さない。なお、フラッシュメモリＩ／Ｆ２４と、ＤＲＡＭ  Ｉ／Ｆ２７の記載は省略している。
【００６３】
不揮発記憶領域２９は、フラッシュメモリなどの小容量の不揮発メモリによって構成され、フラッシュメモリ１２に既に製品プログラムが書き込まれていることを示すフラッシュ書き換え動作済みフラグが書き込まれる。
【００６４】
図１０は、本発明の第５の実施の形態におけるシステムＬＳＩ１１の動作を説明するためのフローチャートである。以下、図９に示すデータ処理装置１の構成図を適宜参照しながら、本実施の形態におけるデータ処理装置１の動作を説明する。
【００６５】
まず、データ処理装置１の電源が投入されてシステムＬＳＩ１１のリセットが解除されると、ＣＰＵ２１は、ブートＲＯＭ２３に格納されるブートプログラムを実行することにより起動する（Ｓ５１、図９の（１））。
【００６６】
次に、ＣＰＵ２１は、不揮発記憶領域２９のフラッシュ書き換え動作済みフラグを確認することにより、フラッシュメモリ１２に製品プログラムが格納されているか否かを判断する（Ｓ５２）。フラグが製品プログラムの書き込み済みであることを示していれば（Ｓ５２，Ｎｏ）、フラッシュメモリ１２に格納されている製品プログラムを実行して（Ｓ５９）、処理を終了する。
【００６７】
また、フラグが製品プログラムの書き込み済みであることを示していなければ（Ｓ５２，Ｙｅｓ）、ＣＰＵ２１は、ＵＳＢ  Ｉ／Ｆ２５を初期化し、シリアル通信可能な状態としてフラッシュメモリ書き換えモードへ移行する（Ｓ５３）。
【００６８】
システムＬＳＩ１１が通信可能な状態になったことを検出すると、ＣＰＵ２１は、ＵＳＢ  Ｉ／Ｆ２５およびＵＳＢコネクタ１４を介してＵＳＢメモリ３からブートローダ５を読み込み、ＳＲＡＭ２２に転送する（Ｓ５４、図９の（２））。
【００６９】
次に、ＣＰＵ２１は、ＳＲＡＭ２２に転送されたブートローダを実行し（Ｓ５５、図９の（３））、ＵＳＢ  Ｉ／Ｆ２５およびＵＳＢコネクタ１４を介してＵＳＢメモリ３から製品プログラム４を読み込み、ＤＲＡＭ１３上に展開する（Ｓ５６、図９の（４））。
【００７０】
そして、ＣＰＵ２１は、フラッシュ書き換えプログラムを実行することによりＤＲＡＭ１３に格納される製品プログラムをフラッシュメモリ１２に書き込み（Ｓ５７、図９の（５）、不揮発記憶領域２９に、製品プログラムをフラッシュメモリ１２に書き込み済みであることを示すフラッシュ書き換え動作済みフラグをセットして（Ｓ５８、図９の（６））、処理を終了する。
【００７１】
以上の説明においては、図５に示す第３の実施の形態におけるシステムＬＳＩ１１に不揮発記憶領域２９を追加する構成としたが、図１、図３および図７に示す第１、第２および第４の実施の形態におけるシステムＬＳＩ１１に不揮発記憶領域２９を追加するようにしてもよい。
【００７２】
以上説明したように、本実施の形態における半導体装置によれば、不揮発記憶領域２９に、製品プログラムをフラッシュメモリ１２に書き込み済みであることを示すフラッシュ書き換え動作済みフラグをセットするようにしたので、第３の実施の形態において説明した効果に加えて、フラッシュメモリ１２の特定番地に特定キーワードが書き込まれているか否かを確認する必要がなくなり、通常動作とフラッシュ書き換え動作との切り替えが容易になった。
【００７３】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００７４】
１  データ処理装置、２  ホストコンピュータ、３  ＵＳＢメモリ、４，６４  製品プログラム、５，６５  ブートローダ、６  フラッシュ書き込み用ジグ、１１  システムＬＳＩ、１２，６３  フラッシュメモリ、１３  ＤＲＡＭ、１４  ＵＳＢコネクタ、１５  シリアルＩ／Ｆコネクタ、１６  ＨＤＭＩコネクタ、２１  ＣＰＵ、２２  ＳＲＡＭ、２３  ブートＲＯＭ、２４  フラッシュメモリＩ／Ｆ、２５  ＵＳＢ  Ｉ／Ｆ、２６  シリアルＩ／Ｆ、２７  ＤＲＡＭ  Ｉ／Ｆ、２８  ＨＤＭＩ  Ｉ／Ｆ、２９  不揮発記憶領域、６１  コントローラ、６２  ＨＤＭＩコネクタ。
【図１】
2012243017.tif 000003
【図２】
2012243017.tif 000004
【図３】
2012243017.tif 000005
【図４】
2012243017.tif 000006
【図５】
2012243017.tif 000007
【図６】
2012243017.tif 000008
【図７】
2012243017.tif 000009
【図８】
2012243017.tif 000010
【図９】
2012243017.tif 000011
【図１０】
2012243017.tif 000012