JP2000339152A - アプリケーションプログラム変更方法 - Google Patents

アプリケーションプログラム変更方法

Info

Publication number
JP2000339152A
JP2000339152A JP11149475A JP14947599A JP2000339152A JP 2000339152 A JP2000339152 A JP 2000339152A JP 11149475 A JP11149475 A JP 11149475A JP 14947599 A JP14947599 A JP 14947599A JP 2000339152 A JP2000339152 A JP 2000339152A
Authority
JP
Japan
Prior art keywords
program
memory
application program
area
rewriting
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
JP11149475A
Other languages
English (en)
Inventor
Kinichi Higure
欽一 日暮
Takehiko Kobayashi
岳彦 小林
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 Denshi KK
Original Assignee
Hitachi Denshi KK
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 Denshi KK filed Critical Hitachi Denshi KK
Priority to JP11149475A priority Critical patent/JP2000339152A/ja
Publication of JP2000339152A publication Critical patent/JP2000339152A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】マイクロプロセッサが読込み実行するプログラ
ムを、電気的に消去・書き換えが可能な不揮発性メモリ
から読込み実行するブート方法においては、不揮発性メ
モリを書換えるためのプログラムが必要になるが、本発
明の課題はこのプログラムを、メモリを直接実装する場
合でも、変更可能にすることにある。 【解決手段】本発明では、不揮発性メモリを2つの領域
に分割し、分割した片方の領域にメモリ書換えプログラ
ムを格納し、このプログラムによりもう片方の領域へア
プリケーションプログラムを書込む方法または、メモリ
書換えプログラムをマイクロプロセッサの外部インター
フェースから読込む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロコンピュ
ータやデジタルシグナルプロセッサなどを含む、マイク
ロプロセッサの実行プログラムを読込む方法に関するも
のである。
【0002】
【従来の技術】マイクロプロセッサはプログラムを読込
み、読込んだプログラムを実行する。その場合に、その
プログラムを電気的に消去または書換えが可能な不揮発
性メモリ(以下、“プログラムを電気的に消去または書
換えが可能な不揮発性メモリ”を“不揮発性メモリ”と
称する)からブートし、また不揮発性メモリへのプログ
ラムの書込みもマイクロプロセッサ自身が行う方法があ
る。そのの一例を以下に述べる。ここで、ブートとは、
マイクロプロセッサがプログラムを読込み、読込んだプ
ログラムを実行することをいう。
【0003】まず図3を用いて、マイクロプロセッサ自
身が不揮発性メモリへの書込みを行うときに、必要な書
込みの処理動作を行うプログラムをROM(Read Only Meo
mry)からブートする方法について説明する。
【0004】図3は不揮発性メモリに書込まれたアプリ
ケーションプログラムをブートする場合のデータの流れ
を示した図である。通常は、図3(a)に示すように、不
揮発性メモリ102からアプリケーションプログラム103を
ブートする。このときメモリ書換えプログラム302が格
納されているROM301とマイクロプロセッサ101とのパス
は接続されていない。今、アプリケーションプログラム
103を書換える場合、または実装した不揮発性メモリ102
にアプリケーションプログラム103が書込まれていない
場合の書込み方法を図3(b)によって説明する。図3(b)
において、マイクロプロセッサ101はROM301からメモリ
書換えプログラム302をブートする。このメモリ書換え
プログラム302は更新したアプリケーションプログラム1
06をマイクロプロセッサ101の外部インターフェース105
から読込み、これを不揮発性メモリ102へ書込むプログ
ラムであり、ブートすることによりアプリケーションプ
ログラム103が書換えられる。
【0005】しかし、ROM301に書込まれているメモリ書
換えプログラム302の内容を、不具合等の理由によって
書換える場合、またはROM301にプログラムが書込まれて
いない場合に、プログラムを書換えたり、書込んだりす
ることはできない。
【0006】
【発明が解決しようとする課題】前述の従来技術には、
アプリケーションプログラムの変更は容易だが、ROMを
書込むメモリ書換えプログラムは、一度ROMを実装して
しまうとメモリ書換えプログラムに不具合があっても変
更することができない。
【0007】また、ROMを簡単に着脱できるように、IC
ソケットを取付け、ICソケットを介して実装すると、取
外したROMに対してメモリ書換えプログラムを変更する
ことが可能であるが、装置の小型化には適さない欠点が
あった。
【0008】本発明の目的は、上記のような欠点を除去
し、ROMを直接実装したままで、メモリ書換えプログラ
ムの変更を可能にすることにある。
【0009】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、メモリ書換えプログラムを不揮発性メモ
リに書込み、その不揮発性メモリからブートすることに
より実現した。
【0010】また本発明の他の方法として、メモリ書換
えプログラムをマイクロプロセッサの外部インターフェ
ースからブートすることにより実現した。
【0011】
【発明の実施の形態】まず、メモリ書換えプログラムを
不揮発性メモリに書込み、その不揮発性メモリからブー
トする方法を図1を用いて説明する。図1は不揮発性メ
モリの領域の一部にメモリ書換えプログラムが格納され
ている場合のデータの流れを示した図である。図1は不
揮発性メモリ102を2つの領域(領域Aと領域B)に分け、
領域Aをアプリケーションプログラム103に、領域Bをメ
モリ書換えプログラム104に割当てている。
【0012】通常は図1(a)に示すように、不揮発性メ
モリ102の領域Aからアプリケーションプログラム103を
ブートする。このとき、領域Bに格納されているメモリ
書換えプログラム104にはアクセスされない。アプリケ
ーションプログラム103を書換える場合は、図1(b)に示
すように、不揮発性メモリ102の領域Bに書込まれている
メモリ書換えプログラム104をブートし、アプリケーシ
ョンプログラム103を書換える。このメモリ書換えプロ
グラム104は更新したアプリケーションプログラム106を
マイクロプロセッサ101の外部インターフェース105を介
して読込み、不揮発性メモリ102の領域Aに書込むことに
よって領域Aのアプリケーションプログラム103を更新す
る。メモリ書換えプログラム104を書換える場合、また
は実装後、不揮発性メモリ102の領域Bにメモリ書換えプ
ログラムが書込まれていない場合には、図1(c)に示す
ように、メモリ書換えプログラム107をマイクロプロセ
ッサ101の外部インターフェース105よりブートし、不揮
発性メモリ102の領域Bに書込むことによって、メモリ書
換えプログラム104を書換えるかまたは書込む。この、
メモリ書換えプログラム107はメモリ書換えプログラム1
04を不揮発性メモリ102に書込むプログラムである。
【0013】次に、メモリ書換えプログラムをマイクロ
プロセッサの外部インターフェースからブートする方法
を図2を用いて説明する。図2はメモリ書換えプログラ
ムを外部外部からブートする場合のデータの流れを示し
た図である。図2は不揮発性メモリ102に、アプリケー
ションプログラム103だけを格納している。
【0014】通常の場合には、図2(a)に示すように、
不揮発性メモリ102からアプリケーションプログラム103
をブートする。不揮発性メモリ102の中のアプリケーシ
ョンプログラム103を書換える場合は、メモリ書換えプ
ログラム202(実行プログラム)にアプリケーションプ
ログラム203(データテーブル)を結合したプログラム2
01をマイクロプロセッサ101が外部インターフェース105
からブートする。このブートしたプログラム201は、デ
ータテーブルとして結合したアプリケーションプログラ
ム203を不揮発性メモリ102に書込むものであり、これに
よって、不揮発性メモリ102が書換えられる。
【0015】以下、メモリ書換えプログラムを、不揮発
性メモリに置く場合の一実施例を図4によって説明す
る。図4は、メモリ書換えプログラムを不揮発性メモリ
に置いた場合の一実施例を説明する図である。マイクロ
プロセッサとしてデジタルシグナルプロセッサ(DSP:D
igital Signal Processor)401を用い、不揮発性メモリ
としてフラッシュメモリ402を用いている。DSP401とフ
ラッシュメモリ402はデータバス403とアドレスバス404
で接続され、フラッシュメモリ402からのアドレスバス4
04のうち、上位1ビットをレジスタ410に接続し、フラッ
シュメモリ402を2つの領域に分割して使用する。
【0016】レジスタ410は、DSP401のブート時に、フ
ラッシュメモリ領域選択スイッチ406の値がサンプリン
グし、ブート後はDSP401から変更することができる。フ
ラッシュメモリ402のアドレスバスのビット数をNとする
と、フラッシュメモリ402のアドレス空間は0番地から2N
-1番地となる。図5(a)に示すように、フラッシュメモ
リ402を、0番地から2N-1-1番地までの領域A501と、2N-1
番地から2N-1番地までの領域B502に2等分する。レジス
タ410の内容が“0”の場合は、アドレスバス404の最上
位ビットは“0”となり、図5(b)に示すように、 DSP40
1からは領域A501が0番地から2N-1-1番地として見える。
“1”の場合は、アドレスバス404の最上位ビットが
“1”となり、図5(c)に示すように、領域B502が0番地
から2N-1-1番地として見えるため、領域を選択して使用
することができる。
【0017】また、図4において、DSP401にブート選択
スイッチ405を接続し、シリアルポート407からブートす
るか、またはフラッシュメモリ402からブートするか選
択する。図9はブート選択スイッチ405と領域選択スイ
ッチ406の組合わせに対するDSP401のブート先を示した
もので、ブート選択スイッチ405が“0”の場合、領域選
択スイッチ406が“0”ならばフラッシュメモリ402の領
域Aから、領域選択スイッチ406が“1”ならば領域Bから
ブートし、ブート選択スイッチ405が“1”の場合、領域
選択スイッチ406の値に関わらずシリアルポートブート
を行う。
【0018】フラッシュメモリ402の内容を書換える場
合は、DSP401のシリアルポートインターフェース407を
パーソナルコンピュータ408のシリアルポートインター
フェース409に接続し、シリアルポートブートを行うプ
ログラムおよびフラッシュメモリ402に書込むプログラ
ムをパーソナルコンピュータ408から転送する。
【0019】図6は、図4の実施例について、データの
流れの一例を示したブロック図である。図4と図6(a)
に示すように、通常、フラッシュメモリ402の領域Aに書
込まれたアプリケーションプログラム601をブートする
場合には、ブート選択スイッチ405を“0”に設定し、領
域選択スイッチ406を“0”に選択してDSP401をリセット
する。リセット時にレジスタ410には領域選択スイッチ4
06の値“0”がサンプリングされるので、アドレスバス4
04の最上位ビットが“0”となり、DSP401からはフラッ
シュメモリ402の領域A501だけが見え、またブート選択
スイッチ405が“0”に設定されているため、フラッシュ
メモリ402の領域Aのアプリケーションプログラム601が
ブートされる。
【0020】図4と図6(b)に示すように、フラッシュ
メモリ402の領域Aのアプリケーションプログラム601を
書換える場合は、ブート選択スイッチ405を“0”、領域
選択スイッチを“1”に設定してDSP401をリセットす
る。リセット時にレジスタ410には領域選択スイッチ406
の値“1”がサンプリングされるので、アドレスバス404
の最上位ビットが“1”となり、DSP401からはフラッシ
ュメモリ402の領域B502だけが見え、またブート選択ス
イッチ405が“0”に設定されているため、領域Bのメモ
リ書換えプログラムがブートされる。このメモリ書換え
プログラム602は、ブート後にレジスタ410を“0”に書
き換えてフラッシュメモリ402の領域A 501が見えるよう
にし、パーソナルコンピュータ408からシリアルポート4
09,407を介してDSP401に入力したプログラムをフラッ
シュメモリ402に書込む。DSP401に入力したプログラム
は、レジスタ410が“0”のため、領域A501に書込まれ
る。
【0021】図4と図6(c)に示すように、フラッシュ
メモリ402の領域Bのメモリ書換えプログラム602を書換
える場合は、ブート選択スイッチ405を“1”に設定して
DSP401をリセットし、フラッシュメモリ402の領域Bにメ
モリ書換えプログラム602の書込みを行うプログラムを
パーソナルコンピュータ408からシリアルポートブート
する。このプログラムは、ブート後にレジスタ410を
“1”に書換え、フラッシュメモリ402の領域B502が見え
るようにし、新たなメモリ書換えプログラムをフラッシ
ュメモリ402の領域Bに書込む。領域Bに書込むメモリ書
換えプログラム602は、シリアルポート407からブートし
たプログラムの中にデータテーブルとして組込まれてい
る。
【0022】次に、メモリ書換えプログラムを内蔵して
おらず外部インターフェースからブートする場合の実施
例を図7によって説明する。図7は、メモリ書換えプロ
グラムを内蔵していない場合の一実施例を説明する図で
ある。図7において、DSP401はフラッシュメモリ402
に、データバス701およびアドレスバス702で接続され、
パーソナルコンピュータ408にシリアルポートインター
フェース409,407で接続されている。
【0023】図8は、図7の実施例について、データの
流れの一例を示したブロック図である。図7と図8(a)
に示すように、通常、フラッシュメモリ402に書込まれ
たアプリケーションプログラム601をブートする場合に
は、ブート選択スイッチ703を“0”に設定してDSP401を
リセットする。この場合には、フラッシュメモリ402の
アプリケーションプログラム601がブートされる。図7
と図8(b)に示すように、フラッシュメモリ402に書込ま
れているアプリケーションプログラム601を書換える場
合には、ブート選択スイッチ703を“1”に設定してDSP4
01をリセットし、メモリ書換えプログラムをパーソナル
コンピュータ408からシリアルポートブートする。この
プログラムは、アプリケーションプログラム601をフラ
ッシュメモリ402に書込む。このフラッシュメモリ402に
書込むアプリケーションプログラム601は、シリアルポ
ート407からブートするプログラムの中にデータテーブ
ルとして組込まれている。
【0024】図4,図5,図6および図9の実施例で
は、アプリケーションプログラム601を書換える場合、
一度フラッシュメモリ402の領域B502にメモリ書換えプ
ログラム602を書込んでしまえば、パーソナルコンピュ
ータ408からはメモリ書換えプログラム602を転送(図6
(c)の手順)する必要はなく、図6(b)の手順で更新した
いアプリケーションプログラム601だけを転送すれば良
く、デバッグ作業などで頻繁にアプリケーションプログ
ラム601を更新する場合に適している。
【0025】一方、図7,図8および図10の実施例で
は、アプリケーションプログラム601を書換える度に、
パーソナルコンピュータ408からメモリ転送プログラム
をDSP401へ転送する必要があるが、フラッシュメモリ40
2にメモリ書換えプログラムを書込まず、全ての領域を
アプリケーションプログラム601に割当てることができ
るので、アプリケーションプログラム601の更新頻度が
低く、プログラムサイズが大きい場合に適している。
【0026】
【発明の効果】以上のように本発明によれば、メモリを
実装したままで,メモリ書換えプログラムの変更が可能
である。このため、ICソケットを使用する必要がないの
で、装置の小型化が実現できる。
【0027】また、本発明の別の効果として、メモリ書
換えプログラムのためのメモリを必要としないため、実
装する素子数が低減でき、装置の小型化とともに、製造
コストが低減できる。
【図面の簡単な説明】
【図1】 本発明の一実施例におけるデータの流れを説
明する図。
【図2】 本発明の一実施例におけるデータの流れを説
明する図。
【図3】 従来技術におけるデータの流れを説明する
図。
【図4】 本発明の一実施例を説明する図。
【図5】 図4の実施例でのフラッシュメモリのデータ
領域および、DSPから見たアドレスを説明する図。
【図6】 図4の実施例におけるデータの流れを説明す
る図。
【図7】 本発明の他の実施例を説明する図。
【図8】 図7の実施例でのデータの流れを示す図。
【図9】 ブート選択スイッチと領域選択スイッチ)の
組合わせによるDSPのブート先を説明する図。
【図10】 ブート選択スイッチによるDSPのブート先
を説明する図。
【符号の説明】
101:マイクロプロセッサ、 102:不揮発性メモリ、
103:アプリケーションプログラム、 104:メモリの領
域Aを書換えるプログラム、 105:外部インターフェー
ス、 106:更新したアプリケーションプログラム、 1
07:領域Bにメモリ書換えプログラムを書込むプログラ
ム、 201:メモリ書換えプログラムの実行プログラム
にアプリケーションプログラムをデータテーブルとして
結合したもの、 202:実行形式のメモリ書換えプログ
ラム、 203:アプリケーションプログラムのプログラ
ムコード、 301: ROM、 302:不揮発性メモリ102を
書換えるプログラム、 401: DSP、 402:フラッシュ
メモリ、 403:データバス、 404:アドレスバス、
405:ブート選択スイッチ、 406:フラッシュメモリ領
域選択スイッチ、 407:シリアルポートインターフェ
ース、 408:パーソナルコンピュータ、 409:シリア
ルポートインターフェース、 410: レジスタ、 50
1:領域A、 502:領域B、 601:アプリケーションプ
ログラム、 602:メモリ書換えプログラム、 701:デ
ータバス、 702:アドレスバス、 703:ブート選択ス
イッチ、

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 実行するアプリケーションプログラム
    を、電気的に消去及び書換え可能な不揮発性メモリから
    読込んで実行するマイクロプロセッサであって、 前記
    マイクロプロセッサが、前記アプリケーションプログラ
    ムを更新する場合に、 該更新するアプリケーションプログラムを読込み、 前記不揮発性メモリに、前記アプリケーションプログラ
    ムを書換えまたは書込む処理を行う方法において、 前記マイクロプロセッサに書込みまたは書換え処理を行
    わせるためのメモリ書換えプログラムを前記不揮発性メ
    モリに記憶させることを特徴とするマイクロプロセッサ
    のアプリケーションプログラム変更方法。
  2. 【請求項2】 実行するアプリケーションプログラム
    を、電気的に消去及び書換え可能な不揮発性メモリから
    読込んで実行するマイクロプロセッサであって、 前記
    マイクロプロセッサが、前記アプリケーションプログラ
    ムを更新する場合に、 該更新するアプリケーションプログラムを読込み、 前記不揮発性メモリに、前記アプリケーションプログラ
    ムを書換えまたは書込む処理を行う方法において、 前記マイクロプロセッサに書込みまたは書換え処理を行
    わせるためのメモリ書換えプログラムを前記更新するア
    プリケーションプログラムと結合し、該結合したプログ
    ラムを読込んで、前記不揮発性メモリの書換えまたは書
    込みを行うことを特徴とするマイクロプロセッサのアプ
    リケーションプログラム変更方法。
JP11149475A 1999-05-28 1999-05-28 アプリケーションプログラム変更方法 Pending JP2000339152A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11149475A JP2000339152A (ja) 1999-05-28 1999-05-28 アプリケーションプログラム変更方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11149475A JP2000339152A (ja) 1999-05-28 1999-05-28 アプリケーションプログラム変更方法

Publications (1)

Publication Number Publication Date
JP2000339152A true JP2000339152A (ja) 2000-12-08

Family

ID=15475973

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11149475A Pending JP2000339152A (ja) 1999-05-28 1999-05-28 アプリケーションプログラム変更方法

Country Status (1)

Country Link
JP (1) JP2000339152A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006508576A (ja) * 2002-11-27 2006-03-09 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ チップが集積されている保護手段
JP2007200156A (ja) * 2006-01-27 2007-08-09 Seiko Epson Corp 情報処理装置及び情報処理装置のフラッシュrom書換方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006508576A (ja) * 2002-11-27 2006-03-09 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ チップが集積されている保護手段
JP4686193B2 (ja) * 2002-11-27 2011-05-18 エヌエックスピー ビー ヴィ チップが集積されている保護手段
US8266444B2 (en) 2002-11-27 2012-09-11 Entropic Communications, Inc. Chip integrated protection means
US8738930B2 (en) 2002-11-27 2014-05-27 Entropic Communications, Inc. Chip integrated protection means
JP2007200156A (ja) * 2006-01-27 2007-08-09 Seiko Epson Corp 情報処理装置及び情報処理装置のフラッシュrom書換方法

Similar Documents

Publication Publication Date Title
JP4668416B2 (ja) ブート・ブロックへの書き込みアクセスを可能にする時のブート・ブロック・コードの保護
JP5035636B2 (ja) フラッシュメモリ内のブロックにおける移動セクタ
US7886141B2 (en) Method and systems for advanced reprogrammable boot codes and in-application programming of embedded microprocessor systems
US7039799B2 (en) Methods and structure for BIOS reconfiguration
KR20040082921A (ko) 플래쉬 파일 시스템
KR20010072128A (ko) 비휘발성 메모리를 갱신하기 위한 방법 및 장치
KR20010070416A (ko) 컴퓨터
JPH04114289A (ja) マイクロコンピュータ集積回路装置のデータ書換え回路
JPH10161988A (ja) フラッシュeeprom内蔵マイクロコンピュータ
JPH06325185A (ja) マイクロプロセッサ、メモリ及び内部構成可能な周辺装置を備える集積回路
TWI282140B (en) Display controller and method for updating parameters of the same
US6925522B2 (en) Device and method capable of changing codes of micro-controller
US7046536B2 (en) Programable identification circuitry
KR100223844B1 (ko) 옵션 자동 설정 회로
JP2000339152A (ja) アプリケーションプログラム変更方法
JP3918434B2 (ja) 情報処理装置
JPH05216639A (ja) フラッシュメモリをbios−romとして使用したパーソナルコンピュータ
JP4826232B2 (ja) 情報処理装置およびブートプログラムの書き換え方法
EP0881578A2 (en) Microcomputer
JP4461760B2 (ja) コンピュータの起動システム
TW202122996A (zh) 電子處理裝置及記憶體控制方法
JPH11259357A (ja) 半導体集積装置及び不揮発性メモリ書き込み方式
KR20000033437A (ko) 부트스트랩로더 기능 구현 장치
JP2000029679A (ja) フラッシュメモリをbios―romとして使用したパ―ソナルコンピュ―タ
JP2002140205A (ja) データ処理装置およびデータ処理装置のブート処理方法