(57)【要約】【課題】内蔵メモリに欠陥が存在していても、そのシステムＬＳＩデバイスを救済する。【解決手段】所定のファームウエアプログラムを実行するＣＰＵと、起動時に前記ファームウエアプログラムがインストールされるメモリとを有するシステムＬＳＩにおいて、メモリ（１２）は、インストール領域と当該インストールされたファームウエアプログラムがアクセスするワーク領域とを有し、インストールされるファームウエアプログラムは、ワーク領域内の欠陥領域へのアクセスを行わない。メモリのワーク領域の特定領域へのアクセスを行わないファームウエアプログラムが、当該特定領域に対応して複数種類準備されていて、システムＬＳＩの出荷段階でワーク領域内に欠陥が検出された場合は、その欠陥を有する特定領域に対応するファームウエアプログラムが選択され、当該システムＬＳＩと共に出荷される。従って、システムＬＳＩの内蔵メモリにインストールされるファームウエアプログラムは、メモリのワーク領域へのアクセスにおいて、欠陥が含まれる領域へのアクセスを行わない。【選択図】図４
2004246699.tif 000002
【特許請求の範囲】
【請求項１】
所定のファームウエアプログラムを実行するＣＰＵと、起動時に前記ファームウエアプログラムがインストールされるメモリとを有するシステムＬＳＩにおいて、
前記メモリは、前記インストール領域と当該インストールされたファームウエアプログラムがアクセスするワーク領域とを有し、前記インストールされるファームウエアプログラムは、前記ワーク領域内の欠陥領域へのアクセスを行わないことを特徴とするシステムＬＳＩ。
【請求項２】
所定のファームウエアプログラムを実行するＣＰＵと、起動時に前記ファームウエアプログラムがインストールされるメモリとを有するシステムＬＳＩにおいて、
前記メモリは、前記インストール領域と当該インストールされたファームウエアプログラムがアクセスするワーク領域とを有し、
前記インストールされるファームウエアプログラムは、前記インストール領域内に欠陥が存在する場合に、前記ワーク領域内にインストールされることを特徴とするシステムＬＳＩ。
【請求項３】
請求項１または２において、
更に、前記ファームウエアプログラムを格納したファームウエア格納メモリを有し、
当該ファームウエア格納メモリから前記ファームウエアプログラムがダウロードされることを特徴とするシステムＬＳＩ。
【請求項４】
所定のファームウエアプログラムを実行するＣＰＵと、起動時に前記ファームウエアプログラムがインストールされるメモリとを有するシステムＬＳＩに対して、試験を行って前記メモリ内の欠陥領域を検出する工程と、
前記メモリの特定領域へのアクセスを行わず、当該特定領域に対応して生成された複数のファームウエアプログラムの中から、前記検出された欠陥領域を含む特定領域に対応するファームウエアプログラムを選択して、前記システムＬＳＩと共に出荷する工程と
を有することを特徴とするシステムＬＳＩの出荷方法。
【請求項５】
所定のファームウエアプログラムを実行するＣＰＵと、起動時に前記ファームウエアプログラムがインストールされるメモリとを有するシステムＬＳＩにおける、前記ファームウエアプログラムを生成するコンパイラプログラムにおいて、
前記ファームウエアプログラムを入力して解析する手順と、
前記メモリ内の欠陥領域へのアクセスコードを当該欠陥領域外へのアクセスコードに変換してオブジェクトコードに変換する手順と
をコンピュータに実行させることを特徴とするコンパイラプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリ領域内の不良を救済したシステムＬＳＩ、そのシステムＬＳＩに搭載するファームウエアのコンパイラプログラム、及びシステムＬＳＩを出荷する出荷方法に関する。
【０００２】
【従来の技術】
近年において、特定用途向けのシステムＬＳＩが普及している。たとえば、ＤＶＤレコーダ・プレーヤやＨＤレコーダ・プレーヤなどのディジタルＡＶ機器には、ＭＰＥＧデコードを専用に行うシステムＬＳＩが搭載される。また、プリンタなどには、ホストコンピュータから供給される印刷データを印刷用の画像データに展開する画像処理を行うシステムＬＳＩが搭載される。このようなシステムＬＳＩは、ＡＳＩＣと称される特定用途向けの集積回路であり、ＣＰＵ、ＲＡＭ、ＲＯＭ、特定の機能を有するマクロなどが単一のチップに埋め込まれる。このようなシステムＬＳＩは、システム・オン・チップ（ＳＯＣ）と称される。
【０００３】
また、このようなシステムＬＳＩは、外付けの大容量メモリ、例えばＤＲＡＭ、と共に共通のパッケージに格納される。このようなデバイスは、システム・イン・パッケージ（ＳＩＰ）と称される。これらのＳＯＣやＳＩＰは、高機能、高集積度であり、一般的に高価なものになっている。
【０００４】
一方、メモリ装置内に不良セルが含まれる場合に、その不良セルを含む単位メモリ領域を除いてアクセス可能にしたメモリ装置が提案されている（特許文献１）。
【０００５】
【特許文献１】
特開平１１−２５００４号公報
【０００６】
【発明が解決しようとする課題】
上記ＳＯＣやＳＩＰなどのシステムＬＳＩは、内蔵されるメモリまたは外付けメモリに欠陥が存在する場合、当該ＳＯＣまたはＳＩＰ全体が欠陥となり、歩留まりの低下になる。このような高価なデバイスの歩留まり低下はできるだけ避けることが望まれる。
【０００７】
そこで、本発明の目的は、ＳＯＣやＳＩＰなどのシステムＬＳＩにおいて、内蔵するメモリに欠陥が存在していても救済できる新規なシステムＬＳＩを提供することにある。
【０００８】
また、本発明の別の目的は、ＳＯＣやＳＩＰなどのシステムＬＳＩにおいて、内蔵するメモリに欠陥が存在していても、そのシステムＬＳＩを救済することができる生産方法を提供することにある。
【０００９】
更に、本発明の別の目的は、ＳＯＣやＳＩＰなどのシステムＬＳＩにおいて、内蔵するメモリに欠陥が存在していても、そのシステムＬＳＩを救済することができるコンパイラプログラムを提供することにある。
【００１０】
【課題を解決するための手段】
上記の目的を達成するために、本発明の第１の側面は、所定のファームウエアプログラムを実行するＣＰＵと、起動時に前記ファームウエアプログラムがインストールされるメモリとを有するシステムＬＳＩにおいて、前記メモリは、前記インストール領域と当該インストールされたファームウエアプログラムがアクセスするワーク領域とを有し、前記インストールされるファームウエアプログラムは、前記ワーク領域内の欠陥領域へのアクセスを行わないことを特徴とする。
【００１１】
上記発明の第１の側面によれば、メモリのワーク領域の特定領域へのアクセスを行わないファームウエアプログラムが、当該特定領域に対応して複数種類準備されていて、システムＬＳＩの出荷段階でワーク領域内に欠陥が検出された場合は、その欠陥を有する特定領域に対応するファームウエアプログラムが選択され、当該システムＬＳＩと共に出荷される。従って、システムＬＳＩの内蔵メモリにインストールされるファームウエアプログラムは、メモリのワーク領域へのアクセスにおいて、欠陥が含まれる領域へのアクセスを行わない。
【００１２】
上記発明の第１の側面において、ファームウエアプログラムがインストールされるメモリは、ＣＰＵと共通のチップ内に内蔵される場合と、ＣＰＵを有するチップと共通のパッケージ内に内蔵される場合のいずれであってもよい。
【００１３】
更に、上記発明の第１の側面において、好ましい実施例では、選択されたファームウエアプログラムが、内蔵されるファームウエア用メモリに格納されて出荷される。従って、起動時においてこのファームウエア用メモリからファームウエアプログラムが内蔵メモリにダウンロードされ格納される。
【００１４】
上記の目的を達成するために、本発明の第２の側面は、所定のファームウエアプログラムを実行するＣＰＵと、起動時に前記ファームウエアプログラムがインストールされるメモリとを有するシステムＬＳＩにおいて、前記メモリは、前記インストール領域と当該インストールされたファームウエアプログラムがアクセスするワーク領域とを有し、前記インストールされるファームウエアプログラムは、前記インストール領域内に欠陥が存在する場合に、前記ワーク領域内にインストールされることを特徴とする。
【００１５】
上記の目的を達成するために、本発明の第３の側面は、所定のファームウエアプログラムを実行するＣＰＵと、起動時に前記ファームウエアプログラムがインストールされるメモリとを有するシステムＬＳＩに対して、試験を行って前記メモリ内の欠陥領域を検出する工程と、前記メモリの特定領域へのアクセスを行わず、当該特定領域に対応して生成された複数のファームウエアプログラムの中から、前記検出された欠陥領域を含む特定領域に対応するファームウエアプログラムを選択して、前記システムＬＳＩと共に出荷する工程とを有することを特徴とする。
【００１６】
上記の目的を達成するために、本発明の第４の側面は、所定のファームウエアプログラムを実行するＣＰＵと、起動時に前記ファームウエアプログラムがインストールされるメモリとを有するシステムＬＳＩにおける、前記ファームウエアプログラムを生成するコンパイラプログラムにおいて、前記ファームウエアプログラムを入力して解析する手順と、前記メモリ内の欠陥領域へのアクセスコードを当該欠陥領域外へのアクセスコードに変換してオブジェクトコードに変換する手順とをコンピュータに実行させることを特徴とする。
【００１７】
上記発明の第４の側面のコンパイラプログラムを利用することにより、出荷試験においてメモリ内に欠陥が見つかったシステムＬＳＩに対してもインストール可能なファームウエアプログラムを、自動的に生成することができ、システムＬＳＩの歩留まり向上に寄与することができる。
【００１８】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、本発明の保護範囲は、以下の実施の形態例に限定されるものではなく、特許請求の範囲に記載された発明とその均等物にまで及ぶものである。
【００１９】
図１は、本実施の形態におけるシステムＬＳＩの一例を示す図である。このシステムＬＳＩは、デジタルＡＶ機器などに搭載されるＭＰＥＧエンコーダである。システムＬＳＩ１０は、ＣＰＵと、ＣＰＵが実行するファームウエアプログラムがインストールされる内蔵メモリ１２と、メモリコントローラ１４と、起動時に外部からファームウエアプログラムをインストールするなどの起動プログラムが格納されるブートＲＯＭとが、内蔵バス１１を介して接続される。また、このシステムＬＳＩ１０は、ビデオ信号ＩＮ１を入力してＭＰＥＧ形式にエンコードするビデオエンコード部１６と、オーディオ信号ＩＮ２を入力してエンコードするオーディオエンコード部１８と、両エンコードされたエンコード信号を多重化する多重化処理部２０と、外部のＰＣＩバスＣＩ−ＢＵＳとのインターフェースを行うＰＣＩインターフェース部２２とを有する。多重化処理されたＭＰＥＧエンコード信号は、このインターフェーズ部２２から外部のバスに出力される。
【００２０】
システムＬＳＩは、ＰＣＩバスＰＣＩ−ＢＵＳを介してホストコンピュータ２４と接続される。また、ホストコンピュータ２４には、システムＬＳＩ１０がインストールするファームウエアプログラムを有するＭＰＥＧドライバプログラム２６が格納されている。そして、電源起動時に、このＭＰＥＧドライバプログラム２６が有するファームウエアプログラムが、起動プログラムの実行に応答して、システムＬＳＩ１０の内蔵メモリ１２にインストールされる。図１の例では、内蔵メモリ１２は、同期型のＤＲＡＭ（ＳＤＲＡＭ）である。
【００２１】
このシステムＬＳＩは、電源投入時において、内蔵されるブートＲＯＭ内の起動プログラムがＣＰＵにより実行され、それに伴って、ドライバ１６が有するファームウエアプログラムが、内蔵メモリ１２内にダウンロードされる。このダウンロードによりインストールされたファームウエアプログラムが、その後ＣＰＵにより逐一実行され、ビデオエンコード部１６やオーディオエンコード部１８，そして多重化処理部２０などの処理が制御される。
【００２２】
図２は、図１のシステムＬＳＩのアドレス空間の一例を示す図表である。システムＬＳＩに内蔵されるブートＲＯＭ、ＳＤＲＡＭ１２、ＳＤＲＡＭインターフェースコントローラ１４、ビデオエンコード部１６、多重化処理部２０、オーディオエンコード部１８に対して、それぞれ図表に示されるアドレス空間とサイズが割り当てられている。内蔵メモリであるＳＤＲＡＭには、アドレス０ｘ８００００００〜０ｘ８７ＦＦＦＦＦの空間が割り当てられていて、そのアドレス空間のうち、アドレス０ｘ８００００００〜０ｘ８０２ＣＦＦＦがファームウエアプログラムがインストールされる領域Ａに、アドレス０ｘ８０２Ｄ０００〜０ｘ８７ＦＦＦＦＦがファームウエアプログラムがアクセスするワーク領域の領域Ｂにそれぞれ割り当てられている。
【００２３】
図３は、メモリ１２の構成を示す図である。図３（１）はメモリ内に欠陥が存在しない場合、図３（２）はメモリの領域Ｂの特定の領域Ｂ２に欠陥が存在する場合をそれぞれ示す。メモリ１２は、インストール領域Ａとワーク領域Ｂとを有し、インストール領域Ａの容量は、ワーク領域Ｂの容量に比較するとごく僅かである。そこで、ワーク領域Ｂを４つの領域Ｂ１〜Ｂ４に分割し、欠陥領域を含む分割領域Ｂ１〜Ｂ４を検出し、その検出された領域にアクセスしないファームウエアプログラムが選択されて、システムＬＳＩに添付または格納されて出荷される。
【００２４】
図４は、本実施の形態におけるファームウエアプログラムの一例を示す図である。図４（１）は、メモリ１２のワークメモリ領域Ｂ内に欠陥がない場合、図４（２）は、メモリ１２のワークメモリ領域Ｂ内の領域Ｂ２に欠陥がある場合をそれぞれ示す。ワーク領域Ｂは、前述の通り４つに等分割されている。そして、システムＬＳＩの後述する出荷試験において、ワーク領域Ｂ内に欠陥が存在するか否かのチェックが行われる。この例では、インストール領域Ａ内には欠陥が存在しないことが前提である。
【００２５】
メモリ１２内に欠陥が存在しない場合は、欠陥がない場合のファームウエアプログラムＦ０がインストール領域Ａにインストールされる。このファームウエアプログラムＦ０は、図中に示されるように、例えば、領域Ｂ１内のアドレスａ１の値とアドレスａ２の値とを加算する加算演算コードＡＤＤと、領域Ｂ２内のアドレスａ３の値と領域Ｂ３内のアドレスａ４の値とを乗算する乗算演算コードＭＵＸと、インストール領域Ａ内のアドレスｘ１にジャンプするジャンプ命令コードＪＭＰとを有する。
【００２６】
メモリ１２のワーク領域Ｂ内に欠陥が検出された場合は、その欠陥を含む領域へのアクセスを行わないファームウエアプログラムがインストールされる。図４（２）の例では、領域Ｂ２内に欠陥が検出されたため、領域Ｂ２以外の領域Ｂ１，Ｂ３，Ｂ４にアクセスするファームウエアプログラムＦ２がインストールされる。このファームウエアプログラムＦ２は、図中に示されるように、前述のプログラムＦ０の乗算演算コードＭＵＸが、領域Ｂ３内のアドレスａ３＋ｄの値と領域Ｂ４内のアドレスａ４＋ｄの値とを乗算するコードに変更されている。ここで、アドレス幅ｄは、欠陥が検出された領域Ｂ２のアドレス幅に対応する。
【００２７】
つまり、欠陥が存在しない場合にインストールされるファームウエアプログラムＦ０のアクセス先アドレスが、欠陥が検出された領域Ｂ２のアドレス以上の場合は、そのアクセス先アドレスを領域Ｂ２のアドレス幅ｄだけずらすことで、その領域Ｂ２へのアクセスを行わないファームウエアプログラムＦ２に変換することができる。このような変換は、後述するコンパイラプログラムにより実現される。
【００２８】
図５は、本実施の形態におけるファームウエアプログラムの別の例を示す図である。このファームウエアプログラムＦＡは、メモリ１２のインストール領域Ａ内に欠陥が検出された場合のプログラムである。ファームウエアプログラムは、ブートＲＯＭ内の起動プログラムの実行により、画一的にメモリ１２のインストール領域Ａの先頭番地以降のアドレス領域にインストールされなければならない。そこで、インストール領域Ａの先頭番地を含むごく小容量の領域Ａ１は欠陥が存在しないことを前提とする。そして、起動プログラムの実行によりこの小容量領域Ａ１には、ファームウエアＦＡの初期化用ファームウエアＦＡ−ｉがインストールされる。このインストールは、図１に示したドライバ２６が、起動プログラムのインストール命令に応答して、通常のファームウエアではなく、初期化用ファームウエアＦＡ−ｉを返信することにより可能である。
【００２９】
この初期化用ファームウエアＦＡ−ｉには、ファームウエアプログラムＦＡを領域Ｂ１の先頭アドレスｄＡ＋１以降にインストールする命令コードＩＮＳＴと、その先頭アドレスｄＡ＋１にジャンプする命令コードＪＭＰとを少なくとも有する。そして、ブートＲＯＭ内の起動プログラムによりインストールされた初期化用ファームウエアＦＡ−ｉが実行される時に、初回に限りインストール命令ＩＮＳＴが実行され、ドライバ２６からファームウエアプログラムＦＡが領域Ｂ１にインストールされる。初回以降は、初期化用ファームウエアＦＡ−ｉのジャンプ命令ＪＭＰにより、領域Ｂ１にインストールされたファームウエアプログラムＦＡが実行される。
【００３０】
このファームウエアプログラムＦＡは、図４（１）のファームウエアプログラムＦ０のアクセス先アドレスａ１，ａ２，ａ３，ａ４が、それぞれａ１＋ｄ，Ａ２＋ｄ，Ａ３＋ｄ，Ａ４＋ｄに変換され、更に、ジャンプ先プログラムアドレスｘ１がｘ１＋Ａｄに変換されている。ここで、ｄは領域Ｂ１のアドレス幅であり、ｄＡは領域Ａのアドレス幅である。つまり、欠陥が存在する領域Ａのアドレス幅ｄＡだけプログラムアドレスｘ１がシフトされ、ファームウエアプログラムＦＡがインストールされた領域Ｂ１のアドレス幅ｄだけアクセス先アドレスａ１〜ａ４がシフトされている。
【００３１】
図６は、本実施の形態におけるシステムＬＳＩの出荷プロセスを示すフローチャート図である。チップ製造工程Ｓ１でシステムＬＳＩが製造され、出荷時に試験・選別工程Ｓ２にて、その内蔵メモリの動作試験が行われる。この試験により、内蔵メモリ１２のどの領域に欠陥が存在するか否かが検出され、欠陥がないチップと欠陥があるチップとに選別され、更に、欠陥があるチップは、欠陥が含まれる領域Ｂ１〜Ｂ４、領域Ａに対応して選別される。
【００３２】
一方、システムＬＳＩにインストール予定のファームウエアプログラムがプログラミング工程Ｓ３にて生成され、そのソースコードであるファームウエアプログラムＦＷが、コンパイル工程Ｓ４にて、オブジェクトコードに変換される。このコンパイル工程Ｓ４では、欠陥の有無及び欠陥が存在する領域に対応して、６種類のファームウエアプログラムＦ０、Ｆ１〜Ｆ４、ＦＡのオブジェクトコードに変換される。変換されたプログラムは、データベースに登録される（Ｓ５）。
【００３３】
そして、試験・選別工程Ｓ２にて選別されたそれぞれのシステムＬＳＩは、対応するファームウエアプログラムのオブジェクトコードと対応つけられ（Ｓ６）、その対応つけられたファームウエアプログラムと共に出荷される（Ｓ７）。従って、このシステムＬＳＩを購入したユーザは、添付されているファームウエアプログラムをドライバ２６に格納して、ホストコンピュータ２４にインストールする。その結果、システムＬＳＩが起動するときに、その対応するファームウエアプログラムが内蔵メモリ１２にダウンロードされ格納される。
【００３４】
図７は、本実施の形態におけるコンパイラプログラムの手順を示すフローチャート図である。このコンパイラプログラムは、図６におけるコンパイル工程Ｓ４にて、図示しないコンピュータにより実行され、ファームウエアプログラムのソースコードをオブジェクトコードに変換する。
【００３５】
コンパイラプログラムは、まず、コンパイル対象のプログラムを入力し（Ｓ１０）、更に、欠陥情報を入力する（Ｓ１２）。この欠陥情報は、前述の例では、システムＬＳＩのメモリ１２内に欠陥なし、領域Ｂ１〜Ｂ４に欠陥あり、領域Ａに欠陥ありの、６種類である。次に、コンパイラプログラムは、入力したコンパイル対象プログラムの構文解析を行い（Ｓ１４）、欠陥情報が欠陥ありか否かにより（Ｓ１６）、欠陥なしの場合は、単純にオブジェクトコードに変換する（Ｓ２０）。また、欠陥ありの場合は、その欠陥を含む領域を使用しないようにアドレスを変換して、オブジェクトコードに変換される（Ｓ２１）。アドレスの変換例は、図４、図５で示した通りである。
【００３６】
上記のコンパイル処理を、全ての種類の欠陥情報に対応して実行することにより、６種類のファームウエアプログラムのオブジェクトコードが生成される。この生成された６種類のオブジェクトコードは、前述のとおりデータベースに登録される。
【００３７】
図８は、第２の実施の形態におけるシステムＬＳＩの一例を示す図である。この例では、システムＬＳＩ１０は、内蔵メモリ１２にインストールされるファームウエアプログラムを格納した不揮発性メモリ２８を有する。この不揮発性メモリ２８は、ファームウエアプログラムを書き込むことができ、電源が切断されてもそれを保持することができるメモリであり、例えば、フラッシュメモリが利用される。それ以外の構成は、図１のシステムＬＳＩと同じである。それに伴って、ホストコンピュータ２４からは、ファームウエアプログラムが供給されることはない。
【００３８】
このシステムＬＳＩでは、電源起動時において、ＣＰＵがブートＲＯＭ内の起動プログラムを実行して、不揮発性メモリ２８内のファームウエアプログラムを内蔵メモリ１２のインストール領域Ａにダウンロードし格納する。その後は、その格納されたファームウエアプログラムがＣＰＵにより逐一実行される。
【００３９】
図９は、図８のシステムＬＳＩのアドレス空間の一例を示す図表である。この例では、ブートＲＯＭのアドレス空間に加えて、不揮発性メモリのアドレス空間も割り当てられている。そして、ＳＤＲＡＭからなる内蔵メモリやそれ以外の回路のアドレス空間は、図２の例と同じである。
【００４０】
従って、第２の実施の形態の場合も、内蔵メモリ１２に欠陥がある場合とない場合、欠陥がある場合はどの領域にあるかに対応して、それぞれのファームウエアプログラムが内蔵メモリ１２内のインストール領域Ａにダウンロードされ格納される。そのファームウエアプログラムの例は、図４，５に示した例と同じである。但し、その選択されたファームウエアプログラムは、システムＬＳＩ内の不揮発性メモリ２８内に出荷時に格納される。
【００４１】
図１０は、第２の実施の形態におけるシステムＬＳＩの出荷プロセスを示すフローチャート図である。この出荷プロセスは、図６の出荷プロセスと異なり、試験・選別工程Ｓ２で選別されたシステムＬＳＩの不揮発性メモリ２８に、ファームウエア格納工程Ｓ８にて、データベースに登録済みの対応するファームウエアが記録される。それ以外の工程は、図６と同じである。
【００４２】
このようにして出荷されたシステムＬＳＩは、ユーザによりディジタルＡＶ機器などに搭載される。かかる機器の電源が投入された時、システムＬＳＩに内蔵された不揮発性メモリ内のファームウエアプログラムが内蔵メモリ１２にダウンロードされ、その後は、そのダウンロードされたファームウエアプログラムがＣＰＵにより実行される。
【００４３】
以上説明した実施の形態では、ファームウエアがダウンロードされ格納されるメモリ１２が、システムＬＳＩと同じチップ内に内蔵されている。しかしながら、かかるメモリ１２は、システムＬＳＩと別のチップで共通のパッケージに搭載されていても良い。
【００４４】
また、上記の実施の形態では、内蔵メモリの欠陥領域に対応したファームウエアプログラムを、システムＬＳＩに添付して、若しくはシステムＬＳＩ内のファームウエア用メモリに格納して、出荷される。本発明は、それに限定されず、全ての種類のファームウエアプログラムがシステムＬＳＩに添付して、若しくはファームウエア用メモリに格納して出荷されてもよい。その場合、そのファームウエアプログラムをインストールすべきかを識別する情報が、システムＬＳＩ内の不揮発性メモリ等に格納される。そして、ブートＲＯＭ内の起動プログラムは、その識別情報を参照して、対応するファームウエアプログラムを内蔵メモリ１２にダウンロードし格納する。
【００４５】
以上、実施の形態例をまとめると以下の付記の通りである。
【００４６】
（付記１）所定のファームウエアプログラムを実行するＣＰＵと、起動時に前記ファームウエアプログラムがインストールされるメモリとを有するシステムＬＳＩにおいて、
前記メモリは、前記インストール領域と当該インストールされたファームウエアプログラムがアクセスするワーク領域とを有し、前記インストールされるファームウエアプログラムは、前記ワーク領域内の欠陥領域へのアクセスを行わないことを特徴とするシステムＬＳＩ。
【００４７】
（付記２）所定のファームウエアプログラムを実行するＣＰＵと、起動時に前記ファームウエアプログラムがインストールされるメモリとを有するシステムＬＳＩにおいて、
前記メモリは、前記インストール領域と当該インストールされたファームウエアプログラムがアクセスするワーク領域とを有し、
前記インストールされるファームウエアプログラムは、前記インストール領域内に欠陥が存在する場合に、前記ワーク領域内にインストールされることを特徴とするシステムＬＳＩ。
【００４８】
（付記３）付記１または２において、
更に、前記ファームウエアプログラムが当該システムＬＳＩに添付され、
当該添付されたファームウエアプログラムが、前記システムＬＳＩの外部からダウンロードされることを特徴とするシステムＬＳＩ。
【００４９】
（付記４）付記１または２において、
更に、前記ファームウエアプログラムを格納したファームウエア格納メモリを有し、
当該ファームウエア格納メモリから前記ファームウエアプログラムがダウロードされることを特徴とするシステムＬＳＩ。
【００５０】
（付記５）所定のファームウエアプログラムを実行するＣＰＵと、起動時に前記ファームウエアプログラムがインストールされるメモリとを有するシステムＬＳＩに対して、試験を行って前記メモリ内の欠陥領域を検出する工程と、
前記メモリの特定領域へのアクセスを行わず、当該特定領域に対応して生成された複数のファームウエアプログラムの中から、前記検出された欠陥領域を含む特定領域に対応するファームウエアプログラムを選択して、前記システムＬＳＩと共に出荷する工程と
を有することを特徴とするシステムＬＳＩの出荷方法。
【００５１】
（付記６）付記５において、
前記出荷工程において、前記選択されたファームウエアプログラムを前記システムＬＳＩ内のファームウエア格納メモリに格納することを特徴とするシステムＬＳＩの出荷方法。
【００５２】
（付記７）所定のファームウエアプログラムを実行するＣＰＵと、起動時に前記ファームウエアプログラムがインストールされるメモリとを有するシステムＬＳＩにおける、前記ファームウエアプログラムを生成するコンパイラプログラムにおいて、
前記ファームウエアプログラムを入力して解析する手順と、
前記メモリ内の欠陥領域へのアクセスコードを当該欠陥領域外へのアクセスコードに変換してオブジェクトコードに変換する手順と
をコンピュータに実行させることを特徴とするコンパイラプログラム。
【００５３】
（付記８）付記７において、
前記メモリは、前記ファームウエアプログラムがインストールされるインストール領域と、当該ファームウエアプログラムがアクセスするワーク領域とを有し、
前記変換手順において、前記ワーク領域内の前記欠陥領域へのアクセスコードを、当該ワーク領域内の欠陥領域以外の領域へのアクセスコードに変換することを特徴とするコンパイラプログラム。
【００５４】
【発明の効果】
以上、本発明によれば、内蔵メモリに欠陥が存在していても、そのシステムＬＳＩデバイスを救済することができ、歩留まりを高めることができる。
【図面の簡単な説明】
【図１】本実施の形態におけるシステムＬＳＩの一例を示す図である。
【図２】図１のシステムＬＳＩのアドレス空間の一例を示す図表である。
【図３】メモリ１２の構成を示す図である。
【図４】本実施の形態におけるファームウエアプログラムの一例を示す図である。
【図５】本実施の形態におけるファームウエアプログラムの別の例を示す図である。
【図６】本実施の形態におけるシステムＬＳＩの出荷プロセスを示すフローチャート図である。
【図７】本実施の形態におけるコンパイラプログラムの手順を示すフローチャート図である。
【図８】第２の実施の形態におけるシステムＬＳＩの一例を示す図である。
【図９】図８のシステムＬＳＩのアドレス空間の一例を示す図表である。
【図１０】第２の実施の形態におけるシステムＬＳＩの出荷プロセスを示すフローチャート図である。
【符号の説明】
１０  システムＬＳＩ、１２  内蔵メモリ、Ｆ０〜Ｆ４，ＦＡ  ファームウエアプログラム、Ｂ１〜Ｂ４  ワーク領域
【図１】
2004246699.tif 000003
【図２】
2004246699.tif 000004
【図３】
2004246699.tif 000005
【図４】
2004246699.tif 000006
【図５】
2004246699.tif 000007
【図６】
2004246699.tif 000008
【図７】
2004246699.tif 000009
【図８】
2004246699.tif 000010
【図９】
2004246699.tif 000011
【図１０】
2004246699.tif 000012