JP2001195257A - プログラムをローディングする装置 - Google Patents
プログラムをローディングする装置Info
- Publication number
- JP2001195257A JP2001195257A JP2000002135A JP2000002135A JP2001195257A JP 2001195257 A JP2001195257 A JP 2001195257A JP 2000002135 A JP2000002135 A JP 2000002135A JP 2000002135 A JP2000002135 A JP 2000002135A JP 2001195257 A JP2001195257 A JP 2001195257A
- Authority
- JP
- Japan
- Prior art keywords
- program
- loading
- size
- address
- loaded
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
(57)【要約】
【目的】本発明は、プログラムがローディングされる装
置に関する発明であり、より簡易な方法でローディング
されるプログラムのサイズを自動計算することを目的と
する。 【構成】プログラムのローディング時に、データ部ある
いはコード部のサイズを判別する。この際に、書き込み
アドレスとコード/データ書き込み終了アドレスとを対
比、両者が一致しない場合にはNOPなどの書き込みを
行う。
置に関する発明であり、より簡易な方法でローディング
されるプログラムのサイズを自動計算することを目的と
する。 【構成】プログラムのローディング時に、データ部ある
いはコード部のサイズを判別する。この際に、書き込み
アドレスとコード/データ書き込み終了アドレスとを対
比、両者が一致しない場合にはNOPなどの書き込みを
行う。
Description
【0001】
【発明の属する技術分野】本発明は、特にリセット時に
プログラムを記憶媒体にローディングして動作する装置
に関する。
プログラムを記憶媒体にローディングして動作する装置
に関する。
【0002】
【従来の技術】従来より、各種の装置がリセットされた
場合には、内部の記憶媒体等に格納されたプログラムを
ローディングする必要がある。この際に、ロードするプ
ログラムのサイズを、ローディングプログラムの中に予
め固定値として持っていたり、あるいは書き込みサイズ
と同じサイズとするために、NOPなどによりプログラ
ムの書き込みサイズの調整を行っていたりした。
場合には、内部の記憶媒体等に格納されたプログラムを
ローディングする必要がある。この際に、ロードするプ
ログラムのサイズを、ローディングプログラムの中に予
め固定値として持っていたり、あるいは書き込みサイズ
と同じサイズとするために、NOPなどによりプログラ
ムの書き込みサイズの調整を行っていたりした。
【0003】
【発明が解決しようとする課題】そのため、プログラム
が変更される度にプログラムのサイズを計算し、これに
合わせてローディングプログラム中に設定されているプ
ログラムサイズの値を書き替える必要があった。また、
書き込みされるプログラムのサイズ調整のためにNOP
を書き込まなければならないため、プログラムの書き込
みに当たって無駄な領域を使うなどの問題点が生じてい
た。
が変更される度にプログラムのサイズを計算し、これに
合わせてローディングプログラム中に設定されているプ
ログラムサイズの値を書き替える必要があった。また、
書き込みされるプログラムのサイズ調整のためにNOP
を書き込まなければならないため、プログラムの書き込
みに当たって無駄な領域を使うなどの問題点が生じてい
た。
【0004】本発明は、上記のような問題を解決するた
めになされたものである。
めになされたものである。
【0005】
【課題を解決するための手段】上記課題を解決するため
に、本発明は装置に対するリセット時にプログラムをロ
ーディングして動作する装置において、ローディングさ
れるプログラムのサイズを計算する手段と、計算手段に
よりそのサイズが計算されたプログラムをローディング
する手段と、を備えたことを特徴とする。
に、本発明は装置に対するリセット時にプログラムをロ
ーディングして動作する装置において、ローディングさ
れるプログラムのサイズを計算する手段と、計算手段に
よりそのサイズが計算されたプログラムをローディング
する手段と、を備えたことを特徴とする。
【0006】また、本発明は、計算手段がプログラムの
先頭及び最後の部分に付与されたラベルを判別する手段
と、ラベルのアドレスに基づいてプログラムのサイズを
計算する手段と、を備えたことを特徴とする。
先頭及び最後の部分に付与されたラベルを判別する手段
と、ラベルのアドレスに基づいてプログラムのサイズを
計算する手段と、を備えたことを特徴とする。
【0007】更に本発明は、外部I/O装置を備えると
ともに、リセット時に前記外部I/O装置の有無を確認
する手段を備え、リセット時に前記外部I/O装置があ
る場合には、当該外部I/O装置に格納されているプロ
グラムをローディングするように動作することを特徴と
する。
ともに、リセット時に前記外部I/O装置の有無を確認
する手段を備え、リセット時に前記外部I/O装置があ
る場合には、当該外部I/O装置に格納されているプロ
グラムをローディングするように動作することを特徴と
する。
【0008】
【発明の実施の形態】図1は、本発明の一実施形態が適
用される装置の一例を示す図面であり、その内部構成が
概略化されている。ここでは、適用される装置の種別は
一切特定されない。
用される装置の一例を示す図面であり、その内部構成が
概略化されている。ここでは、適用される装置の種別は
一切特定されない。
【0009】図1に図示される装置では、MPUが備え
られ、ROMが接続されている。更に、複数のプロセッ
サ(例えばDSP)が接続されている。ROMには、前
述したローディングプログラムと、DSPなどのプロセ
ッサを動作させるためのプログラムが格納されている。
そして、装置のリセット時にはローディングプログラム
が動作し、各プロセッサのRAMの所定のアドレスに、
対応するプログラムが書き込まれる。
られ、ROMが接続されている。更に、複数のプロセッ
サ(例えばDSP)が接続されている。ROMには、前
述したローディングプログラムと、DSPなどのプロセ
ッサを動作させるためのプログラムが格納されている。
そして、装置のリセット時にはローディングプログラム
が動作し、各プロセッサのRAMの所定のアドレスに、
対応するプログラムが書き込まれる。
【0010】図2は、本実施形態によるROMのメモリ
マップを示す図面である。ROMの内部は、ローディン
グプログラムとプロセッサRAMに書き込まれるプログ
ラムとで構成されている。このプログラムはモード別に
バンクに分けられており、複数個が存在することも可能
である。
マップを示す図面である。ROMの内部は、ローディン
グプログラムとプロセッサRAMに書き込まれるプログ
ラムとで構成されている。このプログラムはモード別に
バンクに分けられており、複数個が存在することも可能
である。
【0011】複数個のプログラムを存在させる場合に
は、スイッチ(SW)によりモードを指定することによ
って、ローディングプログラムはロードするべきプログ
ラムを識別し、バンクを切り替えてローディングを行
う。
は、スイッチ(SW)によりモードを指定することによ
って、ローディングプログラムはロードするべきプログ
ラムを識別し、バンクを切り替えてローディングを行
う。
【0012】各バンクには、プロセッサ毎にプログラム
が存在し、そのプログラムの中もプログラムコードとテ
ーブルデータ等のように複数に分かれて存在できる。
が存在し、そのプログラムの中もプログラムコードとテ
ーブルデータ等のように複数に分かれて存在できる。
【0013】図2の例で更に詳細に説明すると、ROM
の「バンク0」はプロセッサ1用プログラム〜プロセッ
サn用プログラムのn個の領域に分かれている。また、
各プログラム用の領域は、データ部とコード部とに分か
れている。
の「バンク0」はプロセッサ1用プログラム〜プロセッ
サn用プログラムのn個の領域に分かれている。また、
各プログラム用の領域は、データ部とコード部とに分か
れている。
【0014】図3は、本発明の一実施形態による、プロ
セッサに書き込まれるプログラムの形式の一例を示す図
面である。図の例では、プログラムの先頭と最後の部分
にラベルが付与されている。なお、プログラムがコード
部とデータ部などのように複数個に分割されて書き込ま
れる場合には、それぞれの部分の先頭と最後の部分にラ
ベルが付与される。
セッサに書き込まれるプログラムの形式の一例を示す図
面である。図の例では、プログラムの先頭と最後の部分
にラベルが付与されている。なお、プログラムがコード
部とデータ部などのように複数個に分割されて書き込ま
れる場合には、それぞれの部分の先頭と最後の部分にラ
ベルが付与される。
【0015】図4は、プログラムの書き込み先となるR
AMのマップを示す図面である。ここで、図3に図示さ
れたようにコード部とデータ部とが分かれたプログラム
を書き込むような場合には、書き込み先の指定されたア
ドレスにプログラムを書き込む必要がある。図4のよう
にコード部の書き込み開始アドレス、データ部の書き込
み開始アドレスが決められているような場合には、プロ
グラムを書き込んでいない領域にはプログラムの暴走を
防止するために、NOP等の命令を書き込む必要があ
る。これらのNOPなどの命令のサイズも、計算により
算出する。
AMのマップを示す図面である。ここで、図3に図示さ
れたようにコード部とデータ部とが分かれたプログラム
を書き込むような場合には、書き込み先の指定されたア
ドレスにプログラムを書き込む必要がある。図4のよう
にコード部の書き込み開始アドレス、データ部の書き込
み開始アドレスが決められているような場合には、プロ
グラムを書き込んでいない領域にはプログラムの暴走を
防止するために、NOP等の命令を書き込む必要があ
る。これらのNOPなどの命令のサイズも、計算により
算出する。
【0016】図5は、上記のような処理を行うための処
理手順を示したフローチャートである。
理手順を示したフローチャートである。
【0017】ローディングプログラムは、装置にリセッ
トがかかると設定スイッチを読み込み、対応するモード
のバンクに切り替える。その後、ローディングされるプ
ログラムサイズの計算を行うが、その際に複数のモード
または複数のプログラムが存在する場合には、これらに
対して同一のラベル名を付与することはできないため、
ローディングプログラムで使用される共通ラベル名にア
ドレスを移してから行う。
トがかかると設定スイッチを読み込み、対応するモード
のバンクに切り替える。その後、ローディングされるプ
ログラムサイズの計算を行うが、その際に複数のモード
または複数のプログラムが存在する場合には、これらに
対して同一のラベル名を付与することはできないため、
ローディングプログラムで使用される共通ラベル名にア
ドレスを移してから行う。
【0018】図6に示すように、選択されているバンク
の各プロセッサのラベル名が書き込まれているアドレス
を、ローディングプログラムで使われている共通ラベル
名に移すことで、同じローディングプログラムで複数の
バンクに対応することが可能となる。
の各プロセッサのラベル名が書き込まれているアドレス
を、ローディングプログラムで使われている共通ラベル
名に移すことで、同じローディングプログラムで複数の
バンクに対応することが可能となる。
【0019】続いて、ローディングプログラムはロード
されるプログラムのサイズを計算する。プログラムサイ
ズの計算方法は、プログラムの終了アドレスから開始ア
ドレスを減算することで算出される。ローディング時に
はまずコード部からロードを行うが、1ワード書き込む
毎にコードサイズを「−1」デクリメント・終了アドレ
スを「+1」インクリメントする。そして、1ワード書
き込み毎にコードサイズが「0」となったか否かを判断
する。コードサイズが「0」になったらコード部のロー
ディングは終了とする。次に、書き込みアドレスとコー
ド書き込み終了アドレスとを比較し、これらが等しくな
い場合には書き込んだアドレスがRAMのコード部領域
より小さいものと判断して、NOPなどの命令を残りの
領域に書き込む。この場合にも、1ワードの書き込み毎
に書き込みアドレスとコード書き込む終了アドレスとの
比較を行い、両者が一致した場合に処理を終了する。
されるプログラムのサイズを計算する。プログラムサイ
ズの計算方法は、プログラムの終了アドレスから開始ア
ドレスを減算することで算出される。ローディング時に
はまずコード部からロードを行うが、1ワード書き込む
毎にコードサイズを「−1」デクリメント・終了アドレ
スを「+1」インクリメントする。そして、1ワード書
き込み毎にコードサイズが「0」となったか否かを判断
する。コードサイズが「0」になったらコード部のロー
ディングは終了とする。次に、書き込みアドレスとコー
ド書き込み終了アドレスとを比較し、これらが等しくな
い場合には書き込んだアドレスがRAMのコード部領域
より小さいものと判断して、NOPなどの命令を残りの
領域に書き込む。この場合にも、1ワードの書き込み毎
に書き込みアドレスとコード書き込む終了アドレスとの
比較を行い、両者が一致した場合に処理を終了する。
【0020】コード部終了アドレスまで書き込みが終了
したら、続いてデータ部の書き込みを同様の処理で行
う。まず、データ部の書き込みを行う際に、データサイ
ズが0であるか否かがその都度判別される。そして、1
ワードの書き込み毎にデータサイズの「−1」のデクリ
メント、書き込みアドレスの「+1」のインクリメント
を実施し、書き込み後のデータサイズが0であるか否か
を判別する。
したら、続いてデータ部の書き込みを同様の処理で行
う。まず、データ部の書き込みを行う際に、データサイ
ズが0であるか否かがその都度判別される。そして、1
ワードの書き込み毎にデータサイズの「−1」のデクリ
メント、書き込みアドレスの「+1」のインクリメント
を実施し、書き込み後のデータサイズが0であるか否か
を判別する。
【0021】データサイズが0であると判別された場合
には、書き込みアドレスとデータ書き込み終了アドレス
とが一致するか否かが判別される。両者が一致しない場
合には、NOPなどの命令を残りの領域に書き込む。こ
れは、コード部書き込みの場合と同様の処理となる。
には、書き込みアドレスとデータ書き込み終了アドレス
とが一致するか否かが判別される。両者が一致しない場
合には、NOPなどの命令を残りの領域に書き込む。こ
れは、コード部書き込みの場合と同様の処理となる。
【0022】複数個のプロセッサに対してプログラムを
ローディングする場合には、上記した処理をその個数分
繰り返す。このような方式によって、ROMには最小の
サイズでプログラムを持ち、書き込み時に指定のアドレ
スにプログラムを展開することが可能となる。
ローディングする場合には、上記した処理をその個数分
繰り返す。このような方式によって、ROMには最小の
サイズでプログラムを持ち、書き込み時に指定のアドレ
スにプログラムを展開することが可能となる。
【0023】また、装置の外部I/O装置を持つことに
より、プログラムを外部I/O媒体からローディングす
ることも可能となる。その際には、リセット時に外部I
/O媒体が存在するか否かを判別し、外部I/O媒体が
ありの場合には外部I/O媒体からプログラムをローデ
ィングし、なしの場合には装置内部のROMからプログ
ラムをローディングするようにすればよい。
より、プログラムを外部I/O媒体からローディングす
ることも可能となる。その際には、リセット時に外部I
/O媒体が存在するか否かを判別し、外部I/O媒体が
ありの場合には外部I/O媒体からプログラムをローデ
ィングし、なしの場合には装置内部のROMからプログ
ラムをローディングするようにすればよい。
【図1】本発明の一実施形態が適用される装置の例。
【図2】一実施形態によるROMのメモリマップ
【図3】一実施形態によるプログラムの形式を示す図。
【図4】一実施形態によるプロセッサRAMのメモリマ
ップを示す図。
ップを示す図。
【図5】一実施形態によるプログラムローディングの処
理を示すフローチャート。
理を示すフローチャート。
【図6】共通ラベルへのアドレス格納を説明する図。
Claims (3)
- 【請求項1】装置に対するリセット時にプログラムをロ
ーディングして動作する装置において、 ローディングされるプログラムのサイズを計算する手段
と、 前記計算手段によりそのサイズが計算されたプログラム
をローディングする手段と、を備えたことを特徴とす
る、プログラムローディングを行う装置。 - 【請求項2】請求項1記載の装置において、 前記計算手段は、プログラムの先頭及び最後の部分に付
与されたラベルを判別する手段と、 前記ラベルのアドレスに基づいて前記プログラムのサイ
ズを計算する手段と、を備えたことを特徴とする、プロ
グラムローディングを行う装置。 - 【請求項3】請求項1記載の装置において、 外部I/O装置を備えるとともに、リセット時に前記外
部I/O装置の有無を確認する手段を備え、 リセット時に前記外部I/O装置がある場合には、当該
外部I/O装置に格納されているプログラムをローディ
ングするように動作することを特徴とする、プログラム
ローディングを行う装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000002135A JP2001195257A (ja) | 2000-01-11 | 2000-01-11 | プログラムをローディングする装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000002135A JP2001195257A (ja) | 2000-01-11 | 2000-01-11 | プログラムをローディングする装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001195257A true JP2001195257A (ja) | 2001-07-19 |
Family
ID=18531274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000002135A Withdrawn JP2001195257A (ja) | 2000-01-11 | 2000-01-11 | プログラムをローディングする装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001195257A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2007110953A1 (ja) * | 2006-03-29 | 2009-08-06 | 三菱電機株式会社 | プログラム作成支援装置、プログラム作成支援方法とその方法をコンピュータに実行させるプログラムおよびそれを記録した記録媒体 |
JP2011121553A (ja) * | 2009-12-14 | 2011-06-23 | Denso Corp | 車載装置 |
-
2000
- 2000-01-11 JP JP2000002135A patent/JP2001195257A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2007110953A1 (ja) * | 2006-03-29 | 2009-08-06 | 三菱電機株式会社 | プログラム作成支援装置、プログラム作成支援方法とその方法をコンピュータに実行させるプログラムおよびそれを記録した記録媒体 |
JP4541437B2 (ja) * | 2006-03-29 | 2010-09-08 | 三菱電機株式会社 | プログラム作成支援装置、プログラム作成支援方法とその方法をコンピュータに実行させるプログラムおよびそれを記録した記録媒体 |
US8499277B2 (en) | 2006-03-29 | 2013-07-30 | Mitsubishi Electric Corporation | Programming support apparatus, programming support method, program for causing computer to implement the method, and recording medium containing the program |
JP2011121553A (ja) * | 2009-12-14 | 2011-06-23 | Denso Corp | 車載装置 |
US8954219B2 (en) | 2009-12-14 | 2015-02-10 | Denso Corporation | Installed in vehicle for monitoring target section in the vehicle |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2001195257A (ja) | プログラムをローディングする装置 | |
JP2715988B2 (ja) | プログラムシミュレータ装置及びプログラムデバッグ方法 | |
JPS585846A (ja) | 命令処理方式 | |
JP3441262B2 (ja) | データ処理装置 | |
JP2000347878A (ja) | メモリ削減方法および装置 | |
JPH06149569A (ja) | レジスタ番号変更装置 | |
JPH0423134A (ja) | プログラムロード方式 | |
JPH1040165A (ja) | データ読み出し方法およびリードバッファ | |
JPH0540637A (ja) | 基本入出力システムのロード方式 | |
JPS60181837A (ja) | エクスキユ−ト命令処理方式 | |
JP2001160025A (ja) | データ転送装置 | |
JPH10232772A (ja) | プログラム変更装置 | |
JPH0158522B2 (ja) | ||
JP2004185290A (ja) | フラッシュメモリに対するリード・ライト方法 | |
JPS59114622A (ja) | イニシヤルマイクロプログラムロ−デイング方式 | |
JPH1027153A (ja) | バス転送装置 | |
JPH0567035A (ja) | Dma転送におけるデータアライメント方式 | |
JP2003337668A (ja) | 画像形成装置及びそのメモリクリア方法 | |
JPH04215148A (ja) | プログラマブルコントローラ | |
JPS63208945A (ja) | 情報処理装置 | |
JPH04262449A (ja) | データ転送方式 | |
JPH08317221A (ja) | データ処理装置 | |
JPH02247758A (ja) | 端末情報の管理方式 | |
JPH0442328A (ja) | 情報処理装置の割り込み制御方式 | |
JPS61235948A (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: 20070403 |