JP2008176518A - マイクロコンピュータ - Google Patents
マイクロコンピュータ Download PDFInfo
- Publication number
- JP2008176518A JP2008176518A JP2007008619A JP2007008619A JP2008176518A JP 2008176518 A JP2008176518 A JP 2008176518A JP 2007008619 A JP2007008619 A JP 2007008619A JP 2007008619 A JP2007008619 A JP 2007008619A JP 2008176518 A JP2008176518 A JP 2008176518A
- Authority
- JP
- Japan
- Prior art keywords
- serial
- serial flash
- instruction
- interface circuit
- peripheral interface
- 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.)
- Withdrawn
Links
Images
Landscapes
- Microcomputers (AREA)
Abstract
【課題】任意のプログラムサイズのユーザプログラムを外部のシリアルフラッシュメモリから所要のメモリに効率的にロードして実行可能にするマイクロコンピュータを提供する。
【解決手段】マイクロコンピュータは、リセット指示に応答してシリアルフラッシュブートモードへ対応可能に初期化されるシリアルペリフェラルインタフェース回路(10)を備え、シリアルフラッシュブートモードが指定されてリセット指示が解除されたとき、前記シリアルペリフェラルインタフェース回路はシリアルフラッシュメモリ(21)から転送制御プログラム(TPGM)を内部RAM(3)に転送し、中央処理装置は前記内部RAMに転送された前記転送制御プログラムを実行して前記シリアルフラッシュメモリからユーザプログラム(UPGM)を外部メモリ(20)に転送し、中央処理装置が前記外部メモリに転送されたユーザプログラムを実行可能にするものである。
【選択図】図3
【解決手段】マイクロコンピュータは、リセット指示に応答してシリアルフラッシュブートモードへ対応可能に初期化されるシリアルペリフェラルインタフェース回路(10)を備え、シリアルフラッシュブートモードが指定されてリセット指示が解除されたとき、前記シリアルペリフェラルインタフェース回路はシリアルフラッシュメモリ(21)から転送制御プログラム(TPGM)を内部RAM(3)に転送し、中央処理装置は前記内部RAMに転送された前記転送制御プログラムを実行して前記シリアルフラッシュメモリからユーザプログラム(UPGM)を外部メモリ(20)に転送し、中央処理装置が前記外部メモリに転送されたユーザプログラムを実行可能にするものである。
【選択図】図3
Description
本発明は、シリアルフラッシュメモリを用いたブート動作を可能にするマイクロコンピュータに関する。
リセット指示の解除に応答してマイクロコンピュータがプログラムの実行を開始するようなシステム起動の動作をブート動作というが、オンチップフラッシュメモリのオンボード書換え動作に用いるプログラムをマイクロコンピュータにロードするのにシリアルインタフェースを用いる技術がある。例えば、特許文献1には、シリアルインタフェースによる入力データをCPU制御を介さずハードウェア的に内部RAMに転送するDMAを用いて、外部装置からシリアルインタフェースを介してオンチップフラッシュメモリの書き換えを制御するプログラムを内部RAMに転送する。オンボード書き換えモード信号がイネーブルにされた状態では、CPUがリセットベクタの格納アドレスを出力したとき、リセットベクタの代わりに、そのプログラムが格納されたRAMのアドレスを出力する。これによりCPUは、リセット解除の直後に、内部RAMに格納された書き換え制御プログラムを実行できるようになる。
本発明者はユーザプログラムを外部のシリアルフラッシュメモリからロードすることについて検討した。ユーザプログラムが外部のパラレルフラッシュメモリに格納されていれば、リセット指示の解除に応答して発行される命例フェッチサイクルで直接パラレルフラッシュメモリから命令をフェッチして実行することができる。しかしながら、シリアルフラッシュメモリは入力データ端子と出力データ端子を各々1個づつ備えるだけであるから、必要なビット数のアドレス入力や命令出力に時間を要する。直接アクセスして命令を実行する用途にはシリアルフラッシュメモリは適していない。特許文献1に記載の技術を流用しても任意のプログラムサイズのユーザプログラムをシリアルフラッシュメモリから所要のメモリにロードする動作を効率的に行うことはできない。シリアルインタフェースによる入力データをCPU制御の介在無くハードウェア的に内部RAMに転送する構成では転送動作に融通性はまったく無い。オンチップフラッシュメモリに対する書換え制御プログラムのような規模の小さなプログラムの転送に用途が限定される。
本発明の目的は、任意のプログラムサイズのユーザプログラムを外部のシリアルフラッシュメモリから所要のメモリに効率的にロードして実行可能にするマイクロコンピュータを提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、マイクロコンピュータは、リセット指示に応答してシリアルフラッシュブートモードへ対応可能に初期化される前記シリアルペリフェラルインタフェース回路を備え、シリアルフラッシュブートモードが指定されてリセット指示が解除されたとき、前記シリアルペリフェラルインタフェース回路はシリアルフラッシュメモリから転送制御プログラムを内部RAMに転送し、中央処理装置は前記内部RAMに転送された前記転送制御プログラムを実行して前記シリアルフラッシュメモリからユーザプログラムを外部メモリに転送し、中央処理装置が前記外部メモリに転送されたユーザプログラムを実行可能にするものである。
これによれば、初期化されたシリアルペリフェラルインタフェース回路は転送制御プログラムだけを内部RAMに転送すればよく、ユーザプログラムの転送はその転送制御プログラムを中央処理装置が実行して行えばよいから、任意サイズのユーザプログラムを効率的に外部メモリに転送することができる。
本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。
すなわち、任意のプログラムサイズのユーザプログラムを外部のシリアルフラッシュメモリから所要のメモリに効率的にロードして実行可能にすることができる。
1.代表的な実施の形態(representative forms of embodiments of the inventions)
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕本発明の代表的な実施の形態に係るマイクロコンピュータ(1)は、外部のシリアルフラッシュメモリ(21)が接続されるシリアルペリフェラルインタフェース回路(10)と、外部メモリ空間に配置された外部メモリ(20)を制御するメモリコントローラ(11)と、内部RAM(3)と、中央処理装置(2)とを有する。前記シリアルペリフェラルインタフェース回路はリセット指示に応答してシリアルフラッシュブートモードへ対応可能に初期化される。シリアルフラッシュブートモードが指定されてリセット指示が解除されたとき、前記シリアルペリフェラルインタフェース回路は前記シリアルフラッシュメモリから転送制御プログラムTPGMを前記内部RAMに転送し、前記中央処理装置は前記内部RAMに転送された前記転送制御プログラムを実行して前記シリアルフラッシュメモリからユーザプログラムUPGMを前記外部メモリに転送し、前記外部メモリに転送されたユーザプログラムを実行する。これによれば、初期化されたシリアルペリフェラルインタフェース回路は転送制御プログラムだけを内部RAM転送すればよく、ユーザプログラムの転送はその転送制御プログラムを中央処理装置が実行して行えばよいから、任意サイズのユーザプログラムを効率的に外部メモリに転送することができる。
一つの具体的な形態として、シリアルフラッシュブートモードがディスエーブルにされてリセット指示が解除されたとき、前記中央処理装置は前記外部メモリ空間に配置されたパラレルフラッシュメモリ(22)が保有するユーザプログラムを実行する。パラレルフラッシュメモリにユーザプログラムを配置する利用形態にも対応することができる。
別の具体的な形態として、前記中央処理装置は、シリアルフラッシュブートモードが指定されてリセット指示が解除されたときは最初に実行すべき命令のフェッチアドレスとして前記内部RAMのアドレスを発行し、シリアルフラッシュブートモードがディスエーブルにされてリセット指示が解除されたときは最初に実行すべき命令のフェッチアドレスとして前記外部メモリ空間のアドレスを発行する。ユーザプログラムをシリアルフラッシュメモリに置くかパラレルフラッシュメモリに置くかによって相違される中央処理装置による命令の実行開始アドレスを容易に制御することができる。
更に具体的な形態として、シリアルフラッシュブートモードが指定されてリセット指示が解除されたとき前記内部RAMに対する最初の命令フェッチアクセスへの応答は、前記シリアルフラッシュメモリから転送制御プログラムが前記内部RAMに転送完了されるまでウェイトされる。シリアルフラッシュブートモードが指定されているか否かに拘わらず、リセット解除後に始める中央処理装置の命令アドレスの発行タイミングを変更しなくても済む。
更に具体的な形態として、前記ウェイトを制御するのにバスアービタ(12)を利用すればよい。バスアービタは、例えばスプリットトランザクションバスのイニシエータコンポーネントからのリクエストパケットとターゲットコンポーネントからのレスポンスパケットの夫々について競合を調停するパケットルータのような回路である。
更に具体的な形態として、前記ウェイトの指示と解除の指示は、シリアルフラッシュブートモードが指定されてリセット指示が解除された場合に、前記シリアルペリフェラルインタフェース回路が行えばよい。
更に具体的な形態として、前記シリアルペリフェラルインタフェース回路は規定のデータ量の転送完了に呼応して前記ウェイトの解除を指示する。中央処理装置による前記転送制御プログラムの実行開始タイミングを容易に生成することができる。
〔2〕別の観点によるマイクロコンピュータは、リセット動作時にシリアルペリフェラルインタフェース回路を介して外部のシリアルフラッシュメモリに格納されているブートプログラムを内部RAMに転送し、内部RAMに転送されたブートプログラムを中央処理装置が実行することにより前記シリアルフラッシュメモリに格納されているユーザプログラムを外部RAMに転送して、中央処理装置が外部RAMに格納されたユーザプログラムを実行可能にするシリアルフラッシュブートモードを有する。前記シリアルペリフェラルインタフェース回路はリセット指示に応答してシリアルフラッシュブートモードへ対応可能に初期化される。シリアルフラッシュブートモードが指定されてリセット指示が解除されたとき、前記シリアルペリフェラルインタフェース回路は前記シリアルフラッシュメモリから転送制御プログラムを前記内部RAMに転送する。
2.実施の形態の説明
次に、実施の形態について更に詳述する。
次に、実施の形態について更に詳述する。
図1には本発明に係るマイクロコンピュータの一例が示される。同図に示されるマイクロコンピュータ1は、特に制限されないが、相補型MOS集積回路製造技術により、単結晶シリコンのような1個の半導体基板に形成される。マイクロコンピュータ(MCU)1は、中央処理装置(CPU)2、内部RAM(ILRAM)3及びキャッシュメモリ(CACHE)4などによってCPUコア5を形成し、CPUコア5の内部はバス6で接続される。CPUコア5はバス7に接続され、バス7には、シリアルペリフェラルインタフェース回路(SPI)10、メモリコントローラ(MCNT)11、バスアービタ(BARB)12、その他の周辺回路(PRPH)13などが接続される。システムコントローラ(SYSCNT)14はリセット信号RES、シリアルフラッシュブートイネーブル信号SPIBENを入力して、内部リセット信号resをMCU1の夫々の回路に供給し、内部シリアルフラッシュブートイネーブル信号spibenをシリアルペリフェラルインタフェース回路10及び中央処理装置2に供給する。
中央処理装置2は命令制御部と実行部を有する。命令制御部は命令実行順序を制御すると共に命令フェッチとフェッチした命令のデコードを行なう。命令制御部は命令フェッチアドレスを演算する命令アドレス演算器を有する。実行部は命令デコード結果に従ってオペランドアドレスの演算及びオペランドに対するデータ演算を行って命令を実行する。
キャッシュメモリ4は例えばキャッシュ対象のアドレス領域に対する命令キャッシュとデータキャッシュに兼用される。内部RAM3は高速の内部ワーク領域等に利用され、例えばSRAM(Static RAM)によって構成される。
メモリコントローラ11はCPU2等からのアクセス要求に応答してパラレルインタフェースを有するフラッシュメモリ及びDDR(Double Data Rate)2−SDRAM(Synchronous DRAM)に対するメモリ制御を行う回路である。シリアルペリフェラルインタフェース回路10はコマンドやデータの入力と出力をシリアルに行うことができる周辺デバイスを接続してインタフェースする回路であり、ここではシリアルフラッシュメモリ21が接続されるものとする。メモリコントローラ11にパラレルインタフェース形式のフラッシュメモリを接続し、マイクロコンピュータが初期化されたとき中央処理装置2が実行するプログラムを当該パラレルフラッシュメモリに格納してもよい。或いは、シリアルペリフェラルインタフェース回路10に接続したシリアルフラッシュメモリ21に格納してもよい。図1では、メモリコントローラ11にはパラレルインタフェース形式のフラッシュメモリを接続していない。その動作プログラムはシリアルフラッシュメモリ21が提供するものとする。メモリコントローラ11には代表的にDDR2−SDRAM20が接続されている。
特に制限されないが、バス6,7はパケット交換方式のスプリットトランザクションバスとされる。このバスには、転送要求内容を含むリクエストパケットと、応答内容を含むレスポンスパケットがやり取りされる。リクエストパケットを発行してレスポンスパケットを受け取る回路をイニシエータコンポーネント、リクエストパケットを受け取ってレスポンスパケットを返す回路をターゲットコンポーネントと称し、そのバスに接続する回路はバスマスタであるのかバススレーブであるかに応じてそのバスとのインタフェース部分に前記イニシエータコンポーネント又はターゲットコンポーネントを有する。ここではバスアービタ12は、イニシエータコンポーネントから発行されるリクエストパケットとターゲットコンポーネントから発行されるレスポンスパケットに関する競合を調停するパケットルータとして機能される。バスアービタ12はディスエーブル信号TxDENのアクティブ状態においてシリアルペリフェラルインタフェース回路10から内部RAM3へのデータ転送のみ許可し、それ以外の回路からのリクエストパケットによる要求に対してはウェイトする。
シリアルペリフェラルインタフェース回路10にはシリアルフラッシュメモリ(SFLASH)21が外部に接続される。シリアルフラッシュメモリ21はデータ入力端子、データ出力端子、シリアルクロック端子及びチップセレクト端子等を有し、メモリコマンド、アクセスアドレス及びライトデータをデータ入力端子からシリアル入力し、リードデータをデータ出力端子からシリアル出力する。シリアル入出力はシリアルクロック端子からのシリアルクロックに同期され、チップ選択端子を用いてチップ選択される。メモリアレイは電荷蓄積領域を有するスタックドゲート構造或いはスプリットゲート構造の不揮発性メモリセルを備え、電気的に書換え可能にされる。
シリアルペリフェラルインタフェース回路10は、図2に例示されるように、CPUインタフェース30を介してバス7に接続され、送信FIFOバッファ(TxFIFO)31、送信シフトレジスタ(TxSREG)32、受信FIFOバッファ(RxFIFO)33、受信シフトレジスタ(RxSREG)34、ステートマシン(STM)35、及びタイミングジェネレータ(TMG)36を有する。CPUインタフェース30にはシリアルペリフェラルインタフェース回路10用のイニシエータコンポーネントとターゲットコンポーネントを有する。
ステートマシン35はバス7からリクエストパケットとして与えられるコマンド及びステータスに従って制御状態を遷移させる。タイミングジェネレータ36はその制御状態に従ってチップセレクト端子CS及びシリアルクロック端子SCK等に外部インタフェースタイミング信号を出力すると共に、内部タイミング信号を生成する。送信FIFOバッファ31はバス7からリクエストパケットとして与えられるメモリコマンド及びアクセスアドレス、更に必要な場合には書込みデータを、順次入力して保持する。送信FIFOバッファ31に保持された情報は内部タイミング信号で規定されるタイミングに従って送信シフトレジスタ32でビットシリアルに変換され、変換されたシリアル情報はデータ出力端子DoutからシリアルクロックSCKに同期してシリアルフラッシュメモリ21に供給される。受信シフトレジスタ34はシリアルクロックに同期してシリアルフラッシュメモリ21からデータ入力端子Dinに供給されたリードデータをパラレルデータに変換し、変換されたパラレルデータは受信FIFOバッファ33に保持される。受信FIFOバッファ33に保持されたリードデータはレスポンスパケットとしてバス7に出力される。
ステートマシン35はリクエストパケットとして与えられるコマンド及びステータス等を保持する制御レジスタを有し、リセット信号RESによるリセット指示に応答してそれら制御レジスタが初期化される。その制御レジスタの初期状値により、シリアルペリフェラルインタフェース回路10はシリアルフラッシュブートモードに対応可能な状態にされる。以下、シリアルフラッシュブートモードについて詳述する。
外部リセット信号RESによりリセットが指示されると、システムコントローラ14は内部リセット信号resを活性化してマイクロコンピュータ1の内部回路の状態を初期化する。この初期化により、シリアルペリフェラルインタフェース回路10の制御レジスタはシリアルフラッシュブートモードに対応可能にされる。外部リセット信号RESによるリセット指示が解除されたとき、シリアルフラッシュブートイネーブル信号SPIBENが活性化されている場合には内部シリアルフラッシュブートイネーブル信号spibenが活性化される。これによりシリアルペリフェラルインタフェース回路10はシリアルフラッシュブートモードによる動作を自立的に開始する。
図3にはシリアルフラッシュブートモードによる動作の概略が例示される。リセット指示が解除されたとき、内部シリアルフラッシュブートイネーブル信号spibenが活性にされていることを条件に、シリアルペリフェラルインタフェース回路10は初期化された制御レジスタの内容に従って、シリアルフラッシュメモリ21の第1領域から転送制御プログラムTPGMを読み出す指示を与え(経路A1)、読み出した転送制御プログラムTPGMと共にこれを内部RAM3に転送する転送要求を含むリクエストパケットをバス7に発行し、これによって転送制御プログラムTPGMが内部RAM3に転送される(経路A2)。シリアルフラッシュメモリ21における第1領域のアドレス、内部RAM3の転送先アドレス、及び転送語数等は初期化された制御レジスタの内容によって特定される。この動作中、シリアルペリフェラルインタフェース回路10はディスエーブル信号TxDENによりバスアービタ12にシリアルペリフェラルインタフェース回路10から内部RAM3へのデータ転送要求以外をウェイトさせる指示を与えている。したがって、リセット指示の解除に同期して中央処理装置2がプログラム領域の先頭番地に対する命令フェッチの要求を発行してもその要求はバスアービタ12によりウェイト状態にされている。特に、中央処理装置2はリセット指示が解除されたとき内部シリアルフラッシュブートイネーブル信号spibenが活性にされている場合には、通常のプログラム領域の先頭番地に対して所定のオフセットアドレスを加算して、これを命令フェッチアドレスとする。ここでは、オフセットアドレスが加算された命令フェッチアドレスは内部RAM3のアドレスとされる。
前記転送語数のデータ転送が完了すると、シリアルペリフェラルインタフェース回路10はディスエーブル信号TxDENを非活性とする。これにより、中央処理装置2から発行されていた命令フェッチ要求に対するウェイトが解除され、中央処理装置は命令フェッチ可能な状態になり、中央処理装置2は内部RAM3に格納された転送制御プログラムをフェッチして実行する(経路B1)。すなわち、中央処理装置2はシリアルペリフェラルインタフェース回路10の前記制御レジスタを制御して、シリアルフラッシュメモリ21の第2領域からユーザプログラムUPGMを読み出す指示を与え、読み出したユーザプログラムUPGMと、このユーザプログラムUPGMをDDR2−SDRAM20に転送する転送要求を含むリクエストパケットをバス7に発行する。ユーザプログラムUPGMはDDR2−SDRAM20に各に格納される(経路B2)。シリアルフラッシュメモリ21における第2領域のアドレス、DDR2−SDRAM20の転送先アドレス、及び転送語数等は転送制御プログラムによって規定される。
転送制御プログラムの最後において中央処理装置2はシステムコントローラ14における内部シリアルフラッシュブートイネーブル信号spibenの出力ラッチをクリアし、且つ、プログラムの実行をDDR2−SDRAM20のプログラム領域先頭番地に分岐させる。これにより中央処理装置2はDDR2−SDRAM20のプログラム領域に格納されたユーザプログラムから命令をフェッチして実行することができる(経路C1)。
図4にはシリアルフラッシュブートモードによる動作のタイミングチャートが示される。マイクロコンピュータ1にリセットが指示されるとシリアルペリフェラルインタフェース回路10の制御レジスタが初期され(S1)、信号TxDENを活性化してシリアルペリフェラルインタフェース回路から内部RAM3へのデータ転送以外のバスアクセスをバスアービタ12に抑制させる(S2)。そのバスアクセスの抑制はシリアルペリフェラルインタフェース回路10が信号TxDENを非活性にするまで(S6)継続される。中央処理装置2にとって時刻t0からt1まではバスアクセス抑制期間になる。リセット指示が解除され、このとき信号SPIBENが活性状態にされている場合(S3)、シリアルペリフェラルインタフェース回路10は初期状態の前記制御レジスタの値を用いてシリアルフラッシュメモリ21をアクセスし(S4)、転送制御プログラムTPGMを内部RAM3に書き込みアクセスする(S5)。転送制御プログラムTPGMの転送を完了すると、信号TxDENは非活性にされ、バスアクセス抑制期間が解除される(S7)。これにより内部RAM3から転送制御プログラムが出力され(S8)、中央処理装置2がその転送制御プログラムをフェッチして実行する(S9)。これにより、中央処理装置2はシリアルフラッシュメモリ21が保有するユーザプログラムUPGMをバス7に供給させ(S10)、そのユーザプログラムUPGMをDDR2−SDRAM20に格納させる(S11)。ユーザプログラムの転送完了後、中央処理装置2はDDR2−SDRAM20のユーザプログラムの実行に分岐する(S12)。
図5には中央処理装置2が実行すべきユーザプログラムをパラレルフラッシュメモリ22の格納したときのプログラム実行動作が例示される。パラレルフラッシュメモリ22はDDR2−SDRAM20と共にメモリコントローラ11に接続される。このパラレルフラッシュメモリ22は通常のプログラム領域にマッピングされている。リセット指示が解除されたとき、シリアルフラッシュブートイネーブル信号SPIBENは非活性にされる。これにより中央処理装置2は通常のプログラム領域の先頭アドレス、即ち、パラレルフラッシュメモリ22から命令をフェッチしてユーザプログラムの実行を開始することができる(経路D1)。
以上説明したマイクロコンピュータによれば以下の作用効果を得ることができる。
初期化されたシリアルペリフェラルインタフェース回路10は転送制御プログラムTPGMだけを内部RAM3転送すればよく、ユーザプログラムUPGMの転送はその転送制御プログラムTPGMを中央処理装置20が実行して行えばよいから、任意サイズのユーザプログラムUPGMを効率的にDDR2−SDRAM20に転送することができる。シリアルペリフェラルインタフェース回路10の制御レジスタに対する初期値で任意サイズのユーザプログラムUPGMを全てDDR2−SDRAM20に転送するには、初期値を可変にしなければならず、そのための構成が複雑化し、初期化手順も複雑になる。
シリアルフラッシュブートモードがディスエーブル(信号SPIBENが非活性)にされてリセット指示が解除されたとき、中央処理装置2は前記外部メモリ空間に配置されたパラレルフラッシュメモリ22が保有するユーザプログラムを実行することができるから、パラレルフラッシュメモリ22にユーザプログラムを配置する利用形態にも対応することができる。
中央処理装置2は、シリアルフラッシュブートモードが指定されてリセット指示が解除されたときは最初に実行すべき命令のフェッチアドレスとして通常の開始アドレスにオフセットを加算した前記内部RAM3のアドレスを発行し、シリアルフラッシュブートモードがディスエーブルにされてリセット指示が解除されたときは最初に実行すべき命令のフェッチアドレスとして通常の開始アドレスを発行し、そのアドレスにはパラレルフラッシュメモリ22を配置しておく。ユーザプログラムをシリアルフラッシュメモリ21に置くかパラレルフラッシュメモリ22に置くかによって相違される中央処理装置2による命令の実行開始アドレスを容易に制御することができる。
シリアルフラッシュブートモードが指定されてリセット指示が解除されたとき内部RAM3に対する最初の命令フェッチアクセスへの応答は、前記シリアルフラッシュメモリ21から転送制御プログラムTPGMが前記内部RAM3に転送完了されるまでウェイトされるようにしたから、シリアルフラッシュブートモードが指定されているか否かに拘わらず、リセット解除後に始める中央処理装置2の命令アドレスの発行タイミングを変更しなくても済む。
シリアルフラッシュブートモードが指定されてリセット指示が解除された場合に、前記シリアルペリフェラルインタフェース回路10が前記ウェイトの指示と解除の指示を行うから、その制御が簡単になる。前記シリアルペリフェラルインタフェース回路10は規定のデータ量の転送完了に呼応して前記ウェイトの解除を指示するから、中央処理装置2による前記転送制御プログラムTPGMの実行開始タイミングを容易に生成することができる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、バスはスプリットトランザクションバスに限定されず、排他的に一つの回路モジュールにバス権を獲得させる形式のバスであってもよい。内部RAMはCPUコアに含まれるRAMであることに限定されない。特に図示はしていないがメモリマネージメントユニットを備えた仮想記憶をサポートするマイクロコンピュータであってもよい。マイクロコンピュータはDMAC等のその他のバスマスタモジュールを搭載してもよい。この場合、CPUが転送制御プログラムを実行することによりDMACに転送制御条件を設定し、その転送制御条件に従ってDMACにシリアルフラッシュメモリから外部RAMにユーザプログラムを転送させるようにしてもよい。外部RAMはDDR2−SDRAMに限定されず、その他のメモリであってよい。
1 マイクロコンピュータ(MCU)
2 中央処理装置(CPU)
3 内部RAM(ILRAM)
4 キャッシュメモリ(CACHE)
5 CPUコア
6,7 バス
10 シリアルペリフェラルインタフェース回路(SPI)
11 メモリコントローラ(MCNT)
12 バスアービタ(BARB)
13 その他の周辺回路(PRPH)
RES セット信号
SPIBEN シリアルフラッシュブートイネーブル信号
res 内部リセット信号
spiben 内部シリアルフラッシュブートイネーブル信号
20 DDR2−SDRAM20
21 シリアルフラッシュメモリ(SFLASH)
22 パラレルフラッシュメモリ(PFLASH)
30 CPUインタフェース(CPUIF)
31 送信FIFOバッファ(TxFIFO)
32 送信シフトレジスタ(TxSREG)
33 受信FIFOバッファ(RxFIFO)
34 受信シフトレジスタ(RxSREG)
35 ステートマシン(STM)
36 タイミングジェネレータ(TMG)
2 中央処理装置(CPU)
3 内部RAM(ILRAM)
4 キャッシュメモリ(CACHE)
5 CPUコア
6,7 バス
10 シリアルペリフェラルインタフェース回路(SPI)
11 メモリコントローラ(MCNT)
12 バスアービタ(BARB)
13 その他の周辺回路(PRPH)
RES セット信号
SPIBEN シリアルフラッシュブートイネーブル信号
res 内部リセット信号
spiben 内部シリアルフラッシュブートイネーブル信号
20 DDR2−SDRAM20
21 シリアルフラッシュメモリ(SFLASH)
22 パラレルフラッシュメモリ(PFLASH)
30 CPUインタフェース(CPUIF)
31 送信FIFOバッファ(TxFIFO)
32 送信シフトレジスタ(TxSREG)
33 受信FIFOバッファ(RxFIFO)
34 受信シフトレジスタ(RxSREG)
35 ステートマシン(STM)
36 タイミングジェネレータ(TMG)
Claims (9)
- 外部のシリアルフラッシュメモリが接続されるシリアルペリフェラルインタフェース回路と、外部メモリ空間に配置された外部メモリを制御するメモリコントローラと、内部RAMと、中央処理装置とを有し、
前記シリアルペリフェラルインタフェース回路はリセット指示に応答してシリアルフラッシュブートモードへ対応可能に初期化され、
シリアルフラッシュブートモードが指定されてリセット指示が解除されたとき、前記シリアルペリフェラルインタフェース回路は前記シリアルフラッシュメモリから転送制御プログラムを前記内部RAMに転送し、前記中央処理装置は前記内部RAMに転送された前記転送制御プログラムを実行して前記シリアルフラッシュメモリからユーザプログラムを前記外部メモリに転送し、前記外部メモリに転送されたユーザプログラムを実行する、マイクロコンピュータ。 - シリアルフラッシュブートモードがディスエーブルにされてリセット指示が解除されたとき、前記中央処理装置は前記外部メモリ空間に配置されたパラレルフラッシュメモリが保有するユーザプログラムを実行する、請求項1記載のマイクロコンピュータ。
- 前記中央処理装置は、シリアルフラッシュブートモードが指定されてリセット指示が解除されたときは最初に実行すべき命令のフェッチアドレスとして前記内部RAMのアドレスを発行し、シリアルフラッシュブートモードがディスエーブルにされてリセット指示が解除されたときは最初に実行すべき命令のフェッチアドレスとして前記外部メモリ空間のアドレスを発行する、請求項1記載のマイクロコンピュータ。
- シリアルフラッシュブートモードが指定されてリセット指示が解除されたとき前記内部RAMに対する最初の命令フェッチアクセスへの応答は、前記シリアルフラッシュメモリから転送制御プログラムが前記内部RAMに転送完了されるまでウェイトされる、請求項3記載のマイクロコンピュータ。
- 前記ウェイトを制御するバスアービタを有する、請求項4記載のマイクロコンピュータ。
- 前記ウェイトの指示と解除の指示は、シリアルフラッシュブートモードが指定されてリセット指示が解除された場合に、前記シリアルペリフェラルインタフェース回路が行う、請求項5記載のマイクロコンピュータ。
- 前記シリアルペリフェラルインタフェース回路は規定のデータ量の転送完了に呼応して前記ウェイトの解除を指示する、請求項6記載のマイクロコンピュータ。
- リセット動作時にシリアルペリフェラルインタフェース回路を介して外部のシリアルフラッシュメモリに格納されているブートプログラムを内部RAMに転送し、内部RAMに転送されたブートプログラムを中央処理装置が実行することにより前記シリアルフラッシュメモリに格納されているユーザプログラムを外部RAMに転送して、中央処理装置が外部RAMに格納されたユーザプログラムを実行可能にするシリアルフラッシュブートモードを有するマイクロコンピュータであって、
前記シリアルペリフェラルインタフェース回路はリセット指示に応答してシリアルフラッシュブートモードへ対応可能に初期化され、
シリアルフラッシュブートモードが指定されてリセット指示が解除されたとき、前記シリアルペリフェラルインタフェース回路は前記シリアルフラッシュメモリから転送制御プログラムを前記内部RAMに転送する、マイクロコンピュータ。 - シリアルフラッシュブートモードがディスエーブルにされてリセット指示が解除されたとき、前記中央処理装置は直接外部メモリ空間に配置されたメモリが保有するユーザプログラムを実行する、請求項8記載のマイクロコンピュータ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007008619A JP2008176518A (ja) | 2007-01-18 | 2007-01-18 | マイクロコンピュータ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007008619A JP2008176518A (ja) | 2007-01-18 | 2007-01-18 | マイクロコンピュータ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008176518A true JP2008176518A (ja) | 2008-07-31 |
Family
ID=39703499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007008619A Withdrawn JP2008176518A (ja) | 2007-01-18 | 2007-01-18 | マイクロコンピュータ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008176518A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7908417B2 (en) * | 2008-10-15 | 2011-03-15 | Phison Electronics Corp. | Motherboard system, storage device for booting up thereof and connector |
US9311105B2 (en) | 2010-04-21 | 2016-04-12 | Hewlett-Packard Development Company, L.P. | Communicating operating system booting information |
JP2017504120A (ja) * | 2014-01-24 | 2017-02-02 | クアルコム,インコーポレイテッド | ダイナミックランダムアクセスメモリ(dram)インターフェースのためのシリアルデータ伝送 |
-
2007
- 2007-01-18 JP JP2007008619A patent/JP2008176518A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7908417B2 (en) * | 2008-10-15 | 2011-03-15 | Phison Electronics Corp. | Motherboard system, storage device for booting up thereof and connector |
US9311105B2 (en) | 2010-04-21 | 2016-04-12 | Hewlett-Packard Development Company, L.P. | Communicating operating system booting information |
JP2017504120A (ja) * | 2014-01-24 | 2017-02-02 | クアルコム,インコーポレイテッド | ダイナミックランダムアクセスメモリ(dram)インターフェースのためのシリアルデータ伝送 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5329515B2 (ja) | 周辺コンポーネントのためのコマンドキュー | |
KR101408434B1 (ko) | 주변장치 컴포넌트를 위한 높은 우선순위 커맨드 큐 | |
US7581054B2 (en) | Data processing system | |
JP2004502224A (ja) | フラッシュブリッジとオートロードとを有する集積回路 | |
JP4226085B2 (ja) | マイクロプロセッサ及びマルチプロセッサシステム | |
JP2013092852A (ja) | バス接続回路、半導体装置及びバス接続回路の動作方法 | |
JP2008176518A (ja) | マイクロコンピュータ | |
JP5622429B2 (ja) | マイクロコンピュータ | |
US8402260B2 (en) | Data processing apparatus having address conversion circuit | |
JP2011113257A (ja) | 情報処理装置及び情報処理装置の起動方法 | |
JP2004029898A (ja) | データプロセッサ | |
US8677033B2 (en) | Method for initializing registers of peripherals in a microcontroller | |
JP4227789B2 (ja) | 集積回路装置およびデータ処理システム | |
JP2005276104A (ja) | マイクロコンピュータ | |
JP2014063510A (ja) | データ処理装置 | |
WO2012017558A1 (ja) | 半導体集積回路装置及び半導体集積回路装置を搭載した電子システム | |
JP2007305073A (ja) | データ処理装置及びメモリコントローラチップ | |
JP2003177957A (ja) | メモリ制御回路 | |
JP2004334257A (ja) | メモリアクセスシステム及びメモリアクセス装置 | |
JP2006185253A (ja) | 半導体装置 | |
JP2008226276A (ja) | プログラマブルコントローラ | |
JPH02264380A (ja) | 集積回路マイクロコントローラ | |
JP2004110086A (ja) | 半導体装置 | |
JP2006085732A (ja) | バスシステム及びバスシステムを含む情報処理システム | |
JPH10222482A (ja) | マイクロコンピュータおよび該マイクロコンピュータを含むシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100406 |