JP2003141096A - 半導体集積回路装置およびシステム、ならびにシステムの開発方法 - Google Patents

半導体集積回路装置およびシステム、ならびにシステムの開発方法

Info

Publication number
JP2003141096A
JP2003141096A JP2001338881A JP2001338881A JP2003141096A JP 2003141096 A JP2003141096 A JP 2003141096A JP 2001338881 A JP2001338881 A JP 2001338881A JP 2001338881 A JP2001338881 A JP 2001338881A JP 2003141096 A JP2003141096 A JP 2003141096A
Authority
JP
Japan
Prior art keywords
program
memory
transfer
cpu
integrated circuit
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.)
Pending
Application number
JP2001338881A
Other languages
English (en)
Inventor
Toru Ichien
亨 一圓
Tatsuro Nishino
辰郎 西野
Takako Hanai
孝子 花井
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.)
Hitachi Ltd
Northern Japan Semiconductor Technologies Inc
Original Assignee
Hitachi Ltd
Northern Japan Semiconductor Technologies Inc
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 Hitachi Ltd, Northern Japan Semiconductor Technologies Inc filed Critical Hitachi Ltd
Priority to JP2001338881A priority Critical patent/JP2003141096A/ja
Publication of JP2003141096A publication Critical patent/JP2003141096A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Read Only Memory (AREA)
  • Stored Programmes (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【課題】 プログラム格納用のマスクROMを内蔵せ
ず、このマスクROMを内蔵した場合と同じ効果を得る
ことができる汎用のマイクロコンピュータを含む半導体
集積回路装置、これを用いたシステム、この開発技術を
提供する。 【解決手段】 CPU1、シリアルフラッシュインタフ
ェース回路2、プログラム転送回路3、プログラム用内
蔵RAM4、書き込みマスク回路5などの各回路から構
成されるマイクロコンピュータ100であって、このマ
イクロコンピュータ100の外部には外部シリアルフラ
ッシュメモリ200が接続され、電源投入時、CPU1
が動作する前に、外部シリアルフラッシュメモリ200
からプログラムを読み込んでプログラム用内蔵RAM4
に書き込み、CPU1がプログラム用内蔵RAM4上の
プログラムを実行することができ、また必要に応じてプ
ログラム用内蔵RAM4への書き込みを禁止することが
できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、半導体集積回路装
置、およびこの半導体集積回路装置を用いたシステム、
ならびにシステムの開発技術に関し、特にプログラム格
納用のマスクROMを内蔵しないマイクロコンピュータ
に適用して有効な技術に関する。
【0002】
【従来の技術】本発明者が検討したところによれば、半
導体集積回路装置の技術に関し、この半導体集積回路装
置の一例としてのマイクロコンピュータについては、た
とえば特開平10−326266号公報、特開平3−2
86353号公報に記載される技術などが挙げられる。
【0003】前記特開平10−326266号公報に
は、シリアル通信による外部メモリへのアクセス機能を
有するマイクロコンピュータに関し、外部メモリとの間
でデータを授受するためのシリアル通信部を内蔵した技
術が開示されている。
【0004】前記特開平3−286353号公報には、
ワンチップマイクロコンピュータに外付けのシリアル出
力PROMを付加した構成におけるデータ読み出し方式
に関し、ワンチップマイクロコンピュータによってシリ
アル出力PROMから読み出したプログラムデータを、
マイクロコンピュータなどの外部デバイスに直接出力
し、このプログラムデータによって外部デバイスを制御
する技術が開示されている。
【0005】
【発明が解決しようとする課題】しかしながら、本発明
者は、前記のようなマイクロコンピュータの技術につい
て検討した結果、以下のようなことを明らかとした。
【0006】前記特開平10−326266号公報の技
術は、マイクロコンピュータと外部メモリとの間ではデ
ータをシリアル通信するものである。よって、この公報
に記載のマイクロコンピュータにおいては、プログラム
が内蔵ROMに格納されており、この内蔵ROMに格納
されているプログラムに従い、CPUの管理下で動作す
る技術である。
【0007】前記特開平3−286353号公報の技術
は、ワンチップマイクロコンピュータと、これに外付け
のシリアル出力PROMおよびマイクロコンピュータな
どの外部デバイスとの間において、シリアル出力PRO
Mから読み出したプログラムデータをワンチップマイク
ロコンピュータに取り込むのではなく、外部デバイスに
取り込むものである。よって、この公報に記載のワンチ
ップマイクロコンピュータは、内蔵ROMに格納されて
いるプログラムに従い、CPUの管理下で動作する技術
である。
【0008】また、本発明者が、本発明の前提として検
討した技術として、以下のような技術が考えられる。
【0009】一般に、RAMは揮発性メモリのため、R
AMに書き込まれたデータやプログラムは電源が切れる
と消去されてしまうので、マイクロコンピュータのユー
ザは、マイクロコンピュータをコントロールするための
プログラムを不揮発性メモリに蓄えておく必要がある。
【0010】そこで、マイクロコンピュータには、ユー
ザプログラムを格納するマスクROMを内蔵しているも
の、あるいはマスクROMを内蔵しない場合には、マイ
クロコンピュータの外部に接続したマスクROMにユー
ザプログラムを配置するようにしたものがある。
【0011】しかし、近年、SDRAMなどに比べて消
費量の少ないマスクROMは、手に入れ難くなってい
る。このため、マイクロコンピュータを使う小規模なユ
ーザでさえ、マイクロコンピュータ内蔵のマスクROM
を起こさなければならず、不便である。
【0012】これに対して、様々な携帯機器(携帯電
話、デジタルカメラ、MP3音楽プレーヤなど)で使用
され始めてきたシリアルインタフェースのフラッシュメ
モリ(電気的に書き込み/消去可能な不揮発性メモリ)
は、市場を拡大しており、マスクROMより手に入れ易
い。しかし、シリアルインタフェースであり、マイクロ
コンピュータの実行速度に比べてアクセス速度が遅いな
ど、プログラム格納用メモリとして使うには適さない。
【0013】また、通常のマスクROMの接続には、ア
ドレス用に16〜24本、データ用に8〜16本、制御
信号用に2本程度の端子が必要であり、コストや実装面
積などの観点からマイクロコンピュータの端子数を減ら
したいというユーザにとってはデメリットが大きい。
【0014】そこで、本発明者は、入手が困難なマスク
ROMを必要とせず、比較的入手が容易なシリアルイン
タフェースのフラッシュメモリを利用し、これを外部に
接続し、この外部のシリアルフラッシュメモリと、内蔵
RAMとの組み合わせによって、マスクROMを内蔵し
た場合と同じ効果を得ることが可能となることを考え付
いた。
【0015】そこで、本発明の目的は、プログラム格納
用のマスクROMを内蔵せず、このマスクROMを内蔵
した場合と同じ効果を得ることができる汎用のマイクロ
コンピュータを含む半導体集積回路装置、およびこの半
導体集積回路装置を用いたシステム、ならびにシステム
の開発技術を提供することにある。
【0016】本発明の前記ならびにその他の目的と新規
な特徴は、本明細書の記述および添付図面から明らかに
なるであろう。
【0017】
【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
次のとおりである。
【0018】すなわち、本発明による半導体集積回路装
置は、CPUと、このCPUと独立に転送可能であり、
外部に接続された外部不揮発性メモリとの間でプログラ
ムのシリアル転送をインタフェースするシリアルインタ
フェース手段と、このシリアルインタフェース手段を通
して外部不揮発性メモリに格納されていたプログラムを
読み込んで転送するプログラム転送手段と、このプログ
ラム転送手段により転送されてきたプログラムを書き込
むプログラム用内蔵メモリとを有し、起動モード時、C
PUが動作する前に、プログラム転送手段がシリアルイ
ンタフェース手段を通して外部不揮発性メモリからプロ
グラムを読み込んでプログラム用内蔵メモリに書き込
み、CPUがプログラム用内蔵メモリに書き込まれたプ
ログラムを読み込んで実行を開始することを特徴とする
ものである。
【0019】また、本発明による他の半導体集積回路装
置は、CPUと、このCPUと独立に転送可能であり、
外部に接続された外部不揮発性メモリとの間でプログラ
ムのシリアル転送をインタフェースするシリアルインタ
フェース手段と、このシリアルインタフェース手段を通
して外部不揮発性メモリに格納されていたプログラムを
読み込んで転送するプログラム転送用プログラムを格納
したプログラム転送用内蔵メモリと、このプログラム転
送用内蔵メモリに格納されていたプログラム転送用プロ
グラムにより転送されてきたプログラムを書き込むプロ
グラム用内蔵メモリとを有し、起動モード時、CPUが
プログラム転送用内蔵メモリに格納されていたプログラ
ム転送用プログラムを実行し、シリアルインタフェース
手段を通して外部不揮発性メモリからプログラムを読み
込んでプログラム用内蔵メモリに書き込み、CPUがプ
ログラム用内蔵メモリに書き込まれたプログラムを読み
込んで実行を開始することを特徴とするものである。
【0020】また、本発明によるシステムは、前記半導
体集積回路装置と、この半導体集積回路装置のシリアル
インタフェース手段に接続され、シリアルインタフェー
ス手段を通してシリアル転送されるプログラムを格納し
ている外部不揮発性メモリと、半導体集積回路装置およ
び外部不揮発性メモリを搭載する基板とを有することを
特徴とするものである。
【0021】また、本発明によるシステムの開発方法
は、前記システムを有し、基板上に搭載された外部不揮
発性メモリをコネクタから抜き出して、外部不揮発性メ
モリに格納されているプログラムを修正する工程と、こ
の修正したプログラムを格納した外部不揮発性メモリを
基板上のコネクタに挿入して、修正したプログラムの動
作を確認する工程と、この修正したプログラムの動作確
認の結果が良好となるまで修正を繰り返して正規のプロ
グラムとして開発を終了する工程とを有することを特徴
とするものである。
【0022】
【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて詳細に説明する。なお、実施の形態を説明す
るための全図において、同一の機能を有する部材には同
一の符号を付し、その繰り返しの説明は省略する。
【0023】また、本実施の形態では、半導体集積回路
装置の一例として、マイクロコンピュータを例に説明す
るが、これに限定されるものではない。さらに、マイク
ロコンピュータは、特に限定されないが、公知の半導体
製造技術によって、単結晶シリコンのような1個の半導
体基板上に形成される。
【0024】(実施の形態1)図1は本発明の実施の形
態1のマイクロコンピュータを示すブロック図、図2は
本実施の形態のマイクロコンピュータにおいて、起動モ
ードの動作を示すフロー図、図3は本実施の形態のマイ
クロコンピュータを用いたシステムを示すブロック図、
図4はプログラムの開発を示すフロー図である。
【0025】まず、図1により、本実施の形態のマイク
ロコンピュータの構成の一例を説明する。
【0026】本実施の形態のマイクロコンピュータ10
0は、たとえばシングルチップマイクロコンピュータと
され、CPU1、シリアルフラッシュインタフェース回
路2、プログラム転送回路3、プログラム用内蔵RAM
4、書き込みマスク回路5、汎用シリアルインタフェー
ス回路6、データ用内蔵RAM7、バスコントローラ8
などの各回路から構成され、これらの各回路はアドレス
バスIAB、データバスIDB、リード/ライトやアク
セスデータサイズなどを知らせるための制御バスICB
などの内部バスによって接続されている。また、マイク
ロコンピュータ100の外部には、シリアル転送される
プログラムを格納している外部シリアルフラッシュメモ
リ200が接続されている。
【0027】CPU1は、アドレスバスIAB、データ
バスIDB、制御バスICBなどの内部バスに接続さ
れ、マイクロコンピュータ100の全体の制御を司る制
御手段である。また、このCPU1は、外部シリアルフ
ラッシュメモリ200からプログラム用内蔵RAM4へ
のプログラム転送終了後に、バスコントローラ8からバ
ス権使用許可信号が供給され、バス権の使用が許可され
た後は、このCPU1の管理下において、プログラム用
内蔵RAM4に格納されているプログラムに従って動作
が可能となっている。
【0028】シリアルフラッシュインタフェース回路2
は、プログラム転送回路3に接続されるとともに、マイ
クロコンピュータ100の外部に外部シリアルフラッシ
ュメモリ200が接続可能となっており、CPU1と独
立に転送可能であり、外部に接続された外部シリアルフ
ラッシュメモリ200との間でプログラムのシリアル転
送をインタフェースするシリアルインタフェース手段で
ある。
【0029】プログラム転送回路3は、シリアルフラッ
シュインタフェース回路2に接続されるとともに、アド
レスバスIAB、データバスIDB、制御バスICBな
どの内部バスに接続され、シリアルフラッシュインタフ
ェース回路2を通して外部シリアルフラッシュメモリ2
00に格納されていたプログラムを読み込んで転送する
プログラム転送手段である。また、このプログラム転送
回路3は、起動モード時、CPU1が動作する前に、バ
スコントローラ8からプログラム転送開始信号が供給さ
れ、外部シリアルフラッシュメモリ200からプログラ
ム用内蔵RAM4へのプログラム転送を実行することが
可能となっている。さらに、プログラムの転送が終了す
ると、バスコントローラ8に対して転送終了信号を供給
し、プログラム転送が終了したことをバスコントローラ
8に知らせることが可能となっている。
【0030】プログラム用内蔵RAM4は、アドレスバ
スIAB、データバスIDB、制御バスICBなどの内
部バスに接続され、プログラム転送回路3により転送さ
れてきたプログラムを書き込むプログラム用内蔵メモリ
である。また、このプログラム用内蔵RAM4は、制御
バスICBとの間に書き込みマスク回路5が介在され、
この制御バスICBのコマンドと、バスコントローラ8
の内部の書き込み許可レジスタ9の値に応じて、書き込
みの許可または禁止の制御が可能となっている。
【0031】書き込みマスク回路5は、プログラム用内
蔵RAM4と、制御バスICBおよびバスコントローラ
8の内部の書き込み許可レジスタ9との間に介在され、
プログラム用内蔵RAM4に外部シリアルフラッシュメ
モリ200から読み込まれたプログラムが書き込まれた
後は、プログラム用内蔵RAM4内のプログラムが書き
込まれた領域への書き込みを禁止する書き込み禁止手段
である。
【0032】汎用シリアルインタフェース回路6は、ア
ドレスバスIAB、データバスIDB、制御バスICB
などの内部バスに接続され、シリアルフラッシュインタ
フェース回路2とは別に、外部に接続されたデバイスと
の間でデータのシリアル転送をインタフェースするシリ
アルインタフェース手段である。
【0033】データ用内蔵RAM7は、アドレスバスI
AB、データバスIDB、制御バスICBなどの内部バ
スに接続され、マイクロコンピュータ100の動作にお
ける入力データおよび出力データや処理中のデータを格
納するデータ用内蔵メモリである。
【0034】バスコントローラ8は、プログラム転送回
路3、CPU1に接続され、内部バスの動作を調停する
バス制御手段である。このバスコントローラ8は、プロ
グラム転送回路3に対してプログラム転送開始信号を供
給し、そしてプログラムの転送が終了すると、プログラ
ム転送回路3から転送終了信号を受け、CPU1に対し
てプログラム転送が終了したことを知らせることが可能
となっている。また、このバスコントローラ8は、起動
モード端子、リセット端子を介して外部にユーザ回路が
接続可能となっており、起動モード端子からリセット解
除後のマイクロコンピュータ100の起動方法を指定
し、またリセット端子からリセット解除を指定すること
が可能となっている。さらに、このバスコントローラ8
は、内部に書き込み許可レジスタ9を持ち、この書き込
み許可レジスタ9の値に基づいて、プログラム用内蔵R
AM4への書き込みを許可または禁止することが可能と
なっている。
【0035】外部シリアルフラッシュメモリ200は、
マイクロコンピュータ100のシリアルフラッシュイン
タフェース回路2に接続され、このシリアルフラッシュ
インタフェース回路2を通してシリアル転送されるプロ
グラムを格納している外部不揮発性メモリである。この
外部シリアルフラッシュメモリ200は、シリアルイン
タフェースでマイクロコンピュータ100と接続できる
ようになっており、通常、シリアルクロックSCK、シ
リアルデータ出力SDO、シリアルデータ入力SDIに
示す3つの信号線で接続が可能となっている。
【0036】以上のように構成されるマイクロコンピュ
ータ100においては、特にアドレスバスIAB、デー
タバスIDB、制御バスICBなどからなる内部バス
に、CPU1、プログラム転送回路3、プログラム用内
蔵RAM4、データ用内蔵RAM7がつながっており、
CPU1とプログラム転送回路3の2つが積極的に内部
バスを使ってデータをアクセスするバスマスタである。
さらに、内部バスの動作を調停するバスコントローラ8
には、マイクロコンピュータ100のリセット信号がつ
ながっており、リセット解除後、バス権をCPU1では
なく、プログラム転送回路3に与える。また、プログラ
ム転送の終了後は、バス権をプログラム転送回路3から
CPU1に戻す。このように、バス権を持ったバスマス
タだけが、アドレスバスIAB、制御バスICBを駆動
し、データバスIDBを使ってデータをアクセスするこ
とが許可されるようになっている。
【0037】次に、図2により、本実施の形態のマイク
ロコンピュータ100において、起動モードの動作フロ
ーの一例を説明する。
【0038】(1)起動モードにおいて、マイクロコン
ピュータ100の電源投入後、リセットを解除した後
に、このリセット解除後のマイクロコンピュータ100
の起動方法を指定するための起動モード端子のレベル
が、たとえば“High”レベルであるか否かを判定し
(ステップS101)、“High”レベルでない場合
はプログラム転送回路3が起動し、“High”レベル
の場合にはプログラム用内蔵RAM4への書き込み禁止
処理(ステップS105)に移行する。
【0039】すなわち、リセット解除後、通常はCPU
1にバス権が与えられており、CPU1が内部バスを通
してプログラムを読み込み動作するが、本実施の形態で
は、リセット解除後のバス権がCPU1に持っていない
ため、CPU1の動作が保留される。
【0040】(2)プログラム転送回路3が起動すると
(ステップS102)、この間にバス権を与えられたプ
ログラム転送回路3が、シリアルフラッシュインタフェ
ース回路2を通して、外部シリアルフラッシュメモリ2
00からプログラムを読み込み、プログラム用内蔵RA
M4へ書き込む(ステップS103)。そして、外部シ
リアルフラッシュメモリ200からプログラム用内蔵R
AM4へのプログラムの転送が終了したか否かを判定す
る。
【0041】(3)プログラム転送が終了したか否かの
判定の結果(ステップS104)、プログラムの転送が
終了していなければ、外部シリアルフラッシュメモリ2
00からプログラム用内蔵RAM4へのプログラムの転
送を繰り返し、プログラム転送回路3がプログラムを転
送し終わると、バスコントローラ8に対してプログラム
の転送終了を知らせる転送終了信号をアサートする。
【0042】(4)バスコントローラ8は、プログラム
転送回路3から転送終了信号を受け取ると、CPU1、
プログラム転送回路3からリード/ライトすることが可
能な書き込み許可レジスタ9に、たとえば“0”を書き
込み、プログラム用内蔵RAM4内のプログラムが書き
込まれた領域への書き込みを禁止する(ステップS10
5)。
【0043】この際に、書き込み許可レジスタ9に
“0”が書き込まれると、プログラム用内蔵RAM4と
制御バスICBとの間にある書き込みマスク回路5が制
御バスICBに出力された書き込み信号をマスクする。
なお、リセット解除直後、書き込み許可レジスタ9の値
は“1”であり、プログラム用内蔵RAM4への書き込
みは許可されている。
【0044】このように、外部シリアルフラッシュメモ
リ200からプログラムを転送し終わった後では、プロ
グラム用内蔵RAM4は、従来の内蔵ROMのように書
き換えできないことを期待している場合が多いので、書
き込み許可レジスタ9に“0”を書き込むことにより、
プログラム用内蔵RAM4への書き込みを禁止すること
ができる。
【0045】(5)バスコントローラ8は、プログラム
転送回路3からの転送終了信号を受け取ると、バス権を
プログラム転送回路3からCPU1へ切り替え、CPU
1を起動する(ステップS106)。そして、CPU1
は、バス権が戻った時点でプログラム用内蔵RAM4か
らプログラムを読み込み、実行を開始する(ステップS
107)。
【0046】以上の動作により、本実施の形態のマイク
ロコンピュータ100においては、外部シリアルフラッ
シュメモリ200から読み込んだプログラムをプログラ
ム用内蔵RAM4に書き込み、このプログラム用内蔵R
AM4に書き込んだプログラムに従ってCPUの実行を
開始することができる。
【0047】また、本実施の形態のマイクロコンピュー
タ100は、最初の電源投入時、外部シリアルフラッシ
ュメモリ200からプログラム用内蔵RAM4へプログ
ラムが転送されていれば、電源が供給されている間はプ
ログラム用内蔵RAM4の値は保持されているので、リ
セット端子によってマイクロコンピュータ100をリセ
ットするたびにプログラムを転送し直す必要はない。
【0048】さらに、起動モード端子のレベルが“Hi
gh”レベルだったときには、リセット解除後、CPU
1にバス権を与えるようにしておく。こうすることで、
前述とは逆にプログラム転送回路3の動作が保留され、
直ちにCPU1がプログラム用内蔵RAM4にあらかじ
め転送されていたプログラムを読み込み、実行を開始す
ることができる。
【0049】次に、図3および図4により、本実施の形
態のマイクロコンピュータ100を用いたシステムの構
成と、プログラムの開発フローの一例を説明する。
【0050】本実施の形態のマイクロコンピュータ10
0を用いたシステムは、たとえばプリンタシステムに適
用され、図3にプリンタシステムのプリンタ制御基板3
00を作成し、プログラム開発をパーソナルコンピュー
タ400上で行う場合の概略構成を、図4にその場合の
プログラムの開発フローの一例をそれぞれ示す。
【0051】図3に示すように、プリンタ制御基板30
0には、前述したマイクロコンピュータ100、USB
コネクタ310を介して外部とのインタフェースを制御
するUSBインタフェースコントローラ320、ヘッド
の動作を制御するヘッド制御回路330、モータの駆動
を制御するモータ制御回路340、バッファメモリとし
てのSDRAM350などの各LSIが搭載され、これ
らの各LSIは基板上のバスによって接続されている。
【0052】また、このプリンタ制御基板300上に
は、マイクロコンピュータ100と接続されるメモリカ
ード360のメモリカードコネクタ370が搭載され、
このコネクタ370にメモリカード360が挿抜可能と
なっている。このメモリカード360には、前述したシ
リアルインタフェースを持つフラッシュメモリ200が
内蔵されている。
【0053】このプリンタシステムは、外部に接続され
たホストパーソナルコンピュータ(図示せず)からUS
Bコネクタ310を通して送られてきた印字データを、
一旦、バッファメモリとしてのSDRAM350に転送
し、このSDRAM350に格納されたデータを加工す
るか、もしくはそのままヘッド制御回路330に送り印
字する。同時に、モータ制御回路340によりモータを
制御し、紙送り、ヘッドの移動などを制御する。
【0054】このプリンタシステムでは、複数のモータ
を制御しながら、同時にヘッドにデータを送り印字する
という、複雑な制御プログラムをデバッグするため、マ
イクロコンピュータ100のプログラムは頻繁に書き換
えられる。この制御プログラムは、メモリカード360
に内蔵したフラッシュメモリ200に格納されている。
この制御プログラムの開発フローを、図4に従って以下
に説明する。
【0055】(1)ユーザは、パーソナルコンピュータ
400上でプログラムを作成すると(ステップS20
1)、メモリカードライタ500を使って、プログラム
をメモリカード360内のフラッシュメモリ200に書
き込む(ステップS202)。
【0056】(2)メモリカード360をプリンタ制御
基板300上に取り付けたメモリカードコネクタ370
に挿入し(ステップS203)、これによってマイクロ
コンピュータ100の起動ROMとしての動作が可能と
なる。
【0057】(3)プリンタシステムの電源を投入する
と、前述したように、メモリカード360内のフラッシ
ュメモリ200からマイクロコンピュータ100内のプ
ログラム用内蔵RAM4へプログラムを転送し、CPU
1はそこからフェッチして起動する。
【0058】(4)プリンタシステムの起動後に、プロ
グラムの動作を確認し(ステップS204)、この動作
確認の結果、良好であれば正規のプログラムとして開発
を終了し、また不良であればプログラムを修正する。
【0059】(5)プログラムの動作確認の結果、プロ
グラムを修正する必要が生じた場合には、プリンタ制御
基板300上に取り付けたメモリカードコネクタ370
からメモリカード360を抜き出して、パーソナルコン
ピュータ400上でプログラムを修正する(ステップS
201)。
【0060】(6)プログラムの修正後は、再び前述し
た処理を繰り返し、メモリカードライタ500を使っ
て、修正したプログラムをメモリカード360内のフラ
ッシュメモリ200に書き込む(ステップS202)。
【0061】(7)修正したプログラムを書き込んだメ
モリカード360をプリンタ制御基板300上のメモリ
カードコネクタ370に挿入する(ステップS20
3)。
【0062】(8)プリンタシステムの電源を投入し、
メモリカード360内のフラッシュメモリ200からマ
イクロコンピュータ100内のプログラム用内蔵RAM
4へプログラムを転送した後、修正したプログラムの動
作を確認し(ステップS204)、良好となるまで修
正、書き込み、動作確認のサイクルを繰り返すことによ
り、所望とするプログラムを開発することができる。
【0063】従って、本実施の形態のマイクロコンピュ
ータ100によれば、電源投入時、CPU1が動作する
前に、フラッシュメモリ200からプログラムを読み込
み、プログラム用内蔵RAM4に転送し、CPU1がプ
ログラム用内蔵RAM4上のプログラムを実行すること
により、入手困難なマスクROMを必要とせず、汎用の
マイクロコンピュータ100を提供することができる。
さらに、シリアルインタフェースであるため、接続に必
要な端子数を3本程度にできるため、マイクロコンピュ
ータ100の端子数を大幅に削減することができる。
【0064】また、このマイクロコンピュータ100
は、フラッシュメモリ200と、プログラム用内蔵RA
M4との組み合わせによって、マスクROMを内蔵した
場合と同じ効果を期待するものであるから、必要に応じ
て、プログラム用内蔵RAM4への書き込みを禁止する
ことができる。
【0065】この結果、ユーザの使い勝手が向上する。
すなわち、マスクROMが入手できない場合、マイクロ
コンピュータ100の内蔵ROMを起こすしか選択肢は
なかったが、この場合、マイクロコンピュータ100の
製造後に、ユーザプログラムのバグが見つかった場合、
製造してしまったマイクロコンピュータ100は救済不
能で、全て損失となってしまっていた。しかし、本実施
の形態のように、比較的入手容易なフラッシュメモリ2
00にプログラムを置くことが可能となり、ユーザプロ
グラムのバグが見つかった場合でも、フラッシュメモリ
200の内容を書き換えるだけで対応することができ
る。
【0066】(実施の形態2)図5は本発明の実施の形
態2のマイクロコンピュータを示すブロック図、図6は
本実施の形態のマイクロコンピュータにおいて、CPU
のメモリ空間のアドレス割付を変更する場合を示す説明
図、図7は起動モードの動作を示すフロー図である。
【0067】まず、図5により、本実施の形態のマイク
ロコンピュータの構成および動作の一例を説明する。
【0068】本実施の形態と前記実施の形態1との相違
点は、プログラム転送回路3の代わりに、シリアルフラ
ッシュインタフェース回路2を通して外部シリアルフラ
ッシュメモリ200に格納されていたプログラムを読み
込んで転送するプログラム転送用プログラムを格納した
プログラム転送用内蔵メモリとしてのプログラム転送用
標準内蔵ROM10を内蔵している点である。
【0069】すなわち、本実施の形態のマイクロコンピ
ュータ100aは、たとえばシングルチップマイクロコ
ンピュータとされ、CPU1、シリアルフラッシュイン
タフェース回路2、プログラム用内蔵RAM4、書き込
みマスク回路5、汎用シリアルインタフェース回路6、
データ用内蔵RAM7、バスコントローラ8、プログラ
ム転送用標準内蔵ROM10、アドレス割付変更回路
(A)11、アドレス割付変更回路(B)12などの各
回路から構成され、バスコントローラ8には書き込み許
可レジスタ9の他に転送終了レジスタ13が設けられて
いる。
【0070】本実施の形態のマイクロコンピュータ10
0aでは、CPU1が常に最下位アドレス“0x000
000”から実行を開始する。また、シリアルフラッシ
ュインタフェース回路2をCPU1からアクセス可能と
し、さらにプログラム転送用標準内蔵ROM10が設け
られている。このプログラム転送用標準内蔵ROM10
は、アドレスバスIAB、データバスIDB、制御バス
ICBなどの内部バスに接続されている。
【0071】さらに、バスコントローラ8の内部には、
CPU1からリード/ライト可能な転送終了レジスタ1
3が設けられている。この転送終了レジスタ13は、プ
ログラム用内蔵RAM4のアドレス信号を変更するアド
レス割付変更回路(A)11、ならびにプログラム転送
用標準内蔵ROM10のアドレス信号を変更するアドレ
ス割付変更回路(B)12にそれぞれ接続され、この転
送終了レジスタ13の値はアドレス割付変更信号として
用いられる。また、転送終了レジスタ13からは、アド
レス割付が変わったことを知らせるCPUリセット信号
がCPU1に供給される。アドレス割付変更回路(A)
11,(B)12は、プログラム用内蔵RAM4、プロ
グラム転送用標準内蔵ROM10と、アドレスバスIA
Bとの間に介在されている。
【0072】次に、図6および図7により、本実施の形
態のマイクロコンピュータ100aにおいて、CPU1
のメモリ空間のアドレス割付を変更する場合の一例を説
明する。
【0073】図6に示すように、アドレス割付変更回路
(A)11,(B)12は、アドレス割付変更信号の値
によって、接続された各メモリのアドレス割付を変更す
る。たとえば、図6(a)に示すように、アドレス割付
変更信号が“0”の時、最下位アドレス“0x0000
00”にはプログラム転送用標準内蔵ROM10が割り
付けられ、さらにプログラム用内蔵RAM4はアドレス
“0x010000”に割り付けられている。また、ア
ドレス割付変更信号が“1”の時、図6(b)に示すよ
うに、最下位アドレス“0x000000”にはプログ
ラム用内蔵RAM4が割り付けられ、この場合、必要の
ないプログラム転送用標準内蔵ROM10はメモリ空間
には割り付けられない。なお、シリアルフラッシュイン
タフェース回路2、データ用内蔵RAM7は、アドレス
“0x030000”に割り付けられている。
【0074】また、転送終了レジスタ13の初期値は、
リセットの解除時、起動モード端子のレベルによって異
なる。たとえば、リセットの解除時、起動モード端子が
“Low”レベルの場合、転送終了レジスタ13の初期
値を“0”、起動モード端子が“High”レベルの場
合、転送終了レジスタ13の初期値を“1”とする。以
上より、リセットの解除時、起動モード端子が“Lo
w”レベルの場合、転送終了レジスタ13の初期値が
“0”のため、アドレス割付は図6(a)のようにな
り、CPU1はプログラム転送用標準内蔵ROM10か
らプログラムを読み込み、実行する。
【0075】このプログラム転送用標準内蔵ROM10
には、図7に示すような簡単な初期プログラムが格納さ
れており、この初期プログラムに従い、シリアルフラッ
シュインタフェース回路2を初期化した後は(ステップ
S301)、外部シリアルフラッシュメモリ200から
ユーザプログラムをプログラム用内蔵RAM4へ転送す
る(ステップS302)。そして、転送が終了すると
(ステップS303)、CPU1は転送終了レジスタ1
3に“1”を書き込む(ステップS304)。
【0076】そして、バスコントローラ8は、転送終了
レジスタ13に“1”が書き込まれると、アドレス割付
が変わったことをCPU1に知らせるため、CPU1に
リセット信号をアサートする。これを受け、CPU1
は、バスコントローラ8がアサートしたリセット信号に
よりリセットされ、再び最下位アドレス“0x0000
00”から実行を開始するが、このときに転送終了レジ
スタ13の値は“1”となっているため、アドレス割付
は図6(b)のようになっており、CPU1はプログラ
ム用内蔵RAM4からプログラムを読み込んで実行す
る。
【0077】また、前記実施の形態1の場合と同様に、
電源投入後、一度、プログラムをプログラム用内蔵RA
M4へ転送してしまえば、電源が供給されている限り、
プログラム用内蔵RAM4の内容は保持されている。よ
って、マイクロコンピュータ100aをリセットするた
びにプログラムを外部シリアルフラッシュメモリ200
からプログラム用内蔵RAM4へ転送し直す必要はな
い。
【0078】このような場合、起動モード端子を“Hi
gh”レベルにしてリセットを解除することにより、転
送終了レジスタ13の初期値を“1”としてマイクロコ
ンピュータ100aを起動することができる。この際
に、転送終了レジスタ13の値が“1”なので、アドレ
ス割付は図6(b)となり、プログラム用内蔵RAM4
からプログラムを読み込み、実行する。
【0079】従って、本実施の形態のマイクロコンピュ
ータ100aによれば、電源投入時、CPU1がプログ
ラム転送用標準内蔵ROM10の初期プログラムを実行
し、外部シリアルフラッシュメモリ200からプログラ
ムを読み込み、プログラム用内蔵RAM4に転送し、C
PU1がプログラム用内蔵RAM4上のプログラムを実
行することにより、前記実施の形態1と同様の効果を得
ることができる。
【0080】特に、本実施の形態のマイクロコンピュー
タ100aでは、プログラムの転送をハードウェアで行
う前記実施の形態1の場合に比べて、CPU1がプログ
ラム転送用標準内蔵ROM10のプログラム(ソフトウ
ェア)に従って、プログラム転送を行う分、回路構成を
簡略化でき、自由度も上がる点で有利である。ただし、
プログラム転送をCPU1で行うため、転送に要する時
間が長くなることが今後の改善課題となる。
【0081】(実施の形態3)図8は本発明の実施の形
態3のマイクロコンピュータを示すブロック図、図9は
本実施の形態のマイクロコンピュータにおいて、メモリ
空間を分割する場合を示す説明図、図10はメモリマネ
ージメントユニットを示すブロック図、図11はアドレ
ス比較器を示す回路図である。
【0082】まず、図8により、図9を参照しながら、
本実施の形態のマイクロコンピュータの構成および動作
の一例を説明する。
【0083】本実施の形態と前記実施の形態1および2
との相違点は、外部シリアルフラッシュメモリ200の
メモリ空間の任意のアドレスページをプログラム用内蔵
RAM4のメモリ空間に割り付け、CPU1による外部
シリアルフラッシュメモリ200のメモリ空間へのアク
セスを、割り付けたプログラム用内蔵RAM4のメモリ
空間へのアクセスに切り替えるメモリマネージメント手
段としてのMMU(メモリマネージメントユニット)1
4を内蔵している点である。
【0084】すなわち、本実施の形態のマイクロコンピ
ュータ100bは、たとえばシングルチップマイクロコ
ンピュータとされ、CPU1、シリアルフラッシュイン
タフェース回路2、プログラム用内蔵RAM4、汎用シ
リアルインタフェース回路6、データ用内蔵RAM7、
バスコントローラ8、MMU14、例外処理用標準内蔵
ROM15などの各回路から構成され、MMU14には
例外アドレスレジスタ16が設けられている。
【0085】本実施の形態のマイクロコンピュータ10
0bでは、CPU1が外部シリアルフラッシュメモリ2
00のメモリ空間の任意のアドレスページをプログラム
用内蔵RAM4のメモリ空間のアドレスページに割り付
けてアクセス可能なMMU14を介して、内部のアドレ
スバスIABと接続されている。さらに、MMU14か
らは、例外処理の実行を指示するための例外要求の信号
がCPU1に供給される。また、例外処理用標準内蔵R
OM15は、アドレスバスIAB、データバスIDB、
制御バスICBなどの内部バスに接続されている。
【0086】MMU14は、図9に示すように、プログ
ラム用内蔵RAM4のメモリ空間を、たとえば8つのペ
ージに分割する(図9(b))。また、外部シリアルフ
ラッシュメモリ200のメモリ空間も同じサイズのペー
ジに分割して管理し(図9(a))、CPU1の外部シ
リアルフラッシュメモリ200のメモリ空間へのアクセ
スを、割り付けたプログラム用内蔵RAM4のメモリ空
間のアクセスにすり替える。
【0087】また、CPU1がアクセスしようとしたペ
ージが、プログラム用内蔵RAM4に未割り付けの領域
だった場合、MMU14はCPU1に対して例外要求を
アサートする。同時に、CPU1から参照可能な例外ア
ドレスレジスタ16に例外要求の要因となったアドレス
値を格納する。そして、CPU1は、例外要求を受け付
けると、その時点でユーザプログラムの実行を保留し、
例外処理用標準内蔵ROM15に記憶された例外処理ル
ーチンの実行を開始する。
【0088】この例外処理用標準内蔵ROM15には、
以下の処理を行う例外処理ルーチンが記憶されている。
【0089】(1)プログラム用内蔵RAM4の未使用
領域を探す。全てのページが割り付け済み(使用中)の
場合には、一番古く割り付けたページ、または使用頻度
の低いページを探す。
【0090】(2)MMU14内の例外アドレスレジス
タ16を参照し、前記(1)で見つけたページに例外要
求の要因となったアドレスを含むページを割り当てる。
実効的には、MMU14内のページアドレスレジスタの
値を書き換えればよい。
【0091】(3)割り当てたプログラム用内蔵RAM
4のページに、対応する外部シリアルフラッシュメモリ
200の内容を、シリアルフラッシュインタフェース回
路2を経由して転送する。
【0092】(4)例外要求の起きた命令に戻って、ユ
ーザプログラムを再び実行する。
【0093】以上のようにして、CPU1がアクセスし
ようとしたページがプログラム用内蔵RAM4に未割り
付けの領域だった場合には、例外処理ルーチンを実行
し、割り当てることが可能なプログラム用内蔵RAM4
のページを探索し、このページに、対応する外部シリア
ルフラッシュメモリ200の内容を転送することができ
る。
【0094】次に、図10により、MMU14の構成お
よび動作の一例を説明する。
【0095】MMU14は、アドレスデコーダAD1、
8個のページアドレスレジスタ(0)PAR1〜(7)
PAR8、8個のアドレス比較器AC1〜AC8、8入
力のNOR回路NOR1、2入力のAND回路AND
1、トライステートバッファTB1などから構成され、
たとえば1つのページのデータ量を8kバイトとした場
合に、8kバイトのメモリ空間をアクセスするのに必要
なアドレス信号は13本なので、CPU1の出力アドレ
スADRの下位13ビットのアドレスADR[12:
0]はそのままアドレスバスIAB[12:0]に出力
する。
【0096】アドレスデコーダAD1は、CPU1の出
力アドレスADRの上位6ビットのアドレスADR[2
3:18]をデコードして、マイクロコンピュータ10
0bの全体のメモリ空間の一部に割り当てられた外部シ
リアルフラッシュメモリ200のメモリ空間をデコード
し、ヒットしたときは外部シリアルフラッシュメモリ2
00のメモリ空間へのアクセス信号を“1”にアサート
する。
【0097】8個のページアドレスレジスタPAR1〜
PAR8はそれぞれ、外部シリアルフラッシュメモリ2
00のメモリ空間のどのアドレスページを、プログラム
用内蔵RAM4のメモリ空間のどのアドレスページに割
り当てるか、という対応表を保持するレジスタであり、
2つの値(ソースページアドレスSPA[17:1
3]、ディスティネーションページアドレスDPA[1
7:13])をアドレス比較器AC1〜AC8に出力す
る。このページアドレスレジスタPAR1〜PAR8の
値は、CPU1からリード/ライト可能である。
【0098】8個のアドレス比較器AC1〜AC8には
それぞれ、CPU1の出力アドレスADRのうち、ペー
ジを特定する信号に当たる中位のアドレスADR[1
7:13]が入力され、ページアドレスレジスタ(0)
PAR1〜(7)PAR8の値(ソースページアドレス
SPA[17:13])と比較する。各アドレス比較器
AC1〜AC8の比較結果はNOR回路NOR1に入力
され、否定論理和演算により不一致信号としてAND回
路AND1に出力する。このAND回路AND1では、
不一致信号とアドレスデコーダAD1からの外部シリア
ルフラッシュメモリ200のメモリ空間へのアクセス信
号とが論理積演算され、CPU1への例外要求の信号を
出力する。
【0099】次に、図11により、アドレス比較器AC
1(AC2〜AC8も同様)の構成および動作の一例を
説明する。
【0100】アドレス比較器AC1は、5個のEOR回
路EOR1〜EOR5、5入力のAND回路AND2、
2入力のAND回路AND3、トライステートバッファ
TB2などから構成され、入力されたCPU1の出力ア
ドレスADR[17:13]と、ソースページアドレス
SPA[17:13]がEOR回路EOR1〜EOR5
による排他的論理和演算とAND回路AND2による論
理積演算で一致/不一致が調べられ、値が一致したとき
に“1”を出力する。このAND回路AND2の出力は
AND回路AND3に入力され、このAND回路AND
3において、アドレスページの割り付けは外部シリアル
フラッシュメモリ200のメモリ空間へのアクセス時に
のみ有効となるので、この外部シリアルフラッシュメモ
リ200のメモリ空間へのアクセス信号と論理積演算し
た信号を比較結果として出力する。
【0101】また、比較結果が一致(“1”)したと
き、ディスティネーションページアドレスDPA[1
7:13]をアドレスADR[17:13]の代わり
に、アドレスバスIAB[17:13]の値として出力
する。
【0102】従って、本実施の形態のマイクロコンピュ
ータ100bによれば、前記実施の形態1および2と同
様の効果を得ることができ、特に前記実施の形態1およ
び2に比べて、プログラム用内蔵RAM4の容量を超え
る容量の外部シリアルフラッシュメモリ200を有効に
活用できる点で有利である。ただし、ユーザがプログラ
ムを作る際に、ページ境界を意識して作らないと、頻繁
にページ割り付けの変更が起こって実行速度を低下させ
る恐れがあるので、この点が改善課題となる。
【0103】以上、本発明者によってなされた発明をそ
の実施の形態に基づき具体的に説明したが、本発明は前
記実施の形態に限定されるものではなく、その要旨を逸
脱しない範囲で種々変更可能であることはいうまでもな
い。
【0104】たとえば、前記実施の形態においては、半
導体集積回路装置の一例としてマイクロコンピュータを
例に説明したが、これに限定されるものではなく、前述
したようなCPU、シリアルインタフェース手段、プロ
グラム転送手段、プログラム用内蔵メモリなどを有する
構成であればよいので、これらの構成要素を含む半導体
集積回路装置全般に広く適用することができる。
【0105】また、システムについても、プリンタシス
テムに限定されるものではなく、前述した半導体集積回
路装置、外部不揮発性メモリなどを基板上に搭載するシ
ステム全般に広く適用可能である。さらに、このシステ
ムの開発においては、外部不揮発性メモリが基板上から
挿抜可能となっていることが必要である。
【0106】さらに、前記実施の形態では、マイクロコ
ンピュータの外部にシリアルインタフェースを持ったフ
ラッシュメモリを接続する場合を説明したが、たとえば
EEPROMなどの他の不揮発性メモリについても適用
することができる。
【0107】また、外部に接続するデバイスは、データ
を保持し、シーケンシャルにアクセスできさえすればよ
く(ランダムアクセスできる必要はない)、たとえばU
SBインタフェースとパーソナルコンピュータのような
組み合わせでもよい。この場合は、パーソナルコンピュ
ータ上のHDDなどに保持されたマイクロコンピュータ
の実行プログラムを、マイクロコンピュータの電源投入
時にUSBインタフェースを通して内蔵RAMへ転送し
て実行することができる。
【0108】
【発明の効果】本願において開示される発明のうち、代
表的なものによって得られる効果を簡単に説明すれば、
以下のとおりである。
【0109】(1)電源投入時、外部不揮発性メモリか
らプログラムを読み込んでプログラム用内蔵メモリに書
き込み、CPUがプログラム用内蔵メモリ上のプログラ
ムを実行することができ、また必要に応じてプログラム
用内蔵メモリへの書き込みを禁止することができるの
で、プログラム格納用のマスクROMを内蔵せず、この
マスクROMを内蔵した場合と同じ効果を得ることがで
きる汎用のマイクロコンピュータを含む半導体集積回路
装置、およびこの半導体装置を用いたシステムを提供す
ることが可能となる。
【0110】(2)外部不揮発性メモリとの接続がシリ
アルインタフェースであるため、この接続に必要な端子
数を3本程度に低減することができるので、マイクロコ
ンピュータを含む半導体集積回路装置の端子数を大幅に
削減することが可能となる。
【0111】(3)外部不揮発性メモリにプログラムを
格納しておくことにより、ユーザプログラムのバグが見
つかった場合でも、外部不揮発性メモリの内容を書き換
えるだけで対応することができるので、ユーザの使い勝
手が向上する半導体集積回路装置を用いたシステムの開
発技術を提供することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態1のマイクロコンピュータ
を示すブロック図である。
【図2】本発明の実施の形態1のマイクロコンピュータ
において、起動モードの動作を示すフロー図である。
【図3】本発明の実施の形態1のマイクロコンピュータ
を用いたシステムを示すブロック図である。
【図4】本発明の実施の形態1のマイクロコンピュータ
を用いたシステムにおいて、プログラムの開発を示すフ
ロー図である。
【図5】本発明の実施の形態2のマイクロコンピュータ
を示すブロック図である。
【図6】(a),(b)は本発明の実施の形態2のマイ
クロコンピュータにおいて、CPUのメモリ空間のアド
レス割付を変更する場合を示す説明図である。
【図7】本発明の実施の形態2のマイクロコンピュータ
において、起動モードの動作を示すフロー図である。
【図8】本発明の実施の形態3のマイクロコンピュータ
を示すブロック図である。
【図9】(a),(b)は本発明の実施の形態3のマイ
クロコンピュータにおいて、メモリ空間を分割する場合
を示す説明図である。
【図10】本発明の実施の形態3のマイクロコンピュー
タにおいて、メモリマネージメントユニットを示すブロ
ック図である。
【図11】本発明の実施の形態3のマイクロコンピュー
タにおいて、アドレス比較器を示す回路図である。
【符号の説明】
1 CPU 2 シリアルフラッシュインタフェース回路 3 プログラム転送回路 4 プログラム用内蔵RAM 5 書き込みマスク回路 6 汎用シリアルインタフェース回路 7 データ用内蔵RAM 8 バスコントローラ 9 書き込み許可レジスタ 10 プログラム転送用標準内蔵ROM 11 アドレス割付変更回路(A) 12 アドレス割付変更回路(B) 13 転送終了レジスタ 14 MMU 15 例外処理用標準内蔵ROM 16 例外アドレスレジスタ 100,100a,100b マイクロコンピュータ 200 外部シリアルフラッシュメモリ 300 プリンタ制御基板 310 USBコネクタ 320 USBインタフェースコントローラ 330 ヘッド制御回路 340 モータ制御回路 350 SDRAM 360 メモリカード 370 メモリカードコネクタ 400 パーソナルコンピュータ 500 メモリカードライタ AD1 アドレスデコーダ PAR1〜PAR8 ページアドレスレジスタ(0)〜
(7) AC1〜AC8 アドレス比較器 NOR1 NOR回路 AND1〜AND3 AND回路 TB1,TB2 トライステートバッファ EOR1〜EOR5 EOR回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 西野 辰郎 北海道亀田郡七飯町字中島145番地 日立 北海セミコンダクタ株式会社内 (72)発明者 花井 孝子 北海道亀田郡七飯町字中島145番地 日立 北海セミコンダクタ株式会社内 Fターム(参考) 5B025 AD00 AD01 AE00 5B062 FF02 JJ10 5B076 BB12 BB18

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 CPUと、 前記CPUと独立に転送可能であり、外部に接続された
    外部不揮発性メモリとの間でプログラムのシリアル転送
    をインタフェースするシリアルインタフェース手段と、 前記シリアルインタフェース手段を通して前記外部不揮
    発性メモリに格納されていたプログラムを読み込んで転
    送するプログラム転送手段と、 前記プログラム転送手段により転送されてきた前記プロ
    グラムを書き込むプログラム用内蔵メモリとを有し、 起動モード時、前記CPUが動作する前に、前記プログ
    ラム転送手段が前記シリアルインタフェース手段を通し
    て前記外部不揮発性メモリからプログラムを読み込んで
    前記プログラム用内蔵メモリに書き込み、前記CPUが
    前記プログラム用内蔵メモリに書き込まれたプログラム
    を読み込んで実行を開始することを特徴とする半導体集
    積回路装置。
  2. 【請求項2】 請求項1記載の半導体集積回路装置にお
    いて、 前記プログラム用内蔵メモリに前記外部不揮発性メモリ
    から読み込まれたプログラムが書き込まれた後は、前記
    プログラム用内蔵メモリ内の前記プログラムが書き込ま
    れた領域への書き込みを禁止する書き込み禁止手段を有
    することを特徴とする半導体集積回路装置。
  3. 【請求項3】 請求項1記載の半導体集積回路装置にお
    いて、 前記シリアルインタフェース手段とは別に、外部に接続
    されたデバイスとの間でデータ転送をインタフェースす
    る汎用インタフェース手段を有することを特徴とする半
    導体集積回路装置。
  4. 【請求項4】 請求項1記載の半導体集積回路装置にお
    いて、 前記外部不揮発性メモリのメモリ空間の任意のアドレス
    ページを前記プログラム用内蔵メモリのメモリ空間に割
    り付け、前記CPUによる前記外部不揮発性メモリのメ
    モリ空間へのアクセスを、前記割り付けた前記プログラ
    ム用内蔵メモリのメモリ空間へのアクセスに切り替える
    メモリマネージメント手段を有することを特徴とする半
    導体集積回路装置。
  5. 【請求項5】 CPUと、 前記CPUと独立に転送可能であり、外部に接続された
    外部不揮発性メモリとの間でプログラムのシリアル転送
    をインタフェースするシリアルインタフェース手段と、 前記シリアルインタフェース手段を通して前記外部不揮
    発性メモリに格納されていたプログラムを読み込んで転
    送するプログラム転送用プログラムを格納したプログラ
    ム転送用内蔵メモリと、 前記プログラム転送用内蔵メモリに格納されていたプロ
    グラム転送用プログラムにより転送されてきた前記プロ
    グラムを書き込むプログラム用内蔵メモリとを有し、 起動モード時、前記CPUが前記プログラム転送用内蔵
    メモリに格納されていたプログラム転送用プログラムを
    実行し、前記シリアルインタフェース手段を通して前記
    外部不揮発性メモリからプログラムを読み込んで前記プ
    ログラム用内蔵メモリに書き込み、前記CPUが前記プ
    ログラム用内蔵メモリに書き込まれたプログラムを読み
    込んで実行を開始することを特徴とする半導体集積回路
    装置。
  6. 【請求項6】 請求項5記載の半導体集積回路装置にお
    いて、 前記プログラム用内蔵メモリに前記外部不揮発性メモリ
    から読み込まれたプログラムが書き込まれた後は、前記
    プログラム用内蔵メモリ内の前記プログラムが書き込ま
    れた領域への書き込みを禁止する書き込み禁止手段を有
    することを特徴とする半導体集積回路装置。
  7. 【請求項7】 請求項5記載の半導体集積回路装置にお
    いて、 前記シリアルインタフェース手段とは別に、外部に接続
    されたデバイスとの間でデータ転送をインタフェースす
    る汎用インタフェース手段を有することを特徴とする半
    導体集積回路装置。
  8. 【請求項8】 請求項5記載の半導体集積回路装置にお
    いて、 前記外部不揮発性メモリのメモリ空間の任意のアドレス
    ページを前記プログラム用内蔵メモリのメモリ空間に割
    り付け、前記CPUによる前記外部不揮発性メモリのメ
    モリ空間へのアクセスを、前記割り付けた前記プログラ
    ム用内蔵メモリのメモリ空間へのアクセスに切り替える
    メモリマネージメント手段を有することを特徴とする半
    導体集積回路装置。
  9. 【請求項9】 CPU、前記CPUと独立に転送可能で
    あり、プログラムのシリアル転送をインタフェースする
    シリアルインタフェース手段、前記シリアルインタフェ
    ース手段を通して前記プログラムを転送するプログラム
    転送手段、および前記プログラム転送手段により転送さ
    れてきた前記プログラムを書き込むプログラム用内蔵メ
    モリを有する半導体集積回路装置と、 前記半導体集積回路装置の前記シリアルインタフェース
    手段に接続され、前記シリアルインタフェース手段を通
    してシリアル転送される前記プログラムを格納している
    外部不揮発性メモリと、 前記半導体集積回路装置および前記外部不揮発性メモリ
    を搭載する基板とを有し、 起動モード時、前記CPUが動作する前に、前記プログ
    ラム転送手段が前記シリアルインタフェース手段を通し
    て前記外部不揮発性メモリからプログラムを読み込んで
    前記プログラム用内蔵メモリに書き込み、前記CPUが
    前記プログラム用内蔵メモリに書き込まれたプログラム
    を読み込んで実行を開始することを特徴とするシステ
    ム。
  10. 【請求項10】 CPU、前記CPUと独立に転送可能
    であり、プログラムのシリアル転送をインタフェースす
    るシリアルインタフェース手段、前記シリアルインタフ
    ェース手段を通して前記プログラムを転送するプログラ
    ム転送用プログラムを格納したプログラム転送用内蔵メ
    モリ、および前記プログラム転送用内蔵メモリに格納さ
    れていたプログラム転送用プログラムにより転送されて
    きた前記プログラムを書き込むプログラム用内蔵メモリ
    を有する半導体集積回路装置と、 前記半導体集積回路装置の前記シリアルインタフェース
    手段に接続され、前記シリアルインタフェース手段を通
    してシリアル転送される前記プログラムを格納している
    外部不揮発性メモリと、 前記半導体集積回路装置および前記外部不揮発性メモリ
    を搭載する基板とを有し、 起動モード時、前記CPUが前記プログラム転送用内蔵
    メモリに格納されていたプログラム転送用プログラムを
    実行し、前記シリアルインタフェース手段を通して前記
    外部不揮発性メモリからプログラムを読み込んで前記プ
    ログラム用内蔵メモリに書き込み、前記CPUが前記プ
    ログラム用内蔵メモリに書き込まれたプログラムを読み
    込んで実行を開始することを特徴とするシステム。
  11. 【請求項11】 CPUと、 前記CPUと独立に転送可能であり、外部に接続された
    外部不揮発性メモリとの間でプログラムのシリアル転送
    をインタフェースするシリアルインタフェース手段と、 前記シリアルインタフェース手段を通して前記外部不揮
    発性メモリに格納されていたプログラムを読み込んで転
    送するプログラム転送手段と、 前記プログラム転送手段により転送されてきた前記プロ
    グラムを書き込むプログラム用内蔵メモリとを有するこ
    とを特徴とする半導体集積回路装置。
  12. 【請求項12】 請求項11記載の半導体集積回路装置
    において、 起動モード時、前記CPUが動作する前に、前記プログ
    ラム転送手段が前記シリアルインタフェース手段を通し
    て前記外部不揮発性メモリからプログラムを読み込んで
    前記プログラム用内蔵メモリに書き込むことが可能で、 さらに、前記CPUは前記プログラム用内蔵メモリに書
    き込まれたプログラムを読み込んで実行を開始すること
    を特徴とする半導体集積回路装置。
  13. 【請求項13】 CPU、前記CPUと独立に転送可能
    であり、プログラムのシリアル転送をインタフェースす
    るシリアルインタフェース手段、前記シリアルインタフ
    ェース手段を通して前記プログラムを転送するプログラ
    ム転送手段、および前記プログラム転送手段により転送
    されてきた前記プログラムを書き込むプログラム用内蔵
    メモリを有する半導体集積回路装置と、 前記半導体集積回路装置の前記シリアルインタフェース
    手段に接続され、前記シリアルインタフェース手段を通
    してシリアル転送される前記プログラムを格納している
    外部不揮発性メモリと、 前記半導体集積回路装置および前記外部不揮発性メモリ
    を搭載する基板とを有し、 起動モード時、前記CPUが動作する前に、前記プログ
    ラム転送手段が前記シリアルインタフェース手段を通し
    て前記外部不揮発性メモリからプログラムを読み込んで
    前記プログラム用内蔵メモリに書き込み、前記CPUが
    前記プログラム用内蔵メモリに書き込まれたプログラム
    を読み込んで実行を開始するシステムの開発方法であっ
    て、 前記基板上に搭載された前記外部不揮発性メモリをコネ
    クタから抜き出して、前記外部不揮発性メモリに格納さ
    れているプログラムを修正する工程と、 前記修正したプログラムを格納した前記外部不揮発性メ
    モリを前記基板上のコネクタに挿入して、前記修正した
    プログラムの動作を確認する工程と、 前記修正したプログラムの動作確認の結果が良好となる
    まで修正を繰り返して正規のプログラムとして開発を終
    了する工程とを有することを特徴とするシステムの開発
    方法。
  14. 【請求項14】 CPU、前記CPUと独立に転送可能
    であり、プログラムのシリアル転送をインタフェースす
    るシリアルインタフェース手段、前記シリアルインタフ
    ェース手段を通して前記プログラムを転送するプログラ
    ム転送用プログラムを格納したプログラム転送用内蔵メ
    モリ、および前記プログラム転送用内蔵メモリに格納さ
    れていたプログラム転送用プログラムにより転送されて
    きた前記プログラムを書き込むプログラム用内蔵メモリ
    を有する半導体集積回路装置と、 前記半導体集積回路装置の前記シリアルインタフェース
    手段に接続され、前記シリアルインタフェース手段を通
    してシリアル転送される前記プログラムを格納している
    外部不揮発性メモリと、 前記半導体集積回路装置および前記外部不揮発性メモリ
    を搭載する基板とを有し、 起動モード時、前記CPUが前記プログラム転送用内蔵
    メモリに格納されていたプログラム転送用プログラムを
    実行し、前記シリアルインタフェース手段を通して前記
    外部不揮発性メモリからプログラムを読み込んで前記プ
    ログラム用内蔵メモリに書き込み、前記CPUが前記プ
    ログラム用内蔵メモリに書き込まれたプログラムを読み
    込んで実行を開始するシステムの開発方法であって、 前記基板上に搭載された前記外部不揮発性メモリをコネ
    クタから抜き出して、前記外部不揮発性メモリに格納さ
    れているプログラムを修正する工程と、 前記修正したプログラムを格納した前記外部不揮発性メ
    モリを前記基板上のコネクタに挿入して、前記修正した
    プログラムの動作を確認する工程と、 前記修正したプログラムの動作確認の結果が良好となる
    まで修正を繰り返して正規のプログラムとして開発を終
    了する工程とを有することを特徴とするシステムの開発
    方法。
JP2001338881A 2001-11-05 2001-11-05 半導体集積回路装置およびシステム、ならびにシステムの開発方法 Pending JP2003141096A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001338881A JP2003141096A (ja) 2001-11-05 2001-11-05 半導体集積回路装置およびシステム、ならびにシステムの開発方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001338881A JP2003141096A (ja) 2001-11-05 2001-11-05 半導体集積回路装置およびシステム、ならびにシステムの開発方法

Publications (1)

Publication Number Publication Date
JP2003141096A true JP2003141096A (ja) 2003-05-16

Family

ID=19153308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001338881A Pending JP2003141096A (ja) 2001-11-05 2001-11-05 半導体集積回路装置およびシステム、ならびにシステムの開発方法

Country Status (1)

Country Link
JP (1) JP2003141096A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006109427A (ja) * 2004-09-08 2006-04-20 Olympus Corp プログラムダウンロード装置及び方法、並びにカメラシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006109427A (ja) * 2004-09-08 2006-04-20 Olympus Corp プログラムダウンロード装置及び方法、並びにカメラシステム

Similar Documents

Publication Publication Date Title
KR100508087B1 (ko) 낸드 플래시 메모리를 이용한 부트 시스템 및 그 방법
US6112303A (en) Computer system with system ROM including serial-access PROM coupled to an auto-configuring memory controller and method of shadowing BIOS code from PROM
JP4819301B2 (ja) Nandフラッシュメモリを利用したブートシステム及びその方法
US8316200B2 (en) Microcomputer, electronic instrument, and flash memory protection method
US20060245274A1 (en) Apparatus and method for controlling NAND flash memory
US20050138288A1 (en) Dual mode USB and PCI express device
JP2007213571A (ja) 新奇的なメモリアーキテクチャ内の直接メモリアクセスを用いてシステムを起動する方法
JP2006502482A (ja) 非線形メモリからのブーティング
JP4226085B2 (ja) マイクロプロセッサ及びマルチプロセッサシステム
US20100169546A1 (en) Flash memory access circuit
US9395999B2 (en) Microcomputer having processor capable of changing endian based on endian information in memory
KR101620349B1 (ko) 부팅가능한 휘발성 메모리 장치와 그를 구비한 메모리 모듈 및 프로세싱 시스템, 및 그를 이용한 프로세싱 시스템 부팅 방법
US20030018873A1 (en) Method and system for concurrent updating of a microcontroller's program memory
US20030181994A1 (en) Microprocessor performing efficient external bus access
KR19980054349A (ko) 옵션 자동 설정 회로
JP2003141096A (ja) 半導体集積回路装置およびシステム、ならびにシステムの開発方法
JP3681590B2 (ja) データ処理装置及びデータ処理システム
JPH11184724A (ja) インサーキットエミュレータ及び半導体集積回路
JP4322284B2 (ja) シングルチップマイクロコンピュータ
JP5519191B2 (ja) 半導体集積回路およびテレビ
JP2002287994A (ja) マイクロコントローラ
JP2003067190A (ja) プログラム転送制御装置
JP2004078996A (ja) データ処理装置
JP2006040310A (ja) 半導体集積回路装置およびマイクロコンピュータ
JP2004086415A (ja) ディジタルシグナルプロセッサ制御装置