JP2001357023A - 半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法 - Google Patents

半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法

Info

Publication number
JP2001357023A
JP2001357023A JP2000178345A JP2000178345A JP2001357023A JP 2001357023 A JP2001357023 A JP 2001357023A JP 2000178345 A JP2000178345 A JP 2000178345A JP 2000178345 A JP2000178345 A JP 2000178345A JP 2001357023 A JP2001357023 A JP 2001357023A
Authority
JP
Japan
Prior art keywords
cpu
program
writing
nonvolatile memory
flash memory
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
JP2000178345A
Other languages
English (en)
Inventor
Hiroaki Nasu
弘明 那須
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2000178345A priority Critical patent/JP2001357023A/ja
Priority to AU64290/01A priority patent/AU6429001A/en
Priority to PCT/JP2001/005089 priority patent/WO2001097056A1/ja
Priority to KR10-2002-7001744A priority patent/KR100491056B1/ko
Priority to JP2002545451A priority patent/JP4663210B2/ja
Priority to US09/881,193 priority patent/US6766408B2/en
Publication of JP2001357023A publication Critical patent/JP2001357023A/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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 半導体集積回路に内蔵された不揮発性メモリ
の書き換えプログラムを記憶するためのマスクROMを
不要とし、更に、不揮発性メモリの書き込みに必要な各
種制御信号のパルス幅を容易に変更する。 【解決手段】 中央演算処理装置(CPU)101と、
不揮発性メモリ105と、不揮発性メモリへの書き込み
を行うためにCPUが実行するプログラムを通信によっ
て外部から受信し、受信したプログラムをCPUへ送る
通信インタフェース103とを具備する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、フラッシュメモ
リ、EEPROM、EPROM、FeRAM等の不揮発
性メモリと、中央演算処理装置(以下「CPU」とい
う)とを内蔵したシングルチップ・マイクロコンピュー
タ(以下、「マイコン」という)やゲートアレイ等の半
導体集積回路に関し、特に、プログラム実行可能でワー
ク用のRAMを持たない半導体集積回路に関する。さら
に、本発明は、そのような半導体集積回路に内蔵された
不揮発性メモリへの書き込み方法に関する。
【0002】
【従来の技術】従来より、CPU及び不揮発性メモリを
内蔵した半導体集積回路をボードに実装した後で、RO
Mライタからシリアルインターフェースを介してCPU
に通信を行い、CPUを動作させて不揮発性メモリにプ
ログラムを書き込んだり更新したりすることが行われて
いた。これを、「オンボード(インサーキット)書き込
み」という。例として、従来のオンボード書き込みのた
めの回路構成例を図6に示す。
【0003】図6において、マイコン300は、CPU
コア301と、制御レジスタ302と、同期シリアル通
信インタフェース303と、マルチプレクサ304と、
フラッシュメモリ305と、マスクROM307とによ
り構成されている。CPUコア301は、インストラク
ションアドレスバスB31及びインストラクションバス
B32を介して、マスクROM307及びマルチプレク
サ304と接続されている。また、CPUコア301
は、データアドレスバスB33及びデータバスB34を
介して、制御レジスタ302、同期シリアル通信インタ
フェース303及びマルチプレクサ304と接続されて
いる。
【0004】マルチプレクサ304は、バスB35を介
して、フラッシュメモリ305に接続されている。フラ
ッシュメモリ305は、CPUコア301が実行すべき
インストラクションコードや、CPUコア301が使用
するデータ等を記憶するための不揮発性メモリである。
【0005】フラッシュメモリ305にプログラムを書
き込む際には、同期シリアル通信インタフェース303
にROMライタ400が接続される。ROMライタ40
0は、同期シリアル通信により、操作コマンドやアドレ
ス情報やデータ等の転送を行う。一方、マイコン300
に内蔵されたマスクROM307は、フラッシュメモリ
305をオンボード書き込みするためにCPUコア30
1が実行するプログラムを記憶する読み出し専用メモリ
であり、通信とシーケンサーのために使用される。RO
Mライタ400からマイコン300に転送された操作コ
マンドは、マスクROM307に記憶されたオンボード
書き込みプログラムにより実行され、アドレス情報に基
づいて消去やデータの書き込み等を行う。書き込み時間
や消去時間の管理も、マスクROM307に記憶された
プログラムにより行われる。
【0006】この同期シリアル通信においては、ROM
ライタ400からマイコン300へクロックを送信する
ためのCLK信号線404と、ROMライタ400から
マイコン300へデータを送信するためのRXD信号線
401と、マイコン300からROMライタ400へデ
ータを送信するためのTXD信号線402と、ROMラ
イタ400とマイコン300との間でシリアルクロック
を送受信するためのSCLK信号線403とが少なくと
も用いられる。
【0007】制御レジスタ302は、前述したようにC
PUコア301と接続されているほか、フラッシュメモ
リ書き込みアドレスバスB36、フラッシュメモリ書き
込みデータバスB37及び制御信号バスB38を介し
て、マルチプレクサ304とも接続されている。制御レ
ジスタ302は、CPUコア301から書き込まれたデ
ータを保持するとともに、そのデータをフラッシュメモ
リ書き込みアドレスバスB36、フラッシュメモリ書き
込みデータバスB37及び制御信号バスB38へ出力す
る。
【0008】マルチプレクサ304は、前述したように
CPUコア301及びフラッシュメモリ305と接続さ
れているほか、フラッシュメモリ書き込みモード指示線
306を介して、スイッチ308とも接続されている。
スイッチ308は、オンボード書き込みを行う時はオン
にされてフラッシュ・メモリ書き込みモード指示線30
6を接地し、オンボード書き込みを行わない時はオフに
されてフラッシュ・メモリ書き込みモード指示線306
をプルアップする。マルチプレクサ304は、フラッシ
ュメモリ書き込みモード指示線306がプルアップされ
ている時にバスB31〜B34とバスB35とを接続
し、フラッシュメモリ書き込みモード指示線306が接
地されている時にバスB36〜B38とバスB35とを
接続する。
【0009】次に、図6に示すマイコン300の通常の
動作(オンボード書き込み以外の動作)について説明す
る。尚、通常の動作の場合、スイッチ308はオフであ
り、フラッシュ・メモリ書き込みモード指示線306は
プルアップされている。
【0010】まず、CPUコア301は、インストラク
ションアドレスをインストラクションアドレスバスB3
1上に出力する。マルチプレクサ304は、インストラ
クションアドレスバスB31上に出力されたインストラ
クションアドレスを、バスB35に伝達する。フラッシ
ュメモリ305は、バスB35よりインストラクション
アドレスを受け、当該アドレスに対応するインストラク
ションコードをバスB35へ出力する。マルチプレクサ
304は、バスB35上に出力されたインストラクショ
ンコードを、インストラクションバスB32に伝達す
る。CPUコア301は、インストラクションバスB3
2よりインストラクションコードを受け、当該インスト
ラクションコードを実行する。このように、CPUコア
301によって、フラッシュメモリ305に記憶された
インストラクションコード列(プログラム)が実行され
る。
【0011】次に、本従来例におけるオンボード書き込
み動作について説明する。オンボード書き込みを行う場
合、オンボード書き込み作業者は、スイッチ308をオ
ンにするとともにマイコン300の電源をオンにし、更
にROMライタ400の電源をオンにして操作を開始す
る。
【0012】オンボード書き込み動作が開始されると、
CPUコア301は、インストラクションアドレスバス
B31へ、マスクROM307中のオンボード書き込み
用プログラムに対応するアドレスを出力する。次に、C
PUコア301は、インストラクションバスB32を介
して、マスクROM307からオンボード書き込みのた
めのインストラクションコードを読み込む。そして、C
PUコア301は、読み込んだオンボード書き込みのた
めのインストラクションコードを実行する。更に、CP
Uコア301は、オンボード書き込みに必要なデータ等
を、同期シリアル通信線401〜404及び同期シリア
ル通信インタフェース303を介して、ROMライタ4
00から受信する。このようにして、CPUコア301
がマスクROM307中に記憶されたオンボード書き込
みのためのインストラクションコード列(プログラム)
を実行することにより、フラッシュメモリ305への書
き込みが行われる。
【0013】
【発明が解決しようとする課題】このように、従来は、
オンボード書き込みのための通信及びシーケンスを実行
するプログラムを記憶する為にマスクROMを必要とし
ていたため、回路規模が増大していた。特に、マイコン
の場合には、マスクROMを内蔵するためチップ面積が
増大するとともに端子数も増えてしまうという問題があ
った。
【0014】また、オンボード書き込み時の各制御信号
のパルス幅やリトライ回数等を変更するには、マスクR
OM中に記憶されたプログラムを変更する必要があっ
た。これに対し、各制御信号を複数種類のパルス幅で出
力するように予めマスクROM中のプログラムを作成し
ておくことも考えられるが、プログラム・サイズが増大
するとともにマスクROMのサイズも増大してしまうと
いう問題があった。
【0015】このような課題を解決する方法として、オ
ンボード書き込みのためのプログラムをRAM上に記憶
して実行することも考えられる。しかし、4ビットマイ
コンの場合には、ワーク用のRAMを持たない構成が一
般的である。また、RAMを搭載したとしても、4ビッ
トマイコン等においてはデータ幅とインストラクション
幅とが異なるため、オンボード書き込みのためのプログ
ラムをRAM上に記憶し実行することは困難であった。
【0016】ところで、日本国特許出願公開公報(特
開)平11−149376号に掲載されているBOOT
ローダー回路においては、外部通信インタフェースを使
ってROMの書き込みをすることができるが、前述した
ようなROM書き込みのための各制御信号のパルス幅を
確保することが出来なかった。
【0017】そこで、上記の点に鑑み、本発明は、半導
体集積回路に内蔵された不揮発性メモリにオンボード書
き込みを行う場合に、マスクROMを不要とし、更に不
揮発性メモリの書き込みに必要な各種制御信号のパルス
幅を容易に変更することを目的とする。
【0018】
【課題を解決するための手段】以上の課題を解決するた
め、本発明に係る半導体集積回路は、中央演算処理装置
(CPU)と、不揮発性メモリと、不揮発性メモリへの
書き込みを行うためにCPUが実行するプログラムを通
信によって外部から受信し、受信したプログラムをCP
Uへ送る通信インタフェースとを具備する。
【0019】ここで、通信インタフェースが、不揮発性
メモリへの書き込みを行うためにCPUが実行するプロ
グラムを同期シリアル通信によって外部から受信し、受
信したプログラムをCPUへ送るとともに、同期シリア
ル通信によって受信したシリアルクロックをCPUへ送
るようにしても良い。
【0020】また、本発明に係る書き込み方法は、半導
体集積回路に内蔵された不揮発性メモリへの書き込みを
行う方法であって、(a)不揮発性メモリへの書き込み
を行うためのプログラムを通信によって外部から半導体
集積回路の通信インタフェースに送信するステップと、
(b)通信インタフェースが受信したプログラムを半導
体集積回路の中央演算処理装置(CPU)へ送るステッ
プと、(c)CPUにおいて受け取ったプログラムを実
行し、不揮発性メモリへの書き込みを行うステップとを
具備する。
【0021】ここで、ステップ(a)が、不揮発性メモ
リへの書き込みを行うためのプログラムを同期シリアル
通信によって外部から受信するステップを含み、ステッ
プ(b)が、通信インタフェースが受信したプログラム
をCPUへ送るとともに、同期シリアル通信によって受
信したシリアルクロックをCPUへ送るステップを含
み、ステップ(c)が、CPUにおいて、受け取ったプ
ログラムをシリアルクロックを動作クロックとして実行
し、不揮発性メモリへの書き込みを行うステップを含む
ようにしても良い。
【0022】以上の様に構成した本発明によれば、不揮
発性メモリの書き込みプログラムを通信によって送信す
るので、不揮発性メモリの書き込みプログラムを記憶す
るためのマスクROM等を無くすことができ、回路の簡
単化やチップ面積の縮小を図ることができる。これによ
り、マスクROM用のクロック端子も不要となる。ま
た、マスクROM等に記憶されたプログラムのように固
定されたプログラムを持たないので、プログラムの不具
合の修正が容易となる。更に、不揮発性メモリの書き込
みプログラムの送信に同期シリアル通信を用いて、その
シリアルクロックをCPUへ供給するとともに不揮発性
メモリの書き込みプログラムの送信タイミングを調整す
ることにより、不揮発性メモリの書き込みに必要な各制
御信号のパルス幅を確保するとともに、パルス幅の変更
を容易に行うことができる。
【0023】
【発明の実施の形態】以下、図面に基づいて本発明の実
施の形態について説明する。なお、同一の要素には同一
の参照番号を付して説明を省略する。
【0024】図1は、本発明の一実施形態に係るオンボ
ード書き込みのための回路構成を示すブロック図であ
る。本実施形態は、本発明をシングルチップ・マイクロ
コンピュータ(以下、「マイコン」という)に適用した
ものである。
【0025】図1において、マイコン100は、CPU
コア101と、制御レジスタ102と、同期シリアル通
信インタフェース103と、マルチプレクサ104と、
フラッシュメモリ105とにより構成されている。CP
Uコア101は、インストラクションアドレスバスB1
1及びインストラクションバスB12を介して、マルチ
プレクサ104と接続されている。また、CPUコア1
01は、データアドレスバスB13及びデータバスB1
4を介して、制御レジスタ102、同期シリアル通信イ
ンタフェース103及びマルチプレクサ104と接続さ
れている。
【0026】マルチプレクサ104は、バスB15を介
してフラッシュメモリ105に接続されている。フラッ
シュ・メモリ105は、CPUコア101が実行すべき
インストラクションコードや、CPUコア101が使用
するデータ等を記憶するための不揮発性メモリである。
尚、本発明の説明に不要なその他のペリフェラル、イン
タフェース等は、図示を省略する。
【0027】フラッシュメモリ105にプログラムを書
き込む際には、同期シリアル通信インタフェース103
にROMライタ200が接続される。ROMライタ20
0には、予めパーソナル・コンピュータ等(図示せず)
から、フラッシュメモリ105に書き込みを行うために
CPUコア101に実行させるためのインストラクショ
ン・コード列(プログラム)がダウンロードされ記憶さ
れている。ROMライタ200は、同期シリアル通信に
より、CPUコア101の動作クロックやオンボード書
き込みのためのインストラクションコードの転送を行
う。このインストラクションコードには、制御コード及
び書き込みデータも含まれる。
【0028】同期シリアル通信インタフェース103
は、シリアルクロック供給線109を介して、CPUコ
ア101と接続されている。同期シリアル通信インタフ
ェース103は、受信したシリアルデータをパラレルデ
ータに変換し、これにより得られた複数の連続するイン
ストラクションコード(プログラム)をCPUコア10
1が実行することにより、フラッシュメモリ105のオ
ンボード書き込みが行われる。ここで、転送するプログ
ラムにおいては、ジャンプ命令を使用せず、複数の連続
するインストラクションをステップ毎に実行する。
【0029】この同期シリアル通信においては、ROM
ライタ200からマイコン100へデータを送信するた
めのRXD信号線201と、マイコン100からROM
ライタ200へデータを送信するためのTXD信号線2
02と、ROMライタ200とマイコン100との間で
シリアルクロックを送受信するためのSCLK信号線2
03とが少なくとも用いられる。
【0030】制御レジスタ102は、前述したようにC
PUコア101と接続されているほか、フラッシュメモ
リ書き込みアドレスバスB16、フラッシュメモリ書き
込みデータバスB17及び制御信号バスB18を介し
て、マルチプレクサ104とも接続されている。制御レ
ジスタ102は、CPUコア101から書き込まれたデ
ータを保持するとともに、そのデータをフラッシュメモ
リ書き込みアドレスバスB16、フラッシュメモリ書き
込みデータバスB17及び制御信号バスB18へ出力す
る。制御レジスタ102は、CPUコア101のアドレ
ス空間にマップされており、データアドレスバスB13
及びデータバスB14に接続されて、CPUコア101
からアクセスされる。また、制御レジスタ102の出力
は、マルチプレクサ104を介して、フラッシュメモリ
105に接続されている。
【0031】マルチプレクサ104は、前述したように
CPUコア101及びフラッシュメモリ105と接続さ
れているほか、フラッシュメモリ書き込みモード指示線
106を介して、スイッチ108とも接続されている。
スイッチ108は、オンボード書き込みを行う時はオン
にされフラッシュ・メモリ書き込みモード指示線106
を接地し、オンボード書き込みを行わない時はオフにさ
れフラッシュ・メモリ書き込みモード指示線106をプ
ルアップする。マルチプレクサ104は、フラッシュメ
モリ書き込みモード指示線106がプルアップされてい
る時にバスB11〜B14とバスB15とを接続し、フ
ラッシュメモリ書き込みモード指示線106が接地され
ている時にバスB16〜B18とバスB15とを接続す
る。
【0032】次に、本実施形態におけるマイコン100
の通常の動作(オンボード書き込み動作以外の動作)に
ついて説明する。尚、通常の動作の場合、スイッチ10
8はオフであり、フラッシュ・メモリ書き込みモード指
示線106はプルアップされている。
【0033】まず、CPUコア101は、インストラク
ションアドレスをインストラクションアドレスバスB1
1上に出力する。マルチプレクサ104は、インストラ
クションアドレスバスB11上に出力されたインストラ
クション・アドレスを、バスB15に伝達する。フラッ
シュメモリ105は、バスB15よりインストラクショ
ンアドレスを受け、当該アドレスに対応するインストラ
クションコードをバスB15へ出力する。マルチプレク
サ104は、バスB15上に出力されたインストラクシ
ョンコードを、インストラクションバスB12に伝達す
る。CPUコア101は、インストラクションバスB1
2よりインストラクションコードを受け、当該インスト
ラクションコードを実行する。このように、CPUコア
101によって、フラッシュメモリ105に記憶された
インストラクションコード列(プログラム)が実行され
る。
【0034】次に、本実施形態におけるオンボード書き
込み動作について説明する。オンボード書き込みを行う
場合、オンボード書き込み作業者は、スイッチ108を
オンにするとともにマイコン100の電源をオンにし、
更にROMライタ200の電源をオンにし操作を開始す
る。
【0035】作業者がROMライタ200の操作を開始
すると、ROMライタ200は、図2のフローチャート
に基づく処理を開始する。
【0036】ステップS201において、ROMライタ
200が、記憶されたインストラクション・コード列か
らインストラクションコード(データを含む)を一つ取
り出す。
【0037】次のステップS202において、ROMラ
イタ200は、ステップS201において取り出された
インストラクションコードをシリアル変換する。そし
て、ROMライタ200は、シリアル変換されたインス
トラクションコードを、同期シリアル通信線201〜2
03を介して、マイコン100内の同期シリアル通信イ
ンタフェース103へ送信する。
【0038】一方、マイコン100内の同期シリアル通
信インタフェース103は、ROMライタ200からシ
リアルデータを受信すると、受信したデータをパラレル
変換する。そして、同期シリアル通信インタフェース1
03は、パラレル変換したデータ、即ちインストラクシ
ョンコードを、インストラクションバスB12へ出力す
る。それとともに、同期シリアル通信インタフェース1
03は、SCLK信号線203を介して受信したシリア
ルクロックを、シリアルクロック供給線109を介して
CPUコア101へ出力する。一方、シリアルクロック
供給線109を介して同期シリアル通信インタフェース
103からシリアルクロックを受け取ると、マイコン1
00中のCPUコア101が、図3のフローチャートを
開始する。
【0039】最初のステップS101において、マイコ
ン100のCPUコア101は、同期シリアル通信イン
タフェース103からインストラクションコードを受け
取るのを待つ。同期シリアル通信インタフェース103
によって出力されたインストラクションコードをインス
トラクションバスB12から受け取ると、ステップS1
01にて待機していたCPUコア101は、処理をステ
ップS102へ移す。
【0040】ステップS102において、CPUコア1
01は、ステップS101において受け取ったインスト
ラクションコードに基づいて、フラッシュメモリ105
に書き込むべきデータと、当該データを書き込むべきフ
ラッシュメモリ105中のアドレスと、フラッシュメモ
リ105に書き込みを行うために必要な制御信号を発生
させるためのデータとを、制御レジスタ102へ出力す
る。その後、CPUコア101は、処理をステップS1
01へ戻す。
【0041】制御レジスタ102は、CPUコア101
からフラッシュメモリ105に書き込むべきデータと、
当該データを書き込むべきフラッシュメモリ105中の
アドレス、及びフラッシュメモリ105に書き込みを行
うために必要な制御信号を発生させるためのデータを受
け取ると、受け取ったデータに基づいて、フラッシュメ
モリ105に書き込むべきデータをフラッシュメモリ書
き込みデータバスB17へ出力し、当該データを書き込
むべきフラッシュメモリ105中のアドレスをフラッシ
ュメモリ書き込みアドレスバスB16へ出力し、フラッ
シュメモリ105に書き込みを行うために必要な制御信
号を制御信号バスB18へ出力する。
【0042】このように、フラッシュメモリ105に書
き込むべきデータがフラッシュメモリ書き込みデータバ
スB17へ出力され、当該データを書き込むべきフラッ
シュメモリ105中のアドレスがフラッシュメモリ書き
込みアドレスバスB16へ出力され、フラッシュメモリ
105に書き込みを行うために必要な制御信号が制御信
号バスB18へ出力されると、マルチプレクサ104及
びバスB15を介してフラッシュメモリ105へ伝達さ
れて、フラッシュメモリ105への書き込みが行われ
る。
【0043】一方、ROMライタ200は、ステップS
202にてインストラクションコードを送信すると、次
のステップS203において、ステップS202にて送
信したインストラクションコードのCPUコア101で
の実行後にウエイト時間が必要であるか否か、即ち制御
信号バスB18に出力された制御信号にホールド時間を
確保する必要があるか否かをチェックする。そしてもし
ウエイト時間が必要であれば、ROMライタ200は処
理をステップS204へ移し、そうでなければ処理をス
テップS205へ移す。
【0044】ステップS203にてウエイト時間が必要
であると判断した場合、ROMライタ200は、ステッ
プS204において、必要なウエイト時間の間、インス
トラクションコードの送信を中断する。
【0045】ステップS204にて必要な時間が経過し
た後及びステップS203にてウエイト時間が必要でな
いと判断された場合、ROMライタ200は、ステップ
S205において、送信すべきインストラクションコー
ドが未だ残っているか否かをチェックする。そして、も
し送信すべきインストラクションコードが未だ残ってい
ると判断した場合には処理をステップS201へ戻し、
送信すべきインストラクションコードが残っていないと
判断した場合には処理を終了する。
【0046】次に、本実施形態におけるインストラクシ
ョンコードを転送する原理について、図4のタイミング
チャートを用いて説明する。シリアルクロックに同期し
てインストラクションコードを転送する場合に、インス
トラクションコードのビット幅(インストラクションコ
ードを転送するためのクロック数)と、そのインストラ
クションを実効するためのクロック数が等しい場合には
問題はないが、これらが等しくない場合には、以下の方
法により両者のサイクルを合わせる必要がある。例え
ば、図4に示すように、インストラクションコードA、
Bが12ビット幅である場合には、各々をシリアル転送
するために少なくとも12クロックが必要である。しか
し、インストラクションコードAの実行サイクルが7ク
ロックである場合には、インストラクションコードの転
送とインストラクションの実行との間でサイクルが合わ
なくなる。そこで、本実施形態においては、次のインス
トラクションコードBが転送されるまでの5クロック
(=12クロック−7クロック)の間に、ダミーの命令
NOPを挿入している。これにより、インストラクショ
ンコードの転送とインストラクションの実行との間でサ
イクルを合わせることができる。
【0047】次に、本実施形態における制御信号のパル
ス幅を変更する原理について、図5のタイミングチャー
トを用いて説明する。図5において、上段の信号はSL
CK信号線203から入力されるシリアルクロック信号
であり、中段の信号はRXD信号線201から入力され
るデータ信号であり、下段の信号は制御信号バスB18
に出力される制御信号の一つであるPROG信号であ
る。ここで、PROG信号は、フラッシュメモリ105
に書き込みを行うための信号であり、例えば、1msの
パルス幅が必要であるものとする。即ち、図5におい
て、区間Dは1msであるとする。
【0048】まず、ROMライタ200は、PROG信
号を“1”にするためにCPUコア101が実行するイ
ンストラクションコードを、同期シリアル通信によって
送信する(区間A)。このインストラクションコードが
CPUコア101によって実行されると、PROG信号
は“1”となる。次に、ROMライタ200は、PRO
G信号のパルス幅を確保するために、同期シリアル通信
を中断する(区間B)。必要なパルス幅を確保するため
の期間が経過した後で、ROMライタ200は、PRO
G信号を“0”にするためにCPUコア101が実行す
るインストラクションコードを、同期シリアル通信によ
って送信する(区間C)。このインストラクションコー
ドがCPUコア101によって実行されると、PROG
信号は“0”となる。このように、同期シリアル通信を
中断することにより制御信号のパルス幅を確保すること
ができ、また中断の長さを変更することにより制御信号
のパルス幅を容易に変更することができる。
【0049】
【発明の効果】以上述べた様に、本発明によれば、不揮
発性メモリの書き込みプログラムを通信によって送信す
るので、不揮発性メモリの書き込みプログラムを記憶す
るためのマスクROM等を無くすことができ、回路の簡
単化やチップ面積の縮小を図ることができる。これによ
り、マスクROM用のクロック端子も不要となる。ま
た、マスクROM等に記憶されたプログラムのように固
定されたプログラムを持たないので、プログラムの不具
合の修正が容易となる。更に、不揮発性メモリの書き込
みプログラムの送信に同期シリアル通信を用いて、その
シリアルクロックをCPUへ供給するとともに不揮発性
メモリの書き込みプログラムの送信タイミングを調整す
ることにより、不揮発性メモリの書き込みに必要な各制
御信号のパルス幅を確保するとともに、パルス幅の変更
を容易に行うことができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るオンボード書き込み
のための回路構成を示すブロック図である。
【図2】図1におけるROMライタの動作を示すフロー
チャートである。
【図3】図1におけるCPUコアの動作を示すフローチ
ャートである。
【図4】本発明の一実施形態におけるインストラクショ
ンコードを転送する原理を説明するためのタイミングチ
ャートである。
【図5】本発明の一実施形態における制御信号のパルス
幅を変更する原理を説明するためのタイミングチャート
である。
【図6】従来のオンボード書き込みのための回路構成例
を示すフローチャートである。
【符号の説明】
100 シングルチップ・マイクロコンピュータ 101 CPUコア 102 制御レジスタ 103 同期シリアル通信インタフェース 104 マルチプレクサ 105 フラッシュメモリ 200 ROMライタ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 中央演算処理装置(CPU)と、 不揮発性メモリと、 前記不揮発性メモリへの書き込みを行うために前記CP
    Uが実行するプログラムを通信によって外部から受信
    し、受信したプログラムを前記CPUへ送る通信インタ
    フェースと、を具備することを特徴とする半導体集積回
    路。
  2. 【請求項2】 前記通信インタフェースが、前記不揮発
    性メモリへの書き込みを行うために前記CPUが実行す
    るプログラムを同期シリアル通信によって外部から受信
    し、受信したプログラムを前記CPUへ送るとともに、
    同期シリアル通信によって受信したシリアルクロックを
    前記CPUへ送ることを特徴とする請求項1記載の半導
    体集積回路。
  3. 【請求項3】 半導体集積回路に内蔵された不揮発性メ
    モリへの書き込みを行う方法であって、 (a)前記不揮発性メモリへの書き込みを行うためのプ
    ログラムを通信によって外部から前記半導体集積回路の
    通信インタフェースに送信するステップと、 (b)前記通信インタフェースが受信したプログラムを
    前記半導体集積回路の中央演算処理装置(CPU)へ送
    るステップと、 (c)前記CPUにおいて受け取ったプログラムを実行
    し、前記不揮発性メモリへの書き込みを行うステップ
    と、を具備することを特徴とする書き込み方法。
  4. 【請求項4】 ステップ(a)が、前記不揮発性メモリ
    への書き込みを行うためのプログラムを同期シリアル通
    信によって外部から受信するステップを含み、 ステップ(b)が、前記通信インタフェースが受信した
    プログラムを前記CPUへ送るとともに、同期シリアル
    通信によって受信したシリアルクロックを前記CPUへ
    送るステップを含み、 ステップ(c)が、前記CPUにおいて、受け取ったプ
    ログラムをシリアルクロックを動作クロックとして実行
    し、前記不揮発性メモリへの書き込みを行うステップを
    含むことを特徴とする請求項3記載の書き込み方法。
JP2000178345A 2000-06-14 2000-06-14 半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法 Pending JP2001357023A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2000178345A JP2001357023A (ja) 2000-06-14 2000-06-14 半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法
AU64290/01A AU6429001A (en) 2000-06-14 2001-06-14 Integrated circuit and method of writing nonvolatile memory within integrated circuit
PCT/JP2001/005089 WO2001097056A1 (fr) 2000-06-14 2001-06-14 Circuit integre et procede d'ecriture dans une memoire remanente a l'interieur d'un circuit integre
KR10-2002-7001744A KR100491056B1 (ko) 2000-06-14 2001-06-14 반도체 집적 회로 및 그에 내장된 불휘발성 메모리로의기입 방법
JP2002545451A JP4663210B2 (ja) 2000-06-14 2001-06-14 半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法
US09/881,193 US6766408B2 (en) 2000-06-14 2001-06-14 Semiconductor integrated circuit and method for writing into non-volatile memory using a program received by external communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000178345A JP2001357023A (ja) 2000-06-14 2000-06-14 半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法

Publications (1)

Publication Number Publication Date
JP2001357023A true JP2001357023A (ja) 2001-12-26

Family

ID=18679793

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2000178345A Pending JP2001357023A (ja) 2000-06-14 2000-06-14 半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法
JP2002545451A Expired - Fee Related JP4663210B2 (ja) 2000-06-14 2001-06-14 半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2002545451A Expired - Fee Related JP4663210B2 (ja) 2000-06-14 2001-06-14 半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法

Country Status (5)

Country Link
US (1) US6766408B2 (ja)
JP (2) JP2001357023A (ja)
KR (1) KR100491056B1 (ja)
AU (1) AU6429001A (ja)
WO (1) WO2001097056A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011028844A (ja) * 2002-10-02 2011-02-10 Mitsubishi Electric Corp 電気機器、romライタ及び不揮発性メモリへの書込み方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6930929B1 (en) * 2002-11-04 2005-08-16 National Semiconductor Corporation Simultaneous read-write memory cell at the bit level for a graphics display
US8090916B2 (en) * 2004-06-29 2012-01-03 Macronix International Co., Ltd. In-circuit programming architecture with processor and delegable flash controller
US7406559B2 (en) * 2004-08-23 2008-07-29 Macronix International Co., Ltd. In-circuit programming architecture with processor, delegable flash controller, and code generator
US20070258298A1 (en) * 2006-05-04 2007-11-08 Westell Technologies, Inc. Parallel programming of flash memory during in-circuit test
US9442842B2 (en) * 2013-08-19 2016-09-13 Sandisk Technologies Llc Memory system performance configuration

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03158184A (ja) 1989-11-17 1991-07-08 Juki Corp 制御プログラムによつて動作するミシン
JPH04114289A (ja) * 1990-09-04 1992-04-15 Mitsubishi Electric Corp マイクロコンピュータ集積回路装置のデータ書換え回路
JPH04287294A (ja) * 1991-03-18 1992-10-12 Matsushita Electron Corp 不揮発性メモリ内蔵マイクロコンピュータ
JPH0512511A (ja) * 1991-07-03 1993-01-22 Mitsubishi Electric Corp Icカード及びその応用プログラムの変更方法
JPH05159079A (ja) * 1991-12-04 1993-06-25 Fujitsu Ltd 半導体集積回路装置
US5687345A (en) * 1992-03-17 1997-11-11 Hitachi, Ltd. Microcomputer having CPU and built-in flash memory that is rewritable under control of the CPU analyzing a command supplied from an external device
TW231343B (ja) * 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
JPH05307616A (ja) * 1992-04-30 1993-11-19 Hitachi Ltd 半導体装置
US6006304A (en) * 1993-06-25 1999-12-21 Hitachi, Ltd. Apparatus and method for calculating an erasure time for data stored in a flash memory
JPH0729386A (ja) * 1993-07-13 1995-01-31 Hitachi Ltd フラッシュメモリ及びマイクロコンピュータ
JPH08101821A (ja) 1994-09-30 1996-04-16 Ishikawajima Harima Heavy Ind Co Ltd ボードコンピュータ
JPH08203288A (ja) * 1995-01-23 1996-08-09 Nec Ic Microcomput Syst Ltd オンボード書込制御装置
JP3109413B2 (ja) * 1995-07-31 2000-11-13 株式会社デンソー 機械制御装置
EP1008928A4 (en) * 1996-04-11 2007-08-08 Hitachi Ltd DISK UNIT AND CALCULATOR
JP3796837B2 (ja) * 1996-09-20 2006-07-12 株式会社デンソー 電子装置のメモリ書込装置
US6275911B1 (en) * 1996-09-20 2001-08-14 Denso Corporation Memory writing device for an electronic device
JP3173407B2 (ja) * 1997-02-05 2001-06-04 日本電気株式会社 フラッシュeeprom内蔵マイクロコンピュータ
JPH10283172A (ja) 1997-04-02 1998-10-23 Nec Corp フラッシュromデータ書き換え方式
JPH117381A (ja) 1997-06-19 1999-01-12 Nissan Motor Co Ltd フラッシュメモリのオンボード書き込み方法
JPH11149376A (ja) 1997-11-14 1999-06-02 Toyo Commun Equip Co Ltd Bootローダー回路
JPH11272642A (ja) * 1998-03-26 1999-10-08 Nec Corp 1チップマイクロコンピュータ及び起動アドレス設定方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011028844A (ja) * 2002-10-02 2011-02-10 Mitsubishi Electric Corp 電気機器、romライタ及び不揮発性メモリへの書込み方法

Also Published As

Publication number Publication date
US20020018371A1 (en) 2002-02-14
KR20020022098A (ko) 2002-03-23
WO2001097056A1 (fr) 2001-12-20
US6766408B2 (en) 2004-07-20
KR100491056B1 (ko) 2005-05-24
JP4663210B2 (ja) 2011-04-06
AU6429001A (en) 2001-12-24

Similar Documents

Publication Publication Date Title
US8686836B2 (en) Fast block write using an indirect memory pointer
JP2003150574A (ja) マイクロコンピュータ
US6708289B1 (en) Microcomputer, electronic equipment and debugging system
CN114035853B (zh) 具备spi接口的mcu引导系统及芯片
JP2001357023A (ja) 半導体集積回路及びそれに内蔵された不揮発性メモリへの書き込み方法
US20120007722A1 (en) Rfid access method using an indirect memory pointer
US7519802B2 (en) System and method for configuring a computer system
US20040122984A1 (en) Data processor and data table update method
US6182207B1 (en) Microcontroller with register system for the indirect accessing of internal memory via auxiliary register
US6505294B2 (en) Direct control of operation blocks using operand signal of control instruction as extension to instruction set in a hardwired control processor
CN113806282A (zh) 异构控制系统及异构控制系统的加载方法
KR20060087038A (ko) 마이크로컨트롤러 시스템 및 그 롬 데이터 프로그램 방법
JPH0588884A (ja) 状態モード設定方式
US20020004877A1 (en) Method and system for updating user memory in emulator systems
JPH11167548A (ja) データ伝送システム
KR100264758B1 (ko) 마이크로컴퓨터
CN102150132A (zh) 信息处理装置
US5864691A (en) Central processing unit with a selector that bypasses circuits where processing is not required
US20120007720A1 (en) Low power, low pin count interface for an rfid transponder
JP2005251217A (ja) マイクロコンピュータ、電子機器及びデバッグシステム
JP4609702B2 (ja) データ処理システムおよびその制御方法
JP2002358202A (ja) 複数形式のプログラム言語に対応した携帯情報処理装置
JPH0991267A (ja) 不揮発性メモリのデータ書き込み装置
JP2001075796A (ja) マイクロコンピュータ及びそのファームウェア書込みシステム及び書込み方法
JP2001290755A (ja) Eepromアクセス方法およびeepromを有する電子装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041006

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20050208