JPH11219299A - マイクロコンピュータ - Google Patents

マイクロコンピュータ

Info

Publication number
JPH11219299A
JPH11219299A JP10021305A JP2130598A JPH11219299A JP H11219299 A JPH11219299 A JP H11219299A JP 10021305 A JP10021305 A JP 10021305A JP 2130598 A JP2130598 A JP 2130598A JP H11219299 A JPH11219299 A JP H11219299A
Authority
JP
Japan
Prior art keywords
program
boot
ram
interrupt
mode
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
JP10021305A
Other languages
English (en)
Inventor
Norihiko Fudeyasu
徳彦 筆保
Shinsuke Abe
信介 阿部
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP10021305A priority Critical patent/JPH11219299A/ja
Priority to US09/119,577 priority patent/US6154837A/en
Publication of JPH11219299A publication Critical patent/JPH11219299A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 ブートプログラムを使ってRAMに転送し
た、フラッシュROMの消去・書き込みを行うE/Wプ
ログラムから割り込み処理を行うことができなかった。 【解決手段】 フラッシュROM3のデータを書き換え
るためのE/Wプログラムを、外部からRAMに転送す
るためのブートプログラムを、ブートROM4からRA
M2に転送し、CPU1よりそのRAM2に転送された
ブートプログラムを読み出して実行するブートモードで
は、リセット割り込みベクタをブートROM4内に、そ
れ以外の全ての割り込みベクタをRAM2内にそれぞれ
配置することによって、RAM2に転送されたE/Wプ
ログラムからの割り込み処理の実行を可能としたもので
ある。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ワンチップで書
き換え可能なフラッシュROMと、ブートプログラムを
格納するブートROM、RAM、およびシリアルI/O
を内蔵するマイクロコンピュータに関し、特に、ブート
プログラムを使用して外部からプログラムをRAMに転
送し、その転送したプログラムを用いてフラッシュRO
Mの書き換えを行うマイクロコンピュータに関するもの
である。
【0002】
【従来の技術】通常のマイクロコンピュータでは、ユー
ザ側にて使用できる割り込みベクタはユーザに解放され
たメモリ領域(以下、ユーザ解放領域という)に設定さ
れている。そのため、あるユーザのプログラムを動作さ
せている最中に何らかの割り込みが発生した場合、ユー
ザ解放領域内のユーザが作成した割り込み処理によって
解決される。このように、通常のマイクロコンピュータ
は1つのユーザプログラムで閉じられた系となってい
る。
【0003】このような条件で、ブートROM内に格納
されているメーカ側が作成したブートプログラムを使っ
て、ユーザが作成したフラッシュROMのデータの書き
換えをCPUで行うための消去・書き込みプログラム
(以下、E/Wプログラムという)をRAMに転送する
場合について考える。
【0004】この場合、全ての割り込みベクタは最初に
起動するブートプログラムのあるブートROM側に存在
している。なお、このブートプログラム自身も割り込み
処理を必要としており、その割り込み処理もそのプログ
ラム内に書かれている。したがって、RAMに転送した
E/Wプログラムでは割り込み処理ができなくなり、ま
た仮に割り込み処理が可能であったとしても、メーカ側
の作成した割り込み処理しか実行することができず、ユ
ーザ側はE/Wプログラムの作成に関して規制を受ける
ことになる。
【0005】また、RAMへ転送した後、E/Wプログ
ラム側で割り込み処理を行えるようにするために、何ら
かの手段を用いてモード切り替えを行い、RAM側へ全
ての割り込みベクタを移す機能があったとしても、E/
Wプログラム実行中のエラー等によってブートプログラ
ムを再度実行する必要が生じた場合には、またモードを
切り替えてブートプログラムから起動させなければなら
なくなる。E/Wプログラムのデバッグ中などにおいて
は、何度もモードを遷移させる場合が出てくる可能性も
ある。
【0006】なお、このような従来のマイクロコンピュ
ータに関連のある記載がある文献としては、特開平4−
205047号公報、特開平2−114293号公報、
特開平2−66664号公報などがある。ここで、上記
特開平4−205047号公報には、マルチプロセッサ
システムにおいて、メインプロセッサがサブプロセッサ
用のプログラムと割り込みベクタをデュアルポートRA
Mにロードし、サブプロセッサがそれを実行する技術が
開示されており、また、特開平2−114293号公報
には、リセットベクタ領域を有する共用メモリにダウン
ロードプログラムをダウンロードする例が、特開平2−
66664号公報には、初期プログラムと割り込みアド
レスを保持するレジスタを準備する例が開示されてい
る。しかしながら、それらにはフラッシュROMのE/
Wプログラムに相当するものについては全く言及されて
いない。
【0007】
【発明が解決しようとする課題】従来のマイクロコンピ
ュータは以上のように構成されているので、RAMに転
送したE/Wプログラムでは割り込み処理を行うことが
できず、仮に割り込み処理が可能であったとしても、ユ
ーザ側はE/Wプログラムの作成に関して規制を受ける
という課題があり、また、何らかの手段でモード切り替
えを行い、RAM側へ全ての割り込みベクタを移したと
しても、E/Wプログラムのデバッグ中などにおいて
は、モードを何度も遷移させる必要が出てくる可能性が
あるという課題もあった。
【0008】この発明は上記のような課題を解決するた
めになされたもので、ブートプログラム(メーカ主体)
とE/Wプログラム(ユーザ主体)の2つのプログラム
の性質上の違いから、割り込み処理の内容を分担して、
ブートプログラム実行からE/Wプログラム実行に至る
までの流れを簡潔にするとともに、E/Wプログラム側
からも自由な割り込み処理を可能にするマイクロコンピ
ュータを得ることを目的とする。
【0009】
【課題を解決するための手段】この発明に係るマイクロ
コンピュータは、フラッシュROMのデータ書き換え用
のE/Wプログラムを外部からRAMに転送するため
の、ブートROMに格納されているブートプログラムを
RAMに転送し、転送されたブートプログラムの実行を
当該RAMの上で行い、その際、割り込みベクタをその
RAMに転送することによって、当該RAM上での割り
込み処理の実行を可能としたものである。
【0010】この発明に係るマイクロコンピュータは、
ブートモードでは、リセット割り込みベクタをブートR
OM内に、それ以外の割り込みベクタをRAM内にそれ
ぞれ配置したものである。
【0011】この発明に係るマイクロコンピュータは、
ブートモードでは、ノンマスカブル割り込みベクタをブ
ートROM内に、マスカブル割り込みベクタをRAM内
にそれぞれ配置したものである。
【0012】この発明に係るマイクロコンピュータは、
ブートモードにおけるブートROM上でのブートプログ
ラムの実行によりE/WプログラムをRAMに転送し、
当該E/Wプログラムの転送完了時点で、ブートモード
から消去・書き込みモード(以下、E/Wモードとい
う)へのモードの切り替えを行い、割り込みベクタをそ
のRAMに転送することによって、当該RAM上での割
り込み処理の実行を可能としたものである。
【0013】この発明に係るマイクロコンピュータは、
ブートプログラムを用いたE/WプログラムのRAMへ
の転送中には、全ての割り込みベクタをブートROM内
に配置しておき、当該転送の完了時点でモード切り替え
を行って、リセット割り込みベクタを除く全ての割り込
みベクタをRAMへ再配置するようにしたものである。
【0014】この発明に係るマイクロコンピュータは、
ブートプログラムを用いたE/WプログラムのRAMへ
の転送中には、全ての割り込みベクタをブートROM内
に配置しておき、当該転送の完了時点でモード切り替え
を行って、ノンマスカブル割り込みベクタ以外のマスカ
ブル割り込みベクタをRAMへ再配置するようにしたも
のである。
【0015】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1はこの発明の実施の形態1によるマ
イクロコンピュータの構成を示すブロック図である。図
において、1は当該マイクロコンピュータの全体制御を
行うCPUであり、2はこのCPU1がワークメモリ等
として使用するRAMである。3はワンチップでデータ
の書き換えが可能なフラッシュROMであり、4はこの
フラッシュROM3のデータの書き換えをCPU1で行
うためのE/Wプログラムを、外部からRAM2に転送
することを目的とするブートプログラムを格納しておく
ためのブートROMである。5は外部とのデータの入出
力を制御するシリァルI/Oであり、6はこのシリアル
I/O5が接続されたI/Oポートである。7はこのマ
イクロコンピュータへのリセット信号が入力されるリセ
ットポートであり、8はRAM2、フラッシュROM
3、ブートROM4、シリアルI/O5などとCPU1
とを接続している内部バスである。
【0016】なお、ブートROM4には既にブートプロ
グラムが格納されており、外部からI/Oポート6に転
送されてくるE/Wプログラムを、シリアルI/O5で
受信してRAM2へ格納するプログラムが組まれてい
る。
【0017】図2は上記ブートROM4に格納されてい
るブートプログラムを読み出して実行する、ブートモー
ド時の割り込みベクタの配置例を示す説明図である。図
において、11は当該マイクロコンピュータのアドレス
空間上で、フラッシュROM3に割り当てられたフラッ
シュROM領域であり、12は同じくRAM2に割り当
てられたRAM領域、13は同じくブートROM4に割
り当てられたブートROM領域である。14はRAM領
域12内のブートプログラムやE/Wプログラムが転送
されるプログラム領域であり、15はRAM領域12内
のリセット割り込み以外の割り込みベクタが格納される
割り込みベクタ格納領域である。16はブートROM領
域13内のあらかじめブートプログラムが格納されてい
るブートプログラム領域であり、17はブートROM領
域13内のリセット割り込みベクタが格納されるリセッ
ト割り込みベクタ領域である。
【0018】次に動作について説明する。まず最初に、
その動作モードが、ブートプログラム領域16内のブー
トプログラムを使って動作するブートモードに遷移す
る。次に、リセットポート7に対してリセット解除がな
されると、CPU1はブートROM領域13内にあるリ
セット割り込みベクタ領域17に書かれている番地に対
して命令フェッチを行い、ブートプログラムの実行を開
始させる。図3はそのブートプログラムによる処理の手
順を示したフローチャートである。
【0019】ここで、ブートプログラム自身も割り込み
処理ルーチンを持っているので、当該ブートプログラム
の実行が開始されると、図3に示すステップST1にお
いて、まずブートプログラム自体をRAM2へ転送す
る。このRAM2に転送されたブートプログラムのデー
タは、RAM領域12のプログラム領域14に格納され
る。このブートプログラムのRAM2への転送が完了す
ると、その時点で処理をステップST2へ進めてシリア
ルI/O5の起動を行い、シリアルI/Oポート6を介
して外部からE/Wプログラムを受信する。受信された
E/Wプログラムのデータは、そのまま内部バス8を介
してRAM2へ転送され、RAM2ではプログラム領域
14の前記ブートプログラムを格納したエリアとは重な
らないエリアに、このE/Wプログラムを格納する。最
終的にE/Wプログラムの転送が終了した時点で処理を
ステップST3に進め、E/Wプログラムの開始番地に
ジャンプして、ブートプログラムからE/Wプログラム
にソフトウェア的に移行してE/Wモードに遷移する。
【0020】なお、ステップST2の処理中に割り込み
が発生した場合には、ステップST4に分岐して、ブー
トプログラム専用の割り込み処理を実行する。ただし、
発生した割り込みがリセット割り込みであった場合に
は、ブートROM領域13のリセット割り込みベクタ領
域17に格納されたリセット割り込みベクタ番地に基づ
いて、当該ブートプログラムの起動開始から処理をやり
直す。
【0021】また、図4は上記E/Wプログラムによる
処理の手順を示すフローチャートである。処理がブート
モードからE/Wモードに遷移すると、E/Wプログラ
ムはまず初めに、ステップST5にて割り込みベクタの
書き換えを行う。すなわち、RAM領域12の割り込み
ベクタ領域15のリセット割り込み以外の割り込みベク
タを、ブートプログラムの割り込み飛び先番地からE/
Wプログラム割り込みの飛び先番地に書き換えて、ブー
トプログラム用のものからE/Wプログラム用のものに
変更する。こうすることで、E/Wプログラムからの自
由な割り込み処理が可能となる。その後、ステップST
6において、シリアルI/O5を起動して外部からのデ
ータを受信し、そのデータに基づいてフラッシュROM
3に対して書き込みを行い、あるいはデータの消去を行
う。
【0022】なお、ステップST6の処理中に割り込み
が発生した場合には、ステップST7に分岐し、ステッ
プST5で書き換えられたRAM領域12の割り込みベ
クタ領域15に格納された割り込みベクタ番地に基づい
て、E/Wプログラム専用の割り込み処理を実行する。
ただし、その割り込みがリセット割り込みの場合には、
ブートROM領域13のリセット割り込みベクタ領域1
7に格納されたリセット割り込みベクタ番地に基づい
て、図3に示したブートプログラムの起動開始から処理
をやり直す。
【0023】このように、この実施の形態1によれば、
ブートモードにおいては、リセット割り込みベクタをブ
ートROM4内に、それ以外の割り込みベクタをRAM
2内にそれぞれ配置しているので、フラッシュROM3
の消去・書き込み用のE/Wプログラムをブートプログ
ラムを用いてRAM2に転送して実行する場合、ブート
プログラム実行からE/Wプログラム実行に至るまでの
流れを簡潔なものにすることができ、E/Wプログラム
側からでも自由な割り込み処理を行うことが可能で、ブ
ートモード時の割り込み処理が効率的に行えるマイクロ
コンピュータが得られる効果がある。
【0024】実施の形態2.図5はこの発明の実施の形
態2によるマイクロコンピュータにおける、ブートモー
ド時の割り込みベクタの配置例を示す説明図である。図
において、11はフラッシュROM領域、12はRAM
領域、13はブートROM領域、14はプログラム領
域、16はブートプログラム領域であり、これらは図2
に同一符号を付して示した実施の形態1におけるそれら
と同様のものであるため、詳細な説明は省略する。ま
た、18はRAM領域12内のマスカブル割り込みベク
タが格納されるマスカブル割り込みベクタ格納領域であ
り、19はブートROM領域13内のノンマスカブル割
り込みベクタが格納されるリセット割り込みノンマスカ
ブルベクタ領域である。
【0025】なお、この実施の形態2は基本的に実施の
形態1と同じで、割り込みベクタの配置が異なるだけな
ので、図5にベクタ配置のみを示し、マイクロコンピュ
ータの構成と、ブートプログラムおよびE/Wプログラ
ムの処理手順についてはその図示を省略する。
【0026】次に動作について説明する。実施の形態1
の場合と同様に、まずブートモードに遷移して、ブート
プログラムを起動し、当該ブートプログラム自体をRA
M2へ転送してRAM領域12のプログラム領域14に
格納する。次に、シリアルI/O5を介して外部から受
信したE/Wプログラムを、プログラム領域14の上記
ブートプログラムとは重ならないエリアに格納する。そ
の後、ソフトウェア的にブートプログラムからE/Wプ
ログラムに移行してE/Wモードに遷移する。E/Wプ
ログラムでは、RAM領域12のマスカブル割り込みベ
クタ格納領域18のマスカブル割り込みベクタを、ブー
トプログラム割り込みの飛び先番地からE/Wプログラ
ム割り込みの飛び先番地に書き換えてE/Wプログラム
用に変更することで、E/Wプログラムから自由な割り
込み処理を可能とする。
【0027】なお、実施の形態1の場合と同様に、この
一連の処理の流れ中に発生した割り込みがノンマスカブ
ル割り込みであれば、ブートROM領域13のリセット
割り込みノンマスカブルベクタ領域19に格納されてい
る番地に基づいて、ブートプログラムの起動開始から処
理をやり直す。なお、それ以外のマスカブル割り込みに
ついては、RAM領域12のマスカブル割り込みベクタ
格納領域18に格納されている番地に分岐して、それぞ
れの割り込み処理を実行する。
【0028】このように、この実施の形態2によれば、
ブートプログラムをブートROM4よりRAM2に転送
してRAM2上で実行し、E/WプログラムをRAM2
に転送するマイクロコンピュータにて、リセットのよう
な直接的な割り込み以外の、システム的な要因で発生し
たエラー割り込み時においても、ブート作業を一からや
り直すことが可能となる効果がある。
【0029】実施の形態3.図6はこの発明の実施の形
態3によるマイクロコンピュータの構成を示すブロック
図である。図において、1はCPU、2はRAMで、3
はフラッシュROM、4はブートROM、5はシリアル
I/O、6はI/Oポート、7はリセットポート、8は
内部バスであり、これらは図1に同一符号を付して示し
た各部に相当する部分であるため、詳細な説明は省略す
る。また、9はブートプログラムからE/Wプログラム
への移行時に、E/Wプログラムによってセットされる
モード切り替えレジスタであり、10はこのモード切り
替えレジスタ9がセットされたときにアサートされる割
り込みベクタアドレス制御信号である。
【0030】なお、この実施の形態3においても実施の
形態1の場合と同様に、ブートROM4には既にブート
プログラムが格納されており、外部からI/Oポート6
に転送されてくるE/Wプログラムを、シリアルI/O
5で受信してRAM2へ格納するプログラムが組まれて
いる。また、ブートモード時の割り込みベクタの配列
も、図2に示した実施の形態1の場合と同様である。
【0031】次に動作について説明する。この場合も実
施の形態1の場合と同様に、まずブートモードに遷移
し、リセット解除後に、CPU1がブートROM領域1
3内のリセット割り込みベクタ領域17に書かれている
番地に対して命令フェッチを行い、ブートプログラムの
実行を開始する。ここで、実施の形態1の場合とは異な
り、最初はブートROM領域13内に全ての割り込みベ
クタが配置されているため、ブートプログラムをRAM
2に転送する必要がない。したがって、そのままブート
ROM領域13でブートプログラムを実行させる。図7
はそのブートプログラムによる処理の手順を示すフロー
チャートである。
【0032】ブートプログラムが開始されると、ステッ
プST11において、まずシリアルI/O5を起動して
外部からE/Wプログラムを受信する。このシリアルI
/O5で転送するE/WプログラムもRAM2上に転送
することが可能であり、受信されたE/Wプログラムの
データは、そのまま内部バス8を介してRAM2へ転送
され、RAM領域12のプログラム領域14に格納され
る。最終的にE/Wプログラムの転送が終了した時点で
処理をステップST12に進め、E/Wプログラムの開
始番地にジャンプして、ブートプログラムからE/Wプ
ログラムにソフトウェア的に移行し、E/Wモードに遷
移する。なお、ステップST11の処理中に割り込みが
発生した場合には、ステップST13に分岐して、ブー
トプログラム専用の割り込み処理を実行する。このブー
トモード時においては、ブートROM領域13に配置さ
れた割り込みベクタが有効となる。
【0033】また、図8は上記E/Wプログラムによる
処理の手順を示すフローチャートである。処理がブート
モードからE/Wモードに遷移すると、E/Wプログラ
ムはまず初めに、ステップST14においてモード切り
替えレジスタ9の値を書き換えてそれをセットする。モ
ード切り替えレジスタ9がセットされると、割り込みベ
クタアドレス制御信号10がアサートされて、リセット
割り込みベクタを除く全ての割り込みベクタがRAM2
に再配置される。すなわち、リセット割り込み以外の割
り込みベクタはRAM領域12内に再配置され、リセッ
ト割り込みベクタはブートROM領域13内に配置され
ることとなる。こうすることで、E/Wプログラムから
の自由な割り込み処理が可能となる。なお、このモード
切り替えレジスタ9はリセットポート7にリセットがか
かると初期化される構成で、もしE/Wプログラム動作
中にリセット割り込みがかかると再びブートモードに遷
移する。その後、ステップST15において、シリアル
I/O5を起動して外部からのデータを受信し、そのデ
ータに基づいてフラッシュROM3に対して書き込みを
行い、あるいはデータの消去を行う。
【0034】なお、ステップST15の処理中に割り込
みが発生した場合には、ステップST16に分岐して、
E/Wプログラム専用の割り込み処理を実行する。ただ
し、その割り込みがリセット割り込みの場合には、図7
に示したブートプログラムの起動開始から処理をやり直
す。なお、このE/Wモード時においては、リセット割
り込みの場合にはブートROM領域13に配置されたリ
セット割り込みベクタが有効となり、それ以外の割り込
みの場合にはRAM領域12に再配置された割り込みベ
クタが有効となる。
【0035】このように、この実施の形態3によれば、
E/WプログラムをRAM2へ転送中は全ての割り込み
ベクタをブートROM4内に配置しておき、当該転送が
完了するとモードを切り替えて、リセット割り込みベク
タを除く全ての割り込みベクタをRAM2へ再配置する
ようにしているので、フラッシュROM3の消去・書き
込み用のE/Wプログラムをブートプログラムを用いて
RAM2に転送して実行する場合に、ブートプログラム
実行からE/Wプログラム実行に至るまでの流れを簡潔
なものにすることができ、E/Wプログラム側からでも
自由な割り込み処理を行うことが可能で、ブートモード
時の割り込み処理が効率的に行えるマイクロコンピュー
タが得られる効果がある。
【0036】実施の形態4.上記実施の形態3で示した
マイクロコンピュータにおいて、E/WプログラムのR
AM2への転送が完了した時点で、リセット割り込みベ
クタを除く全ての割り込みベクタをRAM2に再配置す
る代わりに、ノンマスカブル割り込みベクタ以外のマス
カブル割り込みベクタをRAM2に再配置するようにし
てもよい。この発明の実施の形態4はそのようなマイク
ロコンピュータに関するもので、基本的には実施の形態
3と同一であり、割り込みベクタの配置が異なるだけで
ある。したがって、マイクロコンピュータの構成と、ブ
ートプログラムおよびE/Wプログラムの処理手順につ
いてはその図示を省略する。なお、ブートモード時の割
り込みベクタの配列も、図5に示した実施の形態2の場
合と同様である。
【0037】次に動作について説明する。実施の形態3
の場合と同様に、まずブートモードに遷移して、ブート
プログラムを起動し、当該ブートプログラムをブートR
OM4上で実行することによって、外部から受信したE
/WプログラムをRAM領域12に格納する。その後、
ソフトウェア的にブートプログラムからE/Wプログラ
ムに移行してE/Wモードに遷移する。E/Wプログラ
ムでは、モード切り替えレジスタ9をセットして割り込
みベクタアドレス制御信号をアサートし、ブートROM
領域13に配置されている、ノンマスカブル割り込みベ
クタ以外のマスカブル割り込みベクタを、RAM領域1
2に再配置することで、E/Wプログラムから自由な割
り込み処理を可能とする。
【0038】なお、実施の形態3の場合と同様に、この
一連の処理の流れ中に発生した割り込みがノンマスカブ
ル割り込みであれば、ブートROM領域13に配置され
ているノンマスカブル割り込みベクタ番地に基づいて、
ブートプログラムの起動開始から処理をやり直す。な
お、それ以外のマスカブル割り込みについては、ブート
モードであれば、ブートROM領域13に配置されてい
るマスカブル割り込みベクタ番地に分岐して、またE/
Wモードであれば、RAM領域12に再配置されている
マスカブル割り込みベクタ番地に分岐して、それぞれの
割り込み処理を実行する。
【0039】このように、この実施の形態4によれば、
ブートプログラムをそのままブートROM4上で実行し
て、E/WプログラムをRAM2に転送するマイクロコ
ンピュータにて、リセットのような直接的な割り込み以
外の、システム的な要因で発生したエラー割り込み時に
おいても、ブート作業を一からやり直すことが可能とな
る効果がある。
【0040】
【発明の効果】以上のように、この発明によれば、E/
WプログラムをRAMに転送するためのブートROMに
格納されているブートプログラムをRAMに転送し、R
AM上でそのブートプログラムを実行する際、割り込み
ベクタをRAMに転送するようにしたので、ブートプロ
グラムの実行からE/Wプログラムの実行に至るまでの
流れが簡潔なものとなり、RAM上のE/Wプログラム
側からでも自由な割り込み処理を行うことが可能なマイ
クロコンピュータが得られる効果がある。
【0041】また、この発明によれば、ブートモードに
おいて、ブートROM内にリセット割り込みベクタを配
置し、RAM内にそれ以外の割り込みベクタを配置する
ようにしたので、ブートプログラムの実行からE/Wプ
ログラムの実行に至るまでの流れが簡潔なものとなっ
て、RAM上のE/Wプログラム側からも自由な割り込
み処理を行うことができる効果がある。
【0042】また、この発明によれば、ブートモードに
おいて、ブートROM内にノンマスカブル割り込みベク
タを配置し、RAM内にマスカブル割り込みベクタを配
置するようにしたので、ブートプログラムをRAMに転
送してそのRAM上で実行し、E/WプログラムをRA
Mに転送するマイクロコンピュータにおいて、リセット
等の直接的な割り込み以外の、システム的な要因で発生
したエラー割り込み時であっても、ブート作業を一から
やり直すことが可能になる効果がある。
【0043】また、この発明によれば、E/Wプログラ
ムをRAMに転送するためのブートプログラムをブート
ROM上で実行し、E/Wプログラムの転送完了時点で
モードの切り替えを行って、割り込みベクタをRAMに
転送するようにしたので、ブートプログラムの実行から
E/Wプログラムの実行に至るまでの流れが簡潔なもの
となり、RAM上のE/Wプログラム側からでも自由な
割り込み処理を行うことが可能なマイクロコンピュータ
が得られる効果がある。
【0044】また、この発明によれば、RAMへのE/
Wプログラムの転送中は、ブートROM内に全ての割り
込みベクタを配置しておき、当該転送の完了時にモード
を切り替えて、リセット割り込みベクタ以外の割り込み
ベクタをRAMへ再配置するようにしたので、ブートプ
ログラムの実行からE/Wプログラムの実行に至るまで
の流れが簡潔なものとなって、RAM上のE/Wプログ
ラム側からも自由な割り込み処理を行うことができる効
果がある。
【0045】また、この発明によれば、RAMへのE/
Wプログラムの転送中は、ブートROM内に全ての割り
込みベクタを配置しておき、当該転送の完了時にモード
を切り替えて、RAMへマスカブル割り込みベクタを再
配置するようにしたので、ブートROM上でブートプロ
グラムを実行して、E/WプログラムをRAMに転送す
るマイクロコンピュータにおいて、リセット等の直接的
な割り込み以外の、システム的な要因で発生したエラー
割り込み時であっても、ブート作業を一からやり直すこ
とが可能になる効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1によるマイクロコン
ピュータの構成を示すブロック図である。
【図2】 この発明の実施の形態1および実施の形態3
におけるブートモード時の割り込みベクタの配置例を示
す説明図である。
【図3】 この発明の実施の形態1におけるブートプロ
グラムの処理の手順を示すフローチャートである。
【図4】 この発明の実施の形態1におけるE/Wプロ
グラムの処理の手順を示すフローチャートである。
【図5】 この発明の実施の形態2および実施の形態4
におけるブートモード時の割り込みベクタの配置例を示
す説明図である。
【図6】 この発明の実施の形態3によるマイクロコン
ピュータの構成を示すブロック図である。
【図7】 この発明の実施の形態3におけるブートプロ
グラムの処理の手順を示すフローチャートである。
【図8】 この発明の実施の形態3におけるE/Wプロ
グラムの処理の手順を示すフローチャートである。
【符号の説明】
1 CPU、2 RAM、3 フラッシュROM、4
ブートROM。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 ワンチップでデータの書き換えが可能な
    フラッシュROM、および前記フラッシュROMのデー
    タの書き換えをCPUで行うための消去・書き込みプロ
    グラムを、外部からRAMに転送することを目的とする
    ブートプログラムを格納しておくためのブートROMを
    内蔵するマイクロコンピュータにおいて、 前記CPUが前記ブートプログラムを読み出して実行す
    るブートモードでは、前記ブートプログラムを前記ブー
    トROMより前記RAMに転送して当該RAM上で実行
    し、 前記RAM上でのブートプログラムの実行に際して、前
    記RAMに割り込みベクタを転送することを特徴とする
    マイクロコンピュータ。
  2. 【請求項2】 CPUがブートプログラムを読み出して
    実行するブートモードでは、 ブートROM内にリセット割り込みベクタを配置し、 RAM内には前記リセット割り込みベクタを除く全ての
    割り込みベクタを配置したことを特徴とする請求項1記
    載のマイクロコンピュータ。
  3. 【請求項3】 CPUがブートプログラムを読み出して
    実行するブートモードでは、 ブートROM内にノンマスカブル割り込みベクタを配置
    し、 RAM内には前記ノンマスカブル割り込みベクタ以外の
    マスカブル割り込みベクタを配置したことを特徴とする
    請求項1記載のマイクロコンピュータ。
  4. 【請求項4】 ワンチップでデータの書き換えが可能な
    フラッシュROM、および前記フラッシュROMのデー
    タの書き換えをCPUで行うための消去・書き込みプロ
    グラムを、外部からRAMに転送することを目的とする
    ブートプログラムを格納しておくためのブートROMを
    内蔵するマイクロコンピュータにおいて、 前記CPUが前記ブートプログラムを読み出して実行す
    るブートモードでは、前記ブートプログラムを当該ブー
    トROM上で実行して、前記消去・書き込みプログラム
    を前記RAMに転送し、 前記消去・書き込みプログラムの前記RAMへの転送が
    完了した時点で、モードを前記ブートモードから、前記
    RAMから消去・書き込みプログラムを読み出して実行
    する消去・書き込みモードに切り替えて、前記RAMに
    割り込みベクタの転送を行うことを特徴とするマイクロ
    コンピュータ。
  5. 【請求項5】 ブートプログラムを使用して消去・書き
    込みプログラムをRAMに転送している間は、全ての割
    り込みベクタを前記ブートプログラムが格納されている
    ブートROM内に配置しておき、 前記消去・書き込みプログラムの前記RAMへの転送完
    了時点でモードを切り替えて、リセット割り込みベクタ
    を除く全ての割り込みベクタを前記RAMへ再配置する
    ことを特徴とする請求項4記載のマイクロコンピュー
    タ。
  6. 【請求項6】 ブートプログラムを使用して消去・書き
    込みプログラムをRAMに転送している間は、全ての割
    り込みベクタを前記ブートプログラムが格納されている
    ブートROM内に配置しておき、 前記消去・書き込みプログラムの前記RAMへの転送完
    了時点でモードを切り替えて、ノンマスカブル割り込み
    ベクタ以外のマスカブル割り込みベクタを前記RAMへ
    再配置することを特徴とする請求項4記載のマイクロコ
    ンピュータ。
JP10021305A 1998-02-02 1998-02-02 マイクロコンピュータ Pending JPH11219299A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10021305A JPH11219299A (ja) 1998-02-02 1998-02-02 マイクロコンピュータ
US09/119,577 US6154837A (en) 1998-02-02 1998-07-21 Microcomputer enabling an erase/write program of a flash memory to interrupt by transferring interrupt vectors from a boot ROM to a RAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10021305A JPH11219299A (ja) 1998-02-02 1998-02-02 マイクロコンピュータ

Publications (1)

Publication Number Publication Date
JPH11219299A true JPH11219299A (ja) 1999-08-10

Family

ID=12051451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10021305A Pending JPH11219299A (ja) 1998-02-02 1998-02-02 マイクロコンピュータ

Country Status (2)

Country Link
US (1) US6154837A (ja)
JP (1) JPH11219299A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10017934A1 (de) * 2000-04-11 2001-08-09 Fujitsu Siemens Computers Gmbh Schaltungsanordnung mit einem Prozessor und einem System-Bus-Interface
KR20020021001A (ko) * 2000-09-12 2002-03-18 가나이 쓰토무 데이터 처리시스템 및 데이터 처리방법
US7162622B2 (en) 2002-02-15 2007-01-09 Denso Corporation Microcomputer for apparatus control and vehicle-mounted electronic control unit incorporating microcomputer

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6492833B1 (en) 1998-04-30 2002-12-10 Altera Corporation Configurable memory design for masked programmable logic
US6301656B1 (en) * 1999-01-11 2001-10-09 Alcatel Usa Sourcing, L.P. Method and apparatus for initial programming of flash based firmware
JP3727485B2 (ja) * 1999-04-02 2005-12-14 シャープ株式会社 不揮発性メモリ内蔵マイクロコンピュータ
JP2000322282A (ja) * 1999-05-13 2000-11-24 Mitsubishi Electric Corp マイクロコンピュータ
US6473853B1 (en) * 1999-06-21 2002-10-29 Intel Corporation Method and apparatus for initializing a computer system that includes disabling the masking of a maskable address line
US6889279B2 (en) * 2000-12-11 2005-05-03 Cadence Design Systems, Inc. Pre-stored vector interrupt handling system and method
JP4162863B2 (ja) * 2001-03-30 2008-10-08 株式会社ルネサステクノロジ マイクロコンピュータ
US6633964B2 (en) 2001-03-30 2003-10-14 Intel Corporation Method and system using a virtual lock for boot block flash
US6772307B1 (en) 2001-06-11 2004-08-03 Intel Corporation Firmware memory having multiple protected blocks
US7073094B1 (en) * 2002-05-09 2006-07-04 Winbond Electronics Corporation Method and systems for programming and testing an embedded system
US6795872B2 (en) 2002-05-09 2004-09-21 Renesas Technology America, Inc. Maintaining at least partial functionality of a device as defined by a hardware configuration at a USB bus enumeration while the device memory is programmed
US7340566B2 (en) * 2002-10-21 2008-03-04 Microsoft Corporation System and method for initializing a memory device from block oriented NAND flash
JP2004213102A (ja) * 2002-12-26 2004-07-29 Fujitsu Ltd マイクロコンピュータ
US7457943B2 (en) * 2003-06-12 2008-11-25 Fuji Xerox Co., Ltd. Controller, image processing apparatus, and method of controlling execution of program
US7707472B1 (en) 2004-05-17 2010-04-27 Altera Corporation Method and apparatus for routing efficient built-in self test for on-chip circuit blocks
US7296143B2 (en) * 2004-06-22 2007-11-13 Lenovo (Singapore) Pte. Ltd. Method and system for loading processor boot code from serial flash memory
US7305544B2 (en) * 2004-12-10 2007-12-04 Intel Corporation Interleaved boot block to support multiple processor architectures and method of use
JP2008134736A (ja) * 2006-11-27 2008-06-12 Fujifilm Corp 電子機器
US9558012B2 (en) * 2013-02-21 2017-01-31 Applied Micro Circuits Corporation System boot with external media

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4679166A (en) * 1983-01-17 1987-07-07 Tandy Corporation Co-processor combination
JP3292864B2 (ja) * 1995-02-07 2002-06-17 株式会社日立製作所 データ処理装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10017934A1 (de) * 2000-04-11 2001-08-09 Fujitsu Siemens Computers Gmbh Schaltungsanordnung mit einem Prozessor und einem System-Bus-Interface
KR20020021001A (ko) * 2000-09-12 2002-03-18 가나이 쓰토무 데이터 처리시스템 및 데이터 처리방법
US6941505B2 (en) * 2000-09-12 2005-09-06 Hitachi, Ltd. Data processing system and data processing method
US7162622B2 (en) 2002-02-15 2007-01-09 Denso Corporation Microcomputer for apparatus control and vehicle-mounted electronic control unit incorporating microcomputer

Also Published As

Publication number Publication date
US6154837A (en) 2000-11-28

Similar Documents

Publication Publication Date Title
JPH11219299A (ja) マイクロコンピュータ
US5974528A (en) Microcomputer with embedded flash memory having on-chip programming capability and method of programming data into the embedded flash memory
US7886141B2 (en) Method and systems for advanced reprogrammable boot codes and in-application programming of embedded microprocessor systems
JP3623840B2 (ja) データ処理装置及びマイクロプロセッサ
JP3186905B2 (ja) コンピュータブート用両エンディアンファームウェアシステム
KR100272937B1 (ko) 마이크로프로세서및멀티프로세서시스템
KR100604877B1 (ko) 내장 시스템의 메모리 어드레스의 매핑을 제어하는 장치와방법
JP3563768B2 (ja) Romプログラム変更装置
KR100465610B1 (ko) 온-칩 프로그래밍 능력을 가지는 내장된 플래시 메모리를 구비한 마이크로컴퓨터 및 상기 내장된 플래시 메모리에 데이터를프로그램하는 방법
JP4958201B2 (ja) マイクロコンピュータ
JP2004348327A (ja) デジタル信号処理装置及びデジタル信号処理方法
JP2001195261A (ja) 外部メモリから内蔵メモリへのプログラム転送方法およびその転送方法を用いたマイクロコンピュータ
JP3097602B2 (ja) データ処理装置
JP2002541582A (ja) エミュレータシステム内のユーザメモリを更新する方法およびシステム
JP3442972B2 (ja) 情報処理装置および書き換え可能型不揮発性メモリの書き換え方法
JPH08101794A (ja) ファームウェアのプログラム書き換え方式
JPH1050086A (ja) Eepromを有するマイクロコンピュータ及びその書換方法
JP2731618B2 (ja) エミュレータ
JP2003162411A (ja) データプロセッサ
JP2004334593A (ja) メモリブリッジ装置
JP5519191B2 (ja) 半導体集積回路およびテレビ
JP3997505B2 (ja) プログラマブルコントローラのシステムプログラム書き換え方法
JP2000105701A (ja) データ処理装置
JPH0561659B2 (ja)
KR100631396B1 (ko) 반도체장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050131

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060123

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20071101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080520