(57)【要約】【課題】様々なタイプのシリアル型フラッシュメモリに柔軟に対応して、格納されているプログラムの転送を行うことのできる半導体集積回路およびプログラム転送方法を提供する。【解決手段】ＣＰＵ１は、ＲＯＭ３から読み出した変数受信プログラムを実行して、通信インターフェース部５を介してシリアル型フラッシュメモリ１００の仕様に関する変数データを受信し、ＲＯＭ３から読み出したシリアルフラッシュメモリリードプログラムを、受信した変数データを用いて実行し、シリアルインターフェース部４を介してシリアル型フラッシュメモリ１００に格納されているプログラムをＲＡＭ２へ転送する。【選択図】図１
2011129017.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、
ＲＡＭと、
変数受信プログラムおよびシリアルフラッシュメモリリードプログラムが格納されたＲＯＭと、
シリアル型フラッシュメモリが接続されるシリアルインターフェース手段と、
外部から送信されるデータを受信する通信インターフェース手段と
を備え、
前記ＣＰＵが、
前記ＲＯＭから読み出した前記変数受信プログラムを実行して前記通信インターフェース手段を介して前記シリアル型フラッシュメモリの仕様に関する変数データを受信し、前記ＲＯＭから読み出した前記シリアルフラッシュメモリリードプログラムを、前記変数データを用いて実行し、前記シリアルインターフェース手段を介して前記シリアル型フラッシュメモリに格納されているプログラムを前記ＲＡＭへ転送する
ことを特徴とする半導体集積回路。
【請求項２】
ＣＰＵと、
ＲＡＭと、
プログラム転送用プログラムが格納されたＲＯＭと、
シリアル型フラッシュメモリが接続されるシリアルインターフェース手段と、
外部から送信されるデータを受信する通信インターフェース手段と
を備え、
前記ＣＰＵが、
前記ＲＯＭから読み出した前記プログラム転送用プログラムを実行して前記通信インターフェース手段を介してシリアルフラッシュメモリリードプログラムを受信し、前記受信した前記シリアルフラッシュメモリリードプログラムを実行し、前記シリアルインターフェース手段を介して前記シリアル型フラッシュメモリに格納されているプログラムを前記ＲＡＭへ転送する
ことを特徴とする半導体集積回路。
【請求項３】
ＣＰＵと、
ＲＡＭと、
変数受信プログラムおよびシリアルフラッシュメモリリードプログラムが格納されたＲＯＭと、
シリアル型フラッシュメモリが接続されるシリアルインターフェース手段と、
外部から送信されるデータを受信する通信インターフェース手段と
を備える半導体集積回路へ、前記外部シリアル型フラッシュメモリに格納されているプログラムを転送するプログラム転送方法であって、
前記ＣＰＵが、
前記ＲＯＭから前記変数受信プログラムを読み出すステップと、
前記変数受信プログラムを実行して前記通信インターフェース手段を介して前記シリアル型フラッシュメモリの仕様に関する変数データを受信するステップと、
前記ＲＯＭから前記シリアルフラッシュメモリリードプログラムを読み出すステップと、前記変数データを用いて前記シリアルフラッシュメモリリードプログラムを実行し、前記シリアルインターフェース手段を介して前記シリアル型フラッシュメモリに格納されているプログラムを前記ＲＡＭへ転送するステップと
を実行することを特徴とするプログラム転送方法。
【請求項４】
ＣＰＵと、
ＲＡＭと、
プログラム転送用プログラムが格納されたＲＯＭと、
シリアル型フラッシュメモリが接続されるシリアルインターフェース手段と、
外部から送信されるデータを受信する通信インターフェース手段と
を備える半導体集積回路へ、前記シリアル型フラッシュメモリに格納されているプログラムを転送するプログラム転送方法であって、
前記ＣＰＵが、
前記ＲＯＭから前記プログラム転送用プログラムを読み出すステップと、
前記プログラム転送用プログラムを実行して前記通信インターフェース手段を介してシリアルフラッシュメモリリードプログラムを受信するステップと、
前記受信した前記シリアルフラッシュメモリリードプログラムを実行し、前記シリアルインターフェース手段を介して前記シリアル型フラッシュメモリに格納されているプログラムを前記ＲＡＭへ転送するステップと
を実行することを特徴とするプログラム転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路およびプログラム転送方法に関する。
【背景技術】
【０００２】
携帯電話、デジタルカメラ、音楽プレーヤなどの携帯機器では、ＣＰＵを搭載する半導体集積回路の外部に不揮発性メモリであるフラッシュメモリを接続し、このフラッシュメモリにアプリケーションプログラムを格納することによりさまざまな機能を実現している。
【０００３】
従来、このプログラム格納用のフラッシュメモリには、ＣＰＵとの接続にアドレスバス、データバス、及び制御信号を使用するパラレル型のフラッシュメモリが用いられてきたが、近年、車載電子機器システムの高集積化、基板サイズの小型化に伴い、ＣＰＵとの接続端子が少ないシリアル型のフラッシュメモリが用いられるようになってきた。
【０００４】
しかし、シリアル型フラッシュメモリを使用する場合、半導体集積回路に搭載された汎用のシリアルインターフェース回路に接続するだけでは、ＣＰＵはシリアル型フラッシュメモリのアドレスを認識することができず、プログラムとして実行することができない。
【０００５】
そのため、従来、半導体集積回路の内部に搭載した、シリアル型フラッシュメモリのアドレスを認識するための専用のシリアルフラッシュインターフェース回路、もしくは専用のブートプログラムを用いて、シリアル型フラッシュメモリから半導体集積回路に内蔵のＲＡＭへプログラムを転送し、この内蔵のＲＡＭをアクセスすることによりプログラムを実行する方法が用いられている（例えば、特許文献１参照。）。
【０００６】
しかし、専用のハードウェア回路、もしくは専用のブートプログラムを搭載する場合、シリアル型フラッシュメモリとの接続性に自由度がないという問題があった。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−１３４７３６号公報  （第７ページ、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００８】
そこで、本発明の目的は、様々なタイプのシリアル型フラッシュメモリに柔軟に対応して、格納されているプログラムの転送を行うことのできる半導体集積回路およびプログラム転送方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一態様によれば、ＣＰＵと、ＲＡＭと、変数受信プログラムおよびシリアルフラッシュメモリリードプログラムが格納されたＲＯＭと、シリアル型フラッシュメモリが接続されるシリアルインターフェース手段と、外部から送信されるデータを受信する通信インターフェース手段とを備え、前記ＣＰＵが、前記ＲＯＭから読み出した前記変数受信プログラムを実行して前記通信インターフェース手段を介して前記シリアル型フラッシュメモリの仕様に関する変数データを受信し、前記ＲＯＭから読み出した前記シリアルフラッシュメモリリードプログラムを、前記変数データを用いて実行し、前記シリアルインターフェース手段を介して前記シリアル型フラッシュメモリに格納されているプログラムを前記ＲＡＭへ転送することを特徴とする半導体集積回路が提供される。
【００１０】
また、本発明の別の一態様によれば、ＣＰＵと、ＲＡＭと、プログラム転送用プログラムが格納されたＲＯＭと、シリアル型フラッシュメモリが接続されるシリアルインターフェース手段と、外部から送信されるデータを受信する通信インターフェース手段とを備え、前記ＣＰＵが、前記ＲＯＭから読み出した前記プログラム転送用プログラムを実行して前記通信インターフェース手段を介してシリアルフラッシュメモリリードプログラムを受信し、前記受信した前記シリアルフラッシュメモリリードプログラムを実行し、前記シリアルインターフェース手段を介して前記シリアル型フラッシュメモリに格納されているプログラムを前記ＲＡＭへ転送することを特徴とする半導体集積回路が提供される。
【００１１】
また、本発明のさらに別の一態様によれば、ＣＰＵと、ＲＡＭと、変数受信プログラムおよびシリアルフラッシュメモリリードプログラムが格納されたＲＯＭと、シリアル型フラッシュメモリが接続されるシリアルインターフェース手段と、外部から送信されるデータを受信する通信インターフェース手段とを備える半導体集積回路へ、前記外部シリアル型フラッシュメモリに格納されているプログラムを転送するプログラム転送方法であって、前記ＣＰＵが、前記ＲＯＭから前記変数受信プログラムを読み出すステップと、前記変数受信プログラムを実行して前記通信インターフェース手段を介して前記シリアルフラッシュメモリの仕様に関する変数データを受信するステップと、前記ＲＯＭから前記シリアルフラッシュメモリリードプログラムを読み出すステップと、前記変数データを用いて前記シリアルフラッシュメモリリードプログラムを実行し、前記シリアルインターフェース手段を介して前記シリアル型フラッシュメモリに格納されているプログラムを前記ＲＡＭへ転送するステップとを実行することを特徴とするプログラム転送方法が提供される。
【００１２】
また、本発明のさらに別の一態様によれば、ＣＰＵと、ＲＡＭと、プログラム転送用プログラムが格納されたＲＯＭと、シリアル型フラッシュメモリが接続されるシリアルインターフェース手段と、外部から送信されるデータを受信する通信インターフェース手段とを備える半導体集積回路へ、前記シリアル型フラッシュメモリに格納されているプログラムを転送するプログラム転送方法であって、前記ＣＰＵが、前記ＲＯＭから前記プログラム転送用プログラムを読み出すステップと、前記プログラム転送用プログラムを実行して前記通信インターフェース手段を介してシリアルフラッシュメモリリードプログラムを受信するステップと、前記受信した前記シリアルフラッシュメモリリードプログラムを実行し、前記シリアルインターフェース手段を介して前記シリアル型フラッシュメモリに格納されているプログラムを前記ＲＡＭへ転送するステップとを実行することを特徴とするプログラム転送方法が提供される。
【発明の効果】
【００１３】
本発明によれば、様々なタイプのシリアル型フラッシュメモリに柔軟に対応して、シリアル型フラッシュメモリに格納されているプログラムの転送を行うことができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施例１に係る半導体集積回路の構成の例を示すブロック図。
【図２】実施例１の半導体集積回路における、外部のシリアル型フラッシュメモリからのプログラム転送の実行フローの例を示すフロー図。
【図３】本発明の実施例２に係る半導体集積回路の構成の例を示すブロック図。
【図４】実施例２の半導体集積回路における、外部のシリアル型フラッシュメモリからのプログラム転送の実行フローの例を示すフロー図。
【発明を実施するための形態】
【００１５】
以下、本発明の実施例について図面を参照して説明する。なお、図中、同一または相当部分には同一の符号を付して、その説明は繰り返さない。
【実施例１】
【００１６】
図１は、本発明の実施例１に係る半導体集積回路の構成の例を示すブロック図である。
【００１７】
本実施例の半導体集積回路１０は、ＣＰＵ１と、ＲＡＭ２と、変数受信プログラムおよびシリアルフラッシュメモリリードプログラムが格納されたＲＯＭ３と、シリアル型フラッシュメモリ１００が接続されるシリアルインターフェース部４と、外部から送信されるデータを受信する通信インターフェース部５と、を備える。
【００１８】
通信インターフェース部５は、例えばＵＡＲＴのような汎用の通信インターフェースであり、通信速度が遅いものの、広く普及しているために、多種多様な外部デバイスと接続することができる。
【００１９】
ＲＯＭ３は、例えばマスクＲＯＭであり、シリアル型フラッシュメモリ１００の仕様に関する変数データを受信するための変数受信プログラム、およびシリアル型フラッシュメモリ１００からデータを読み出すためのシリアルフラッシュメモリリードプログラムが格納されている。
【００２０】
ここで、シリアル型フラッシュメモリ１００の仕様に関する変数データには、メモリ容量、ブロックサイズ、ページサイズ、アクセス速度、プログラムサイズ、格納アドレス、バス幅などの情報が含まれている。
【００２１】
変数受信プログラムは、外部から通信インターフェース部５を介して変数データを受信し、その変数データをＲＡＭ２に格納する、という処理を行うプログラムである。
【００２２】
また、シリアルフラッシュメモリリードプログラムは、シリアル型フラッシュメモリの仕様に関する変数データを外部から読み込んで、その仕様のシリアル型フラッシュメモリに適したリードコマンドを発行する方式のプログラムである。
【００２３】
シリアル型フラッシュメモリ１００には、半導体集積回路１０にて実行する、アプリケーションプログラムなどのプログラムが格納されている。
【００２４】
本実施例では、シリアル型フラッシュメモリ１００に格納されているプログラムを実行する場合、そのプログラムを一旦ＲＡＭ２へ転送し、その後ＣＰＵ１がＲＡＭ２をアクセスすることによりそのプログラムを実行する。
【００２５】
そこで、本実施例におけるプログラムの転送処理について、図２のフロー図を用いて説明する。
【００２６】
図２は、シリアル型フラッシュメモリ１００からプログラムを転送するときに、本実施例のＣＰＵ１が実行する処理のフローを示すフロー図である。
【００２７】
シリアル型フラッシュメモリ１００からのプログラムの転送の開始にあたって、ＣＰＵ１は、まず、ＲＯＭ３から変数受信プログラムを読み出す（ステップＳ０１）。
【００２８】
続いて、ＣＰＵ１は、その変数受信プログラムを実行し、通信インターフェース部５を介して、例えば外部デバイスからシリアル型フラッシュメモリ１００の仕様に関する変数データを受信し（ステップＳ０２）、その変数データをＲＡＭ２に格納する（ステップＳ０３）。
【００２９】
次に、ＣＰＵ１は、ＲＯＭ３からシリアルフラッシュメモリリードプログラムを読み出し（ステップＳ０４）、ＲＡＭ２に格納した変数データを読み出しながらシリアルフラッシュメモリリードプログラムを実行し（ステップＳ０５）、シリアルインターフェース部４を介してシリアル型フラッシュメモリ１００に格納されているプログラムをＲＡＭ２へ転送する（ステップＳ０６）。この転送の終了により、一連の処理は終了する。
【００３０】
このような本実施例によれば、使用するシリアル型フラッシュメモリの仕様に関する変数データを外部から受信し、その変数データを使用してＲＯＭ３に格納されているシリアルフラッシュメモリリードプログラムを実行するので、どのような仕様のシリアルフラッシュメモリからでもデータを読み出すことができ、そのシリアル型フラッシュメモリに格納されているプログラムをＲＡＭ２へ転送することができる。
【実施例２】
【００３１】
図３は、本発明の実施例２に係る半導体集積回路の構成の例を示すブロック図である。
【００３２】
本実施例の半導体集積回路２０の基本的な構成は、実施例１の半導体集積回路１０と同じである。本実施例の半導体集積回路２０が実施例１と異なる点は、実施例１のＲＯＭ３の代わりに、プログラム転送用プログラムが格納されたＲＯＭ３Ａを備えている点である。
【００３３】
プログラム転送用プログラムは、外部から通信インターフェース部５を介してシリアルフラッシュメモリリードプログラムを受信し、そのシリアルフラッシュメモリリードプログラムをＲＡＭ２に格納する、という処理を行うプログラムである。
【００３４】
ここで、外部から受信するシリアルフラッシュメモリリードプログラムは、実施例１で用いたシリアルフラッシュメモリリードプログラムとは異なり、指定されたシリアル型フラッシュメモリの仕様に応じたリードコマンドを発生する方式のプログラムである。このようにすることで、実施例１における変数データの変更では対応できないような新規のシリアル型フラッシュメモリ１００に対しても、シリアル型フラッシュメモリ１００に格納されているプログラムをＲＡＭ２に格納することが可能になる。
【００３５】
次に、本実施例における、シリアル型フラッシュメモリ１００からのプログラムの転送処理について、図４のフロー図を用いて説明する。
【００３６】
図４は、シリアル型フラッシュメモリ１００からプログラムを転送するときに、本実施例のＣＰＵ１が実行する処理のフローを示すフロー図である。
【００３７】
シリアル型フラッシュメモリ１００からのプログラムの転送の開始にあたって、ＣＰＵ１は、まず、ＲＯＭ３からプログラム転送用プログラムを読み出す（ステップＳ１１）。
【００３８】
続いて、ＣＰＵ１は、そのプログラム転送用プログラムを実行し（ステップＳ１２）、通信インターフェース部５を介して、例えば外部デバイスから、使用するシリアル型フラッシュメモリ１００に適したシリアルフラッシュメモリリードプログラムを受信し、そのシリアルフラッシュメモリリードプログラムをＲＡＭ２に格納する（ステップＳ１３）。
【００３９】
次に、ＣＰＵ１は、ＲＡＭ２に格納したシリアルフラッシュメモリリードプログラムを実行し（ステップＳ１４）、シリアルインターフェース部４を介してシリアル型フラッシュメモリ１００に格納されているプログラムをＲＡＭ２へ転送する（ステップＳ１５）。この転送の終了により、一連の処理は終了する。
【００４０】
このような本実施例によれば、使用するシリアル型フラッシュメモリの仕様に適したシリアルフラッシュメモリリードプログラムを外部から受信し、実行するので、どのような仕様のシリアル型フラッシュメモリからでもデータを読み出すことができ、そのシリアル型フラッシュメモリに格納されているプログラムをＲＡＭ２へ転送することができる。
【符号の説明】
【００４１】
１  ＣＰＵ
２  ＲＡＭ
３、３Ａ  ＲＯＭ
４  シリアルインターフェース部
５  通信インターフェース部
１０、２０  半導体集積回路
【図１】
2011129017.tif 000003
【図２】
2011129017.tif 000004
【図３】
2011129017.tif 000005
【図４】
2011129017.tif 000006