JP2000242501A - 情報処理装置、情報処理方法及びプログラム書込み装置 - Google Patents
情報処理装置、情報処理方法及びプログラム書込み装置Info
- Publication number
- JP2000242501A JP2000242501A JP11045324A JP4532499A JP2000242501A JP 2000242501 A JP2000242501 A JP 2000242501A JP 11045324 A JP11045324 A JP 11045324A JP 4532499 A JP4532499 A JP 4532499A JP 2000242501 A JP2000242501 A JP 2000242501A
- Authority
- JP
- Japan
- Prior art keywords
- program
- information
- storage
- storage means
- capacity
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【課題】 複数のプログラムを複数の記憶デバイスに対
して適切に割り当てる。 【解決手段】 ヘッダファイル10とソースファイル1
1とをコンパイル処理部14でコンパイルしてオブジェ
クトファイル15を生成する。オブジェクトファイル1
5とライブラリファイル16とをリンク処理部19でリ
ンクして実行形式ファイル20を生成する。複数の実行
形式ファイル20を、ROM化情報25に基づいて、複
合実行形式ファイル作成部22で結合し、複合実行形式
ファイル24を生成する。
して適切に割り当てる。 【解決手段】 ヘッダファイル10とソースファイル1
1とをコンパイル処理部14でコンパイルしてオブジェ
クトファイル15を生成する。オブジェクトファイル1
5とライブラリファイル16とをリンク処理部19でリ
ンクして実行形式ファイル20を生成する。複数の実行
形式ファイル20を、ROM化情報25に基づいて、複
合実行形式ファイル作成部22で結合し、複合実行形式
ファイル24を生成する。
Description
【0001】
【発明の属する技術分野】本発明は、例えば、組込み用
ソフトウエアシステムを開発する際に適用して好適な情
報処理装置、情報処理方法及びプログラム書込み装置に
関する。
ソフトウエアシステムを開発する際に適用して好適な情
報処理装置、情報処理方法及びプログラム書込み装置に
関する。
【0002】
【従来の技術】各種の電子機器は、近年、マイクロプロ
セッサと、このマイクロプロセッサ上で動作するプログ
ラムとを組み込まれて、ソフトウエアにより各種制御が
行われることが多い。このような電子機器は、一般に、
図25に示すような組込み用ソフトウエアシステム50
0を備える。
セッサと、このマイクロプロセッサ上で動作するプログ
ラムとを組み込まれて、ソフトウエアにより各種制御が
行われることが多い。このような電子機器は、一般に、
図25に示すような組込み用ソフトウエアシステム50
0を備える。
【0003】組込み用ソフトウエアシステム500は、
プログラムを実行するCPU(Central Processing Uni
t)501と、RAM(Random Access Memory)502
と、ROM(Read Only Memory)503と、EEPRO
M(Electrically ErasableROM)504と、入出力デバ
イス505とを備える。CPU501は、他の各構成装
置とバス506によって接続されており、バス506を
介して各構成装置と信号のやりとりを行う。また、プロ
グラムは、ROM503に記憶されている。
プログラムを実行するCPU(Central Processing Uni
t)501と、RAM(Random Access Memory)502
と、ROM(Read Only Memory)503と、EEPRO
M(Electrically ErasableROM)504と、入出力デバ
イス505とを備える。CPU501は、他の各構成装
置とバス506によって接続されており、バス506を
介して各構成装置と信号のやりとりを行う。また、プロ
グラムは、ROM503に記憶されている。
【0004】CPU501は、プログラムを読み出して
実行し、入出力デバイス505から入力される各種信号
に基づいて演算を行ったり、演算結果を入出力デバイス
505に出力を行う。プログラムを実行する際には、C
PU501がバス506を介してROM503に記憶さ
れているプログラムからテキストコードを読み出し、C
PU501上で直接実行する場合と、CPU501が読
み出したテキストコードを一度RAM502にコピー
し、このコピーされたテキストコードをRAM502か
ら読み出して実行する場合とがある。
実行し、入出力デバイス505から入力される各種信号
に基づいて演算を行ったり、演算結果を入出力デバイス
505に出力を行う。プログラムを実行する際には、C
PU501がバス506を介してROM503に記憶さ
れているプログラムからテキストコードを読み出し、C
PU501上で直接実行する場合と、CPU501が読
み出したテキストコードを一度RAM502にコピー
し、このコピーされたテキストコードをRAM502か
ら読み出して実行する場合とがある。
【0005】一般に、ROM503は、RAM502と
比較してアクセススピードが遅い。そのため、通常は、
どちらの場合においても、プログラム中のデータコード
はRAM502にコピーされて利用される。また、組込
み用ソフトウエアシステム500においては、プログラ
ムの実行速度を向上させる場合に、ROM503に記憶
されたテキストコードを一度RAM502にコピーし、
CPU501がRAM502にコピーされたテキストコ
ードを実行することが望ましい。ただし、組込み用ソフ
トウエアシステム500においては、テキストコードを
RAM502にコピーする場合に、このテキストコード
の分だけRAM502に必要なサイズが増加することに
なり、コスト増加等の原因となる。
比較してアクセススピードが遅い。そのため、通常は、
どちらの場合においても、プログラム中のデータコード
はRAM502にコピーされて利用される。また、組込
み用ソフトウエアシステム500においては、プログラ
ムの実行速度を向上させる場合に、ROM503に記憶
されたテキストコードを一度RAM502にコピーし、
CPU501がRAM502にコピーされたテキストコ
ードを実行することが望ましい。ただし、組込み用ソフ
トウエアシステム500においては、テキストコードを
RAM502にコピーする場合に、このテキストコード
の分だけRAM502に必要なサイズが増加することに
なり、コスト増加等の原因となる。
【0006】また、組込み用ソフトウエアシステム50
0においては、EEPROM505が書き換え可能とさ
れており、しかも電源を停止した場合でも記憶を保持す
ることができるため、変更される可能性のあるテキスト
コードやデータコードがEEPROM505に保持され
ることもある。
0においては、EEPROM505が書き換え可能とさ
れており、しかも電源を停止した場合でも記憶を保持す
ることができるため、変更される可能性のあるテキスト
コードやデータコードがEEPROM505に保持され
ることもある。
【0007】上述した組込み用ソフトウエアシステム5
00において、ROM503に記憶されるプログラム
は、一般的に、図26に示すようなソフトウエア開発シ
ステム510によって開発される。なお、以下では、プ
ログラミング言語としてC言語を用いる場合を例に挙げ
て説明するが、他のプログラミング言語を用いる場合も
基本的な処理も同様である。
00において、ROM503に記憶されるプログラム
は、一般的に、図26に示すようなソフトウエア開発シ
ステム510によって開発される。なお、以下では、プ
ログラミング言語としてC言語を用いる場合を例に挙げ
て説明するが、他のプログラミング言語を用いる場合も
基本的な処理も同様である。
【0008】ソフトウエア開発システム510におい
て、ヘッダファイル511とソースファイル512と
は、ユーザーが用意するファイルである。これらヘッダ
ファイル511とソースファイル512とは、ユーザー
が作製したファイルであってもよいし、ソフトウエア開
発システム510に予め用意されたファイルをユーザー
が選択したものであってもよい。
て、ヘッダファイル511とソースファイル512と
は、ユーザーが用意するファイルである。これらヘッダ
ファイル511とソースファイル512とは、ユーザー
が作製したファイルであってもよいし、ソフトウエア開
発システム510に予め用意されたファイルをユーザー
が選択したものであってもよい。
【0009】コンパイル情報513は、コンパイラ51
4に対してコンパイル形態を指定するオプション情報で
あり、例えばCPU501の種類や最適化の指示等であ
る。
4に対してコンパイル形態を指定するオプション情報で
あり、例えばCPU501の種類や最適化の指示等であ
る。
【0010】コンパイル処理部515は、ターゲットと
するハードウエアに適したコンパイラ514と、コンパ
イル情報513及びヘッダファイル511とを用いて、
ソースファイル512をコンパイルし、オブジェクトフ
ァイル516を生成する。
するハードウエアに適したコンパイラ514と、コンパ
イル情報513及びヘッダファイル511とを用いて、
ソースファイル512をコンパイルし、オブジェクトフ
ァイル516を生成する。
【0011】ライブラリファイル517は、ソフトウエ
ア開発システム510に予め用意されたライブラリでも
よいし、ユーザーによって作製されたライブラリであっ
てもよい。
ア開発システム510に予め用意されたライブラリでも
よいし、ユーザーによって作製されたライブラリであっ
てもよい。
【0012】リンク情報518は、リンカ519に対し
てリンク形態を指定するオプション情報である。
てリンク形態を指定するオプション情報である。
【0013】ROM化情報520は、RAM502及び
/又はROM503の先頭アドレス情報である。
/又はROM503の先頭アドレス情報である。
【0014】リンク処理部521は、ターゲットとする
ハードウエアに適したリンカ519と、ライブラリファ
イル517、リンク情報518及びROM化情報520
とを用いて、複数のオブジェクトファイル516をリン
クし、1つの実行形式ファイル522を生成する。な
お、この実行形式ファイル522には、テキストコード
とデータコードとが含まれている。
ハードウエアに適したリンカ519と、ライブラリファ
イル517、リンク情報518及びROM化情報520
とを用いて、複数のオブジェクトファイル516をリン
クし、1つの実行形式ファイル522を生成する。な
お、この実行形式ファイル522には、テキストコード
とデータコードとが含まれている。
【0015】完成した実行形式ファイル522は、RO
M503に書き込まれて、組込み用ソフトウエアシステ
ム500に組み込まれる。実行形式ファイル522は、
CPU501によって実行される際に、ROM化情報5
20での設定によって、このCPU501によってRO
M503から直接実行される場合と、一度RAM502
にコピーされた後にCPU501によって実行される場
合とがある。
M503に書き込まれて、組込み用ソフトウエアシステ
ム500に組み込まれる。実行形式ファイル522は、
CPU501によって実行される際に、ROM化情報5
20での設定によって、このCPU501によってRO
M503から直接実行される場合と、一度RAM502
にコピーされた後にCPU501によって実行される場
合とがある。
【0016】つぎに、上述したソフトウエア開発システ
ム510におけるソフトウエア開発手順について説明す
る。以下では、まず、図27に示す第1の例を説明す
る。
ム510におけるソフトウエア開発手順について説明す
る。以下では、まず、図27に示す第1の例を説明す
る。
【0017】第1の例では、図27に示すように、ま
ず、システムライブラリ523と、システムソースファ
イル524と、ユーザーソースファイル525とを用意
する。システムライブラリ523は、図26でのライブ
ラリファイル517に相当し、例えば、このソフトウエ
ア開発システム510によって提供されて、OSの機能
を実現するプログラムを含むライブラリである。
ず、システムライブラリ523と、システムソースファ
イル524と、ユーザーソースファイル525とを用意
する。システムライブラリ523は、図26でのライブ
ラリファイル517に相当し、例えば、このソフトウエ
ア開発システム510によって提供されて、OSの機能
を実現するプログラムを含むライブラリである。
【0018】システムソースファイル524は、図26
でのソースファイル512に相当し、例えば、このソフ
トウエア開発システム510によって提供されて、OS
の機能を実現するプログラムを含むソースファイルであ
る。なお、システムソースファイル524は、一般的
に、最終的に完成するプログラムにおけるハードウエア
依存部分に対してのみ配布されている場合が多い。ユー
ザーソースファイル525は、図26でのソースファイ
ル524に相当し、ユーザーによって電子機器の制御用
に作成されたソースファイルである。
でのソースファイル512に相当し、例えば、このソフ
トウエア開発システム510によって提供されて、OS
の機能を実現するプログラムを含むソースファイルであ
る。なお、システムソースファイル524は、一般的
に、最終的に完成するプログラムにおけるハードウエア
依存部分に対してのみ配布されている場合が多い。ユー
ザーソースファイル525は、図26でのソースファイ
ル524に相当し、ユーザーによって電子機器の制御用
に作成されたソースファイルである。
【0019】第1の例では、コンパイル処理部515に
よってシステムソースファイル524と、ユーザーソー
スファイル525とをコンパイルすることにより、それ
ぞれオブジェクトファイル526とオブジェクトファイ
ル527とを生成する。なお、これらオブジェクトファ
イル526及びオブジェクトファイル527は、図26
におけるオブジェクトファイル516に相当する。
よってシステムソースファイル524と、ユーザーソー
スファイル525とをコンパイルすることにより、それ
ぞれオブジェクトファイル526とオブジェクトファイ
ル527とを生成する。なお、これらオブジェクトファ
イル526及びオブジェクトファイル527は、図26
におけるオブジェクトファイル516に相当する。
【0020】次に、リンク処理部521によって、シス
テムライブラリ523、オブジェクトファイル526及
びオブジェクトファイル527をリンクすることによ
り、1つの実行形式ファイル522を生成する。
テムライブラリ523、オブジェクトファイル526及
びオブジェクトファイル527をリンクすることによ
り、1つの実行形式ファイル522を生成する。
【0021】実行形式ファイル522は、例えば、図2
8に示すように、内部構成情報530と、テキストセク
ション531と、初期化データセクション532と、初
期化不要データセクション533と、デバッグ情報セク
ション534とを備える。このような実行形式ファイル
522の形式としては、具体的には、例えばELF(Ex
ecutable and Linking Format)やCOFF(Common Ob
ject File Format)等が知られている。
8に示すように、内部構成情報530と、テキストセク
ション531と、初期化データセクション532と、初
期化不要データセクション533と、デバッグ情報セク
ション534とを備える。このような実行形式ファイル
522の形式としては、具体的には、例えばELF(Ex
ecutable and Linking Format)やCOFF(Common Ob
ject File Format)等が知られている。
【0022】内部構成情報530は、実行形式ファイル
522の先頭部分に位置し、後続の部分の内容を識別す
るための情報や、その長さについての情報等を含む。こ
の内部構成情報530を解析することにより、後続部分
から必要な情報を抽出することができるようにされてい
る。
522の先頭部分に位置し、後続の部分の内容を識別す
るための情報や、その長さについての情報等を含む。こ
の内部構成情報530を解析することにより、後続部分
から必要な情報を抽出することができるようにされてい
る。
【0023】テキストセクション531は、図27に示
したように、システムライブラリ523、オブジェクト
ファイル526及びオブジェクトファイル527のそれ
ぞれから集められて結合されたプログラムコードであ
る。
したように、システムライブラリ523、オブジェクト
ファイル526及びオブジェクトファイル527のそれ
ぞれから集められて結合されたプログラムコードであ
る。
【0024】初期化データセクション532は、同様に
集められて結合された変数の初期値データである。
集められて結合された変数の初期値データである。
【0025】初期化不要データセクション533は、同
様に集められて結合された、初期値が決定されていない
変数のデータエリアである。
様に集められて結合された、初期値が決定されていない
変数のデータエリアである。
【0026】デバッグ情報セクション534は、変数名
等のシンボル情報がプログラムのデバッグのために保存
される領域である。
等のシンボル情報がプログラムのデバッグのために保存
される領域である。
【0027】実行形式ファイル522は、組込み用ソフ
トウエアシステム500に組み込まれる際に、例えば、
図29に示すような構成でROM503に書き込まれ
て、実行プログラム540となる。すなわち、ROM5
03上には、実行形式ファイル522のうち、内部構成
情報530、初期化不要データセクション533及びデ
バッグ情報セクション534が書き込まれず、テキスト
セクション531及び初期化データセクション532の
みが書き込まれる。また、このとき、この実行形式ファ
イル522からテキストセクション531及び初期化デ
ータセクション532を抽出するために、内部構成情報
530が参照される。
トウエアシステム500に組み込まれる際に、例えば、
図29に示すような構成でROM503に書き込まれ
て、実行プログラム540となる。すなわち、ROM5
03上には、実行形式ファイル522のうち、内部構成
情報530、初期化不要データセクション533及びデ
バッグ情報セクション534が書き込まれず、テキスト
セクション531及び初期化データセクション532の
みが書き込まれる。また、このとき、この実行形式ファ
イル522からテキストセクション531及び初期化デ
ータセクション532を抽出するために、内部構成情報
530が参照される。
【0028】組込み用ソフトウエアシステム500で
は、ROM503に書き込まれた実行プログラム540
をCPU501が実行する際に、図30に示すように、
この実行プログラム540から初期化データセクション
532をRAM502にコピーされるとともに、初期化
不要データセクション532をRAM502上に作成さ
れる。このとき、RAM502にコピーされる初期化デ
ータセクション532は、ROM503上のテキストセ
クション531に示された先頭アドレスやコピーサイズ
に基づいて、このROM503上に記憶された実行プロ
グラム540からコピーされる。また、RAM502に
作成される初期化不要データセクション533は、RO
M503上のテキストセクション531に示された情報
に基づいて、組込み用ソフトウエアシステム500によ
って作成される。
は、ROM503に書き込まれた実行プログラム540
をCPU501が実行する際に、図30に示すように、
この実行プログラム540から初期化データセクション
532をRAM502にコピーされるとともに、初期化
不要データセクション532をRAM502上に作成さ
れる。このとき、RAM502にコピーされる初期化デ
ータセクション532は、ROM503上のテキストセ
クション531に示された先頭アドレスやコピーサイズ
に基づいて、このROM503上に記憶された実行プロ
グラム540からコピーされる。また、RAM502に
作成される初期化不要データセクション533は、RO
M503上のテキストセクション531に示された情報
に基づいて、組込み用ソフトウエアシステム500によ
って作成される。
【0029】組込み用ソフトウエアシステム500で
は、上述した第1の手順によって開発された実行形式フ
ァイル522に基づいてROM503上に実行プログラ
ム540が書き込まれた場合に、テキストセクション5
31はRAM502にコピーされず、ROM503上か
ら直接CPU501によって実行される。なお、この場
合は、上述したソフトウエア開発システム510でのR
OM化情報520に、テキストセクション531をRA
M502にコピーしないことを示す設定がなされてい
る。
は、上述した第1の手順によって開発された実行形式フ
ァイル522に基づいてROM503上に実行プログラ
ム540が書き込まれた場合に、テキストセクション5
31はRAM502にコピーされず、ROM503上か
ら直接CPU501によって実行される。なお、この場
合は、上述したソフトウエア開発システム510でのR
OM化情報520に、テキストセクション531をRA
M502にコピーしないことを示す設定がなされてい
る。
【0030】つぎに、組込み用ソフトウエアシステム5
00における、実行プログラム540の起動方法を図3
1を参照しながら説明する。
00における、実行プログラム540の起動方法を図3
1を参照しながら説明する。
【0031】ステップS550において、実行プログラ
ム540の起動を開始する。
ム540の起動を開始する。
【0032】ステップS551において、CPU501
は、このCPU501の種類に応じた特定のアドレスか
ら始まるROM503に記憶されたテキストセクション
531を読み出して実行する。
は、このCPU501の種類に応じた特定のアドレスか
ら始まるROM503に記憶されたテキストセクション
531を読み出して実行する。
【0033】ステップS552において、CPU501
は、テキストセクション531中のプログラムに基づい
て、RAM502、入出力デバイス505等を初期化す
る。
は、テキストセクション531中のプログラムに基づい
て、RAM502、入出力デバイス505等を初期化す
る。
【0034】ステップS553において、CPU501
は、テキストセクション531中のプログラムに基づい
て、ROM503上の初期化データセクション532を
RAM502上にコピーする。
は、テキストセクション531中のプログラムに基づい
て、ROM503上の初期化データセクション532を
RAM502上にコピーする。
【0035】ステップS554において、CPU501
は、テキストセクション531中のプログラムに基づい
て、初期化不要データセクション533をRAM502
上に作成する。
は、テキストセクション531中のプログラムに基づい
て、初期化不要データセクション533をRAM502
上に作成する。
【0036】ステップS555において、CPU501
は、テキストセクション531中のプログラムに基づい
て、RAM502上の初期化データセクション532及
び初期化不要データセクション533にアクセスしつ
つ、テキストセクション531の後続のプログラムコー
ドを実行する。
は、テキストセクション531中のプログラムに基づい
て、RAM502上の初期化データセクション532及
び初期化不要データセクション533にアクセスしつ
つ、テキストセクション531の後続のプログラムコー
ドを実行する。
【0037】ステップS556において、実行プログラ
ム540の動作は終了となる。
ム540の動作は終了となる。
【0038】以上の説明においては、RAM502上に
テキストセクション531をコピーしない場合である、
第1の例について示した。以下では、RAM502上に
適すとセクションをコピーする第2の例について、図3
2乃至図36を参照しながら説明する。なお、以下で
は、上述した説明と重複する部分については説明を省略
し、図面において同一の符号を付すこととする。
テキストセクション531をコピーしない場合である、
第1の例について示した。以下では、RAM502上に
適すとセクションをコピーする第2の例について、図3
2乃至図36を参照しながら説明する。なお、以下で
は、上述した説明と重複する部分については説明を省略
し、図面において同一の符号を付すこととする。
【0039】第2の例による、ソフトウエア開発システ
ム510におけるソフトウエア開発手順では、図32に
示すように、上述したシステムライブラリ523、シス
テムソースファイル524及びユーザーソースファイル
525の他に、ブートソースファイル560も用意す
る。ブートソースファイル560は、図26でのソース
ファイル512に相当し、テキストセクション531を
ROM503からRAM502にコピーする処理命令を
含んでいる。
ム510におけるソフトウエア開発手順では、図32に
示すように、上述したシステムライブラリ523、シス
テムソースファイル524及びユーザーソースファイル
525の他に、ブートソースファイル560も用意す
る。ブートソースファイル560は、図26でのソース
ファイル512に相当し、テキストセクション531を
ROM503からRAM502にコピーする処理命令を
含んでいる。
【0040】第2の例では、第1の例と同様に、コンパ
イル処理部515によってオブジェクトファイル526
及びオブジェクトファイル527を生成するとともに、
コンパイル処理部515によってブートソースファイル
560をコンパイルすることにより、ブートオブジェク
トファイル561を生成する。そして、リンク処理部5
21によって、上述した第1の例と同様に実行形式ファ
イル522を生成するとともに、ブートオブジェクトフ
ァイル561をシステムライブラリ523等とリンクす
ることにより、ブートプログラム562を生成する。ブ
ートプログラム562は、実行形式ファイル522と同
様な内部構成を有する。
イル処理部515によってオブジェクトファイル526
及びオブジェクトファイル527を生成するとともに、
コンパイル処理部515によってブートソースファイル
560をコンパイルすることにより、ブートオブジェク
トファイル561を生成する。そして、リンク処理部5
21によって、上述した第1の例と同様に実行形式ファ
イル522を生成するとともに、ブートオブジェクトフ
ァイル561をシステムライブラリ523等とリンクす
ることにより、ブートプログラム562を生成する。ブ
ートプログラム562は、実行形式ファイル522と同
様な内部構成を有する。
【0041】この第2の例では、以上のように生成した
実行形式ファイル522とブートプログラム562と
が、図33に示すような構成でROM503に書き込ま
れて実行プログラム570となる。すなわち、実行プロ
グラム570は、ブートコード571と、コピーブロッ
ク情報群572と、実行開始アドレス573と、テキス
トセクション531と、初期化データセクション532
とにより構成される。
実行形式ファイル522とブートプログラム562と
が、図33に示すような構成でROM503に書き込ま
れて実行プログラム570となる。すなわち、実行プロ
グラム570は、ブートコード571と、コピーブロッ
ク情報群572と、実行開始アドレス573と、テキス
トセクション531と、初期化データセクション532
とにより構成される。
【0042】ブートコード571は、ブートプログラム
562のテキストコードであり、実行形式ファイル52
2のテキストセクション531に相当する。コピーブロ
ック情報群572は、ROM503からRAM502に
コピーするデータの情報である。実行開始アドレス57
3は、コピー後のテキストセクション531の実行を開
始するアドレスを示す。
562のテキストコードであり、実行形式ファイル52
2のテキストセクション531に相当する。コピーブロ
ック情報群572は、ROM503からRAM502に
コピーするデータの情報である。実行開始アドレス57
3は、コピー後のテキストセクション531の実行を開
始するアドレスを示す。
【0043】コピーブロック情報群572は、図34に
示すように、コピー元アドレス574と、コピー元サイ
ズ575と、コピー先アドレス576と、コピー先サイ
ズ577とを、テキストセクション531、初期化デー
タセクション532及び初期化不要データセクション5
33のそれぞれについて備えている。
示すように、コピー元アドレス574と、コピー元サイ
ズ575と、コピー先アドレス576と、コピー先サイ
ズ577とを、テキストセクション531、初期化デー
タセクション532及び初期化不要データセクション5
33のそれぞれについて備えている。
【0044】コピー元アドレス574は、ROM503
上に記憶された各セクションのコピーを開始する先頭ア
ドレスである。コピー元サイズ575は、ROM503
から読み込む各セクションのサイズである。コピー先ア
ドレス576は、各セクションのRAM502上での先
頭アドレスである。コピー先サイズ577は、各セクシ
ョンのRAM502上でのサイズである。
上に記憶された各セクションのコピーを開始する先頭ア
ドレスである。コピー元サイズ575は、ROM503
から読み込む各セクションのサイズである。コピー先ア
ドレス576は、各セクションのRAM502上での先
頭アドレスである。コピー先サイズ577は、各セクシ
ョンのRAM502上でのサイズである。
【0045】テキストセクション531と初期化データ
セクション532は、通常、コピー元サイズ575とコ
ピー先サイズ577が一致するが、CPU501が必要
とするアラインメントによっては異なる場合がある。初
期化不要データセクション533に関しては、コピー元
アドレス574には無効な値が入っており、コピー先ア
ドレス576には「0」が入っている。
セクション532は、通常、コピー元サイズ575とコ
ピー先サイズ577が一致するが、CPU501が必要
とするアラインメントによっては異なる場合がある。初
期化不要データセクション533に関しては、コピー元
アドレス574には無効な値が入っており、コピー先ア
ドレス576には「0」が入っている。
【0046】組込み用ソフトウエアシステム500で
は、ROM503に書き込まれた実行プログラム570
をCPU501が実行する際に、図35に示すように、
この実行プログラム570からテキストデータセクショ
ン531と初期化データセクション532とをRAM5
02にコピーするとともに、初期化不要データセクショ
ン533をRAM502上に作成する。このとき、テキ
ストセクション531と初期化不要データセクション5
32とは、CPU501がブートコード571に基づい
てコピーブロック情報群572を参照することにより、
ROM503からRAM502にコピーされる。初期化
不要データセクション533は、同様にCPU501が
ブートコード571に基づいてコピーブロック情報群5
72を参照することにより、RAM502上に作成され
る。
は、ROM503に書き込まれた実行プログラム570
をCPU501が実行する際に、図35に示すように、
この実行プログラム570からテキストデータセクショ
ン531と初期化データセクション532とをRAM5
02にコピーするとともに、初期化不要データセクショ
ン533をRAM502上に作成する。このとき、テキ
ストセクション531と初期化不要データセクション5
32とは、CPU501がブートコード571に基づい
てコピーブロック情報群572を参照することにより、
ROM503からRAM502にコピーされる。初期化
不要データセクション533は、同様にCPU501が
ブートコード571に基づいてコピーブロック情報群5
72を参照することにより、RAM502上に作成され
る。
【0047】組込み用ソフトウエアシステム500は、
上述した第2の手順によって開発されたROM503上
の実行プログラム570から、テキストセクション53
1及び初期化データセクション532をRAM502に
コピーするとともに、初期化不要データセクション53
3をRAM502上に生成し、RAM502上にコピー
されたテキストセクション531をCPU501が実行
する。なお、この場合は、上述したソフトウエア開発シ
ステム510でのROM化情報520に、テキストセク
ション531をRAM502にコピーすることを示す設
定がなされている。
上述した第2の手順によって開発されたROM503上
の実行プログラム570から、テキストセクション53
1及び初期化データセクション532をRAM502に
コピーするとともに、初期化不要データセクション53
3をRAM502上に生成し、RAM502上にコピー
されたテキストセクション531をCPU501が実行
する。なお、この場合は、上述したソフトウエア開発シ
ステム510でのROM化情報520に、テキストセク
ション531をRAM502にコピーすることを示す設
定がなされている。
【0048】つぎに、組込み用ソフトウエアシステム5
00における、実行プログラム570の起動方法を図3
6を参照して説明する。
00における、実行プログラム570の起動方法を図3
6を参照して説明する。
【0049】ステップS580において、CPU501
は、実行プログラム570の起動を開始する。
は、実行プログラム570の起動を開始する。
【0050】ステップS581において、CPU501
は、ブートコード571を読み出して実行する。
は、ブートコード571を読み出して実行する。
【0051】ステップS582において、CPU501
は、ブートコード571中のプログラムに基づいて、R
AM502、入出力デバイス505等を初期化する。
は、ブートコード571中のプログラムに基づいて、R
AM502、入出力デバイス505等を初期化する。
【0052】ステップS583において、CPU501
は、ブートコード571中のプログラムに基づいてコピ
ーブロック情報群572を参照し、ROM503上のテ
キストセクション531をRAM502上にコピーす
る。
は、ブートコード571中のプログラムに基づいてコピ
ーブロック情報群572を参照し、ROM503上のテ
キストセクション531をRAM502上にコピーす
る。
【0053】ステップS584において、CPU501
は、ブートコード571中のプログラムに基づいてコピ
ーブロック情報群572を参照し、ROM503上の初
期化データセクション532をRAM502上にコピー
する。
は、ブートコード571中のプログラムに基づいてコピ
ーブロック情報群572を参照し、ROM503上の初
期化データセクション532をRAM502上にコピー
する。
【0054】ステップS585において、CPU501
は、ブートコード571中のプログラムに基づいてコピ
ーブロック情報群572を参照し、初期化不要データセ
クション533をRAM502上に作成する。
は、ブートコード571中のプログラムに基づいてコピ
ーブロック情報群572を参照し、初期化不要データセ
クション533をRAM502上に作成する。
【0055】ステップS586において、CPU501
は、ブートコード571中のプログラムに基づいて実行
開始アドレス573を参照し、RAM502上の初期化
データセクション532及び初期化不要データセクショ
ン533にアクセスしつつ、RAM502上のテキスト
セクション531のプログラムコードを実行する。
は、ブートコード571中のプログラムに基づいて実行
開始アドレス573を参照し、RAM502上の初期化
データセクション532及び初期化不要データセクショ
ン533にアクセスしつつ、RAM502上のテキスト
セクション531のプログラムコードを実行する。
【0056】ステップS587において、実行プログラ
ム570の動作は終了となる。
ム570の動作は終了となる。
【0057】
【発明が解決しようとする課題】ところで、上述したよ
うな組込み用ソフトウエアシステムにおいては、電子機
器への組込みの容易性や機能の拡張性といった観点か
ら、プログラムのモジュール化を図ることが要望されて
いる。また、電子機器は、近年、各種通信機能を備える
ことを要望されており、例えば、電話回線に接続されて
ネットワーク上で各種通信を行ったり、ネットワークを
経由して各種ソフトウエアモジュールの送受信を行った
りといった機能を備えるものが開発されつつある。
うな組込み用ソフトウエアシステムにおいては、電子機
器への組込みの容易性や機能の拡張性といった観点か
ら、プログラムのモジュール化を図ることが要望されて
いる。また、電子機器は、近年、各種通信機能を備える
ことを要望されており、例えば、電話回線に接続されて
ネットワーク上で各種通信を行ったり、ネットワークを
経由して各種ソフトウエアモジュールの送受信を行った
りといった機能を備えるものが開発されつつある。
【0058】このような電子機器に組み込まれる組込み
用ソフトウエアシステムは、各種通信機能やソフトウエ
アモジュールの送受信機能を、基本ソフトウエアである
オペレーティングシステム(OS)のレベルでサポート
することが望ましい。また、組込み用ソフトウエアシス
テムは、モジュール化された複数のプログラムが同時に
実行可能であることが望ましい。
用ソフトウエアシステムは、各種通信機能やソフトウエ
アモジュールの送受信機能を、基本ソフトウエアである
オペレーティングシステム(OS)のレベルでサポート
することが望ましい。また、組込み用ソフトウエアシス
テムは、モジュール化された複数のプログラムが同時に
実行可能であることが望ましい。
【0059】しかしながら、従来のソフトウエア開発シ
ステム510は、基本的に1つの実行形式ファイル52
2を対象としており、複数の実行形式ファイル522を
同時に扱うことができないといった問題があった。ま
た、従来のソフトウエア開発システム510は、RAM
502及びROM503だけでなく、EEPROM50
4等のように、各種複数の記憶デバイスが利用できる場
合に、複数の実行形式ファイル522を各記憶デバイス
に対して適切に割り当てることが困難であり、各記憶デ
バイス上でのアドレスの配置を適切に調整することが困
難であった。
ステム510は、基本的に1つの実行形式ファイル52
2を対象としており、複数の実行形式ファイル522を
同時に扱うことができないといった問題があった。ま
た、従来のソフトウエア開発システム510は、RAM
502及びROM503だけでなく、EEPROM50
4等のように、各種複数の記憶デバイスが利用できる場
合に、複数の実行形式ファイル522を各記憶デバイス
に対して適切に割り当てることが困難であり、各記憶デ
バイス上でのアドレスの配置を適切に調整することが困
難であった。
【0060】そこで、本発明は、複数のプログラムを複
数の記憶デバイスに対して適切に且つ容易に割り当てる
ことを可能とする情報処理装置、情報処理方法及び記憶
手段の製造装置を提供することを目的とする。
数の記憶デバイスに対して適切に且つ容易に割り当てる
ことを可能とする情報処理装置、情報処理方法及び記憶
手段の製造装置を提供することを目的とする。
【0061】
【課題を解決するための手段】本発明に係る情報処理装
置は、少なくとも演算手段と複数の記憶手段とを備えた
プログラム実行手段に対して、少なくとも1つのプログ
ラムを上記各記憶手段のいずれを用いて保持及び/又は
実行させるかを決定するプログラム配置決定手段を備え
る。上記プログラム配置決定手段は、上記各プログラム
の優先順位を示す優先順位情報に基づいて上記決定を行
う。
置は、少なくとも演算手段と複数の記憶手段とを備えた
プログラム実行手段に対して、少なくとも1つのプログ
ラムを上記各記憶手段のいずれを用いて保持及び/又は
実行させるかを決定するプログラム配置決定手段を備え
る。上記プログラム配置決定手段は、上記各プログラム
の優先順位を示す優先順位情報に基づいて上記決定を行
う。
【0062】以上のように構成された情報処理装置は、
プログラム配置決定手段が優先順位情報に基づいて、各
プログラムを各記憶手段のいずれを用いて保持及び/又
は実行させるかを決定することから、複数のプログラム
を複数の記憶手段に対して適切に割り当てることができ
る。
プログラム配置決定手段が優先順位情報に基づいて、各
プログラムを各記憶手段のいずれを用いて保持及び/又
は実行させるかを決定することから、複数のプログラム
を複数の記憶手段に対して適切に割り当てることができ
る。
【0063】本発明に係る情報処理方法は、少なくとも
演算手段と複数の記憶手段とを備えたプログラム実行手
段に対して、少なくとも1つのプログラムを上記各記憶
手段のいずれを用いて保持及び/又は実行させるかを割
り当てる情報処理方法である。また、本発明に係る情報
処理方法は、上記各プログラムの優先順位を示す優先順
位情報を読み込む第1のステップと、上記優先順位情報
に基づいて上記各プログラムの割り当てを決定する第2
のステップとを有する。
演算手段と複数の記憶手段とを備えたプログラム実行手
段に対して、少なくとも1つのプログラムを上記各記憶
手段のいずれを用いて保持及び/又は実行させるかを割
り当てる情報処理方法である。また、本発明に係る情報
処理方法は、上記各プログラムの優先順位を示す優先順
位情報を読み込む第1のステップと、上記優先順位情報
に基づいて上記各プログラムの割り当てを決定する第2
のステップとを有する。
【0064】したがって、本発明に係る情報処理方法に
よれば、複数のプログラムを複数の記憶手段に対して適
切に且つ容易に割り当てることができる。
よれば、複数のプログラムを複数の記憶手段に対して適
切に且つ容易に割り当てることができる。
【0065】本発明に係るプログラム書込み装置は、少
なくとも演算手段と複数の記憶手段とを備えたプログラ
ム実行手段に対して、少なくとも1つのプログラムを書
き込みプログラム書込み装置である。本発明に係るプロ
グラム書込み装置は、プログラム配置決定手段とプログ
ラム書込み手段とを備える。プログラム配置決定手段
は、上記各プログラムの優先順位を示す優先順位情報に
基づいて、当該各プログラムを上記各記憶手段のいずれ
を用いて保持及び/又は実行させるかを決定するプログ
ラム書込み手段は、上記プログラム配置決定手段の決定
結果に従って、上記各プログラムを上記各記憶手段にそ
れぞれ書き込む。
なくとも演算手段と複数の記憶手段とを備えたプログラ
ム実行手段に対して、少なくとも1つのプログラムを書
き込みプログラム書込み装置である。本発明に係るプロ
グラム書込み装置は、プログラム配置決定手段とプログ
ラム書込み手段とを備える。プログラム配置決定手段
は、上記各プログラムの優先順位を示す優先順位情報に
基づいて、当該各プログラムを上記各記憶手段のいずれ
を用いて保持及び/又は実行させるかを決定するプログ
ラム書込み手段は、上記プログラム配置決定手段の決定
結果に従って、上記各プログラムを上記各記憶手段にそ
れぞれ書き込む。
【0066】以上のように構成されたプログラム書込み
装置は、プログラム配置決定手段が優先順位情報に基づ
いて、各記憶手段のいずれを用いて各プログラムを保持
及び/又は実行させるかを決定し、この決定結果に従っ
て、プログラム配置手段が各プログラムを各記憶手段に
配置する。これにより、各記憶手段に対して、複数のプ
ログラムが適切に割り当てて書き込むことができる。
装置は、プログラム配置決定手段が優先順位情報に基づ
いて、各記憶手段のいずれを用いて各プログラムを保持
及び/又は実行させるかを決定し、この決定結果に従っ
て、プログラム配置手段が各プログラムを各記憶手段に
配置する。これにより、各記憶手段に対して、複数のプ
ログラムが適切に割り当てて書き込むことができる。
【0067】
【発明の実施の形態】以下、本発明の実施の形態につい
て、図面を参照しながら詳細に説明する。本発明は、上
述したような組込み用ソフトウエアシステムを開発する
際に適用して好適である。なお、以下の説明において
は、組込み用ソフトウエアシステムに備えられるRAM
やROM等を、記憶デバイスと総称することとする。組
込み用ソフトウエアシステムは、上述したように、記憶
デバイスに保持されたプログラムを、例えばCPU等の
演算装置によって実行することによって、各種の電子機
器を制御するものである。
て、図面を参照しながら詳細に説明する。本発明は、上
述したような組込み用ソフトウエアシステムを開発する
際に適用して好適である。なお、以下の説明において
は、組込み用ソフトウエアシステムに備えられるRAM
やROM等を、記憶デバイスと総称することとする。組
込み用ソフトウエアシステムは、上述したように、記憶
デバイスに保持されたプログラムを、例えばCPU等の
演算装置によって実行することによって、各種の電子機
器を制御するものである。
【0068】また、以下の説明においては、組込み用ソ
フトウエアシステムに備えられた各種記憶デバイスのう
ち、プログラムを保持させる記憶デバイスを保存用記憶
デバイスと称し、この保存用記憶デバイスに保持された
プログラムをCPU等の演算装置によって実行する際に
コピーする先の記憶デバイスを実行用記憶デバイスと称
することとする。
フトウエアシステムに備えられた各種記憶デバイスのう
ち、プログラムを保持させる記憶デバイスを保存用記憶
デバイスと称し、この保存用記憶デバイスに保持された
プログラムをCPU等の演算装置によって実行する際に
コピーする先の記憶デバイスを実行用記憶デバイスと称
することとする。
【0069】まず、本発明に適用したソフトウエア開発
システムについて、図1を参照しながら説明する。図1
は、本発明を適用したソフトウエア開発システムの一構
成例を示している。以下では、プログラミング言語とし
てC言語を用いる場合を例として挙げるが、他のプログ
ラミング言語を用いる場合の基本的な処理も同様であ
る。
システムについて、図1を参照しながら説明する。図1
は、本発明を適用したソフトウエア開発システムの一構
成例を示している。以下では、プログラミング言語とし
てC言語を用いる場合を例として挙げるが、他のプログ
ラミング言語を用いる場合の基本的な処理も同様であ
る。
【0070】ヘッダファイル10とソースファイル11
とは、ユーザーにより用意されるファイルである。これ
らは、ユーザーにより作成されたファイルであってもよ
いし、ソフトウエア開発システムにより提供されたファ
イルであってもよい。
とは、ユーザーにより用意されるファイルである。これ
らは、ユーザーにより作成されたファイルであってもよ
いし、ソフトウエア開発システムにより提供されたファ
イルであってもよい。
【0071】コンパイル情報12は、コンパイラ13に
対してコンパイル形態を指定するオプション情報であ
り、例えばターゲットとする組込み用ソフトウエアシス
テムの演算装置の種類や最適化の指示等である。このコ
ンパイル情報12は、後述するシステム設定部(図1に
おいては図示せず。)で生成され、例えば以下のような
情報を含んでいる。
対してコンパイル形態を指定するオプション情報であ
り、例えばターゲットとする組込み用ソフトウエアシス
テムの演算装置の種類や最適化の指示等である。このコ
ンパイル情報12は、後述するシステム設定部(図1に
おいては図示せず。)で生成され、例えば以下のような
情報を含んでいる。
【0072】・コンパイラの名前と、そのディレクトリ ・プログラムを実行する演算装置を指定するコンパイル
オプション ・読み込むべきヘッダファイルのディレクトリ情報 ・浮動小数点演算ユニットの使用の有無 ・ソースファイル中に含まれるプリプロセッサ用のマク
ロ値の定義 コンパイル処理部14は、ターゲットとする組込み用ソ
フトウエアシステムに適したヘッダファイル10、コン
パイル情報12、コンパイラ13等を用いてソースファ
イル11をコンパイルし、オブジェクトファイル15を
生成する。
オプション ・読み込むべきヘッダファイルのディレクトリ情報 ・浮動小数点演算ユニットの使用の有無 ・ソースファイル中に含まれるプリプロセッサ用のマク
ロ値の定義 コンパイル処理部14は、ターゲットとする組込み用ソ
フトウエアシステムに適したヘッダファイル10、コン
パイル情報12、コンパイラ13等を用いてソースファ
イル11をコンパイルし、オブジェクトファイル15を
生成する。
【0073】ライブラリファイル16は、ソフトウエア
開発システムにより提供されるライブラリであってもよ
いし、ユーザーが予め作成したライブラリであってもよ
い。
開発システムにより提供されるライブラリであってもよ
いし、ユーザーが予め作成したライブラリであってもよ
い。
【0074】リンク情報17は、リンカ18に対してリ
ンク形態を指定するオプション情報である。リンク情報
17は、システム設定部で生成され、例えば以下のよう
な情報を含んでいる。
ンク形態を指定するオプション情報である。リンク情報
17は、システム設定部で生成され、例えば以下のよう
な情報を含んでいる。
【0075】・リンカの名前と、そのディレクトリ ・出力ファイル形式の設定、及びデバッグ情報追加のリ
ンクオプション ・リンクすべきライブラリの情報 ・ライブラリファイルの含まれるオブジェクトファイル
の総合情報(複数のオブジェクトファイルのうち、どれ
とどれとを結合すべきかを示す) リンク情報部19は、ターゲットとする組込み用ソフト
ウエアシステムに適したライブラリファイル16、リン
ク情報17、リンカ18等を用いてオブジェクトファイ
ル15をリンクし、必要であれば適切なメモリ空間上で
の割り当てを行って、実行形式ファイル20を生成す
る。この実行形式ファイル20は、後述する複合実行形
式ファイル作成部22によって配置アドレスを変更可能
(リロケータブル)な形式で生成される。なお、従来の
ソフトウエア開発システムで出力される実行形式ファイ
ルは、必ずしもリロケータブルな形式で生成されていな
かった。
ンクオプション ・リンクすべきライブラリの情報 ・ライブラリファイルの含まれるオブジェクトファイル
の総合情報(複数のオブジェクトファイルのうち、どれ
とどれとを結合すべきかを示す) リンク情報部19は、ターゲットとする組込み用ソフト
ウエアシステムに適したライブラリファイル16、リン
ク情報17、リンカ18等を用いてオブジェクトファイ
ル15をリンクし、必要であれば適切なメモリ空間上で
の割り当てを行って、実行形式ファイル20を生成す
る。この実行形式ファイル20は、後述する複合実行形
式ファイル作成部22によって配置アドレスを変更可能
(リロケータブル)な形式で生成される。なお、従来の
ソフトウエア開発システムで出力される実行形式ファイ
ルは、必ずしもリロケータブルな形式で生成されていな
かった。
【0076】複合実行形式ファイル情報21は、後述す
る複合実行形式ファイル24に含めるべき実行形式ファ
イル20についての情報を保持し、複合実行形式ファイ
ル作成部22で用いられる。この複合実行形式ファイル
情報21は、システム設定部で生成され、例えば以下の
ような情報を含んでいる。
る複合実行形式ファイル24に含めるべき実行形式ファ
イル20についての情報を保持し、複合実行形式ファイ
ル作成部22で用いられる。この複合実行形式ファイル
情報21は、システム設定部で生成され、例えば以下の
ような情報を含んでいる。
【0077】・複合実行形式ファイルに含まれる実行形
式ファイルのモジュール名、ファイル名及びそのディレ
クトリ ・各実行形式ファイルに割り当てられるべきモジュール
属性情報のデータ(スタック領域サイズ、ヒープ領域サ
イズ、動作モード、動作優先順位等) ・初期化プログラムの実行開始アドレス(モジュール数
とともに、後述する全体構成情報に含まれる) ・複合実行形式ファイルの作成日時、バージョン、タイ
トル等(後述する全体構成情報に含まれる) 複合実行形式ファイル作成部22は、複合実行形式ファ
イル情報21によって提供される情報に基づき、複数の
実行形式ファイル20と、初期化プログラム23とを用
いて複合実行形式ファイル24を生成し、出力する。な
お、初期化プログラム23は、複合実行形式ファイル2
4を実行するためのプログラムである。また、複合実行
形式ファイル作成部22は、同様に、ROM化情報25
によって提供される情報に基づき、ブートプログラム2
6を用いてブートプログラム27を生成し、出力する。
なお、複合実行形式ファイル作成部22は、複合実行形
式ファイル24とブートプログラム26とを一体に生成
し、出力してもよい。
式ファイルのモジュール名、ファイル名及びそのディレ
クトリ ・各実行形式ファイルに割り当てられるべきモジュール
属性情報のデータ(スタック領域サイズ、ヒープ領域サ
イズ、動作モード、動作優先順位等) ・初期化プログラムの実行開始アドレス(モジュール数
とともに、後述する全体構成情報に含まれる) ・複合実行形式ファイルの作成日時、バージョン、タイ
トル等(後述する全体構成情報に含まれる) 複合実行形式ファイル作成部22は、複合実行形式ファ
イル情報21によって提供される情報に基づき、複数の
実行形式ファイル20と、初期化プログラム23とを用
いて複合実行形式ファイル24を生成し、出力する。な
お、初期化プログラム23は、複合実行形式ファイル2
4を実行するためのプログラムである。また、複合実行
形式ファイル作成部22は、同様に、ROM化情報25
によって提供される情報に基づき、ブートプログラム2
6を用いてブートプログラム27を生成し、出力する。
なお、複合実行形式ファイル作成部22は、複合実行形
式ファイル24とブートプログラム26とを一体に生成
し、出力してもよい。
【0078】つぎに、本発明に係るソフトウエア開発手
順について、図2を参照しながら説明する。
順について、図2を参照しながら説明する。
【0079】システムソースファイル30とシステムソ
ースファイル31とは、図1におけるソースファイル1
1に相当し、ソフトウエア開発システムにより提供され
るソースファイルである。コンパイル処理部14は、シ
ステムソースファイル30とシステムソースファイル3
1とをそれぞれコンパイルし、オブジェクトファイル3
2とオブジェクトファイル33とを生成する。リンク処
理部19は、コンパイル処理部14によって生成された
オブジェクトファイル32とオブジェクトファイル33
とをそれぞれライブラリファイル16等とリンクし、実
行形式ファイル34と実行形式ファイル35とを生成す
る。
ースファイル31とは、図1におけるソースファイル1
1に相当し、ソフトウエア開発システムにより提供され
るソースファイルである。コンパイル処理部14は、シ
ステムソースファイル30とシステムソースファイル3
1とをそれぞれコンパイルし、オブジェクトファイル3
2とオブジェクトファイル33とを生成する。リンク処
理部19は、コンパイル処理部14によって生成された
オブジェクトファイル32とオブジェクトファイル33
とをそれぞれライブラリファイル16等とリンクし、実
行形式ファイル34と実行形式ファイル35とを生成す
る。
【0080】ユーザーソースファイル36は、図1にお
けるソースファイル11に相当し、ユーザーが作成した
ソースファイルである。上述と同様に、コンパイル処理
部14は、ユーザーソースファイル36をコンパイルし
てオブジェクトファイル37を生成する。また、リンク
処理部19は、オブジェクトファイル37をライブラリ
ファイル16等とリンクして実行形式ファイル38を生
成する。
けるソースファイル11に相当し、ユーザーが作成した
ソースファイルである。上述と同様に、コンパイル処理
部14は、ユーザーソースファイル36をコンパイルし
てオブジェクトファイル37を生成する。また、リンク
処理部19は、オブジェクトファイル37をライブラリ
ファイル16等とリンクして実行形式ファイル38を生
成する。
【0081】初期化ソースファイル39は、図1におけ
るソースファイル11に相当し、ターゲットとするハー
ドウエアを初期化する処理を含むソースファイルであ
る。コンパイル処理部14は、初期化ソースファイル3
9をコンパイルして初期化オブジェクトファイル40を
生成する。また、リンク処理部19は、初期化オブジェ
クトファイル40をライブラリファイル16等とリンク
して初期化プログラム23を生成する。
るソースファイル11に相当し、ターゲットとするハー
ドウエアを初期化する処理を含むソースファイルであ
る。コンパイル処理部14は、初期化ソースファイル3
9をコンパイルして初期化オブジェクトファイル40を
生成する。また、リンク処理部19は、初期化オブジェ
クトファイル40をライブラリファイル16等とリンク
して初期化プログラム23を生成する。
【0082】ブートソースファイル41は、図1におけ
るソースファイル11に相当し、ターゲットとする組込
み用ソフトウエアシステムをブートする処理を含むソー
スファイルである。コンパイル処理部14は、ブートソ
ースファイル41をコンパイルしてブートオブジェクト
ファイル42を生成する。また、リンク処理部19は、
ブートオブジェクトファイル42をライブラリファイル
16等とリンクしてブートプログラム26を生成する。
るソースファイル11に相当し、ターゲットとする組込
み用ソフトウエアシステムをブートする処理を含むソー
スファイルである。コンパイル処理部14は、ブートソ
ースファイル41をコンパイルしてブートオブジェクト
ファイル42を生成する。また、リンク処理部19は、
ブートオブジェクトファイル42をライブラリファイル
16等とリンクしてブートプログラム26を生成する。
【0083】なお、実行形式ファイル34、実行形式フ
ァイル35及び実行形式ファイル38は、図1における
実行形式ファイル20に相当する。また、初期化プログ
ラム23とブートプログラム26とは、複合実行形式フ
ァイル作成部22によって配置アドレスを変更可能(リ
ロケータブル)な形式で生成される。
ァイル35及び実行形式ファイル38は、図1における
実行形式ファイル20に相当する。また、初期化プログ
ラム23とブートプログラム26とは、複合実行形式フ
ァイル作成部22によって配置アドレスを変更可能(リ
ロケータブル)な形式で生成される。
【0084】複合実行形式ファイル作成部22は、RO
M化情報25によって提供される情報に基づき、実行形
式ファイル34、実行形式ファイル35、実行形式ファ
イル38及び初期化プログラム23を用いて、複合実行
形式ファイル24を生成する。また、複合実行形式ファ
イル作成部22は、同様に、ROM化情報25によって
提供される情報に基づき、ブートプログラム26を用い
て、複合実行形式ファイル24の情報を含むブートプロ
グラム27を生成する。なお、ブートプログラム27
は、配置アドレスが固定された(リロケータブルでな
い)形式で生成される。
M化情報25によって提供される情報に基づき、実行形
式ファイル34、実行形式ファイル35、実行形式ファ
イル38及び初期化プログラム23を用いて、複合実行
形式ファイル24を生成する。また、複合実行形式ファ
イル作成部22は、同様に、ROM化情報25によって
提供される情報に基づき、ブートプログラム26を用い
て、複合実行形式ファイル24の情報を含むブートプロ
グラム27を生成する。なお、ブートプログラム27
は、配置アドレスが固定された(リロケータブルでな
い)形式で生成される。
【0085】なお、図2においては、実行形式ファイル
34、実行形式ファイル35、実行形式ファイル38及
び初期化プログラム23を用いて複合実行形式ファイル
24が生成される場合を示すが、本発明に係るソフトウ
エア開発手順においては、実行形式ファイルの数に制限
されるものではなく、複数の実行形式ファイルを用いて
複合実行形式ファイル24を生成することができる。
34、実行形式ファイル35、実行形式ファイル38及
び初期化プログラム23を用いて複合実行形式ファイル
24が生成される場合を示すが、本発明に係るソフトウ
エア開発手順においては、実行形式ファイルの数に制限
されるものではなく、複数の実行形式ファイルを用いて
複合実行形式ファイル24を生成することができる。
【0086】複合実行形式ファイル24は、例えば、図
3に示すような内部構成を有し、内部構成情報50と、
テキストセクション51と、初期化データセクション5
2と、テキストセクション53と、初期化データセクシ
ョン54と、デキストセクション55と、初期化データ
セクション56と、初期化プログラムテキストセクショ
ン57と、初期化プログラム初期化データセクション5
8とが順次連結された内部構成を有している。
3に示すような内部構成を有し、内部構成情報50と、
テキストセクション51と、初期化データセクション5
2と、テキストセクション53と、初期化データセクシ
ョン54と、デキストセクション55と、初期化データ
セクション56と、初期化プログラムテキストセクショ
ン57と、初期化プログラム初期化データセクション5
8とが順次連結された内部構成を有している。
【0087】内部構成情報50は、複合実行形式ファイ
ル24の先頭部分に位置し、後続の内容を識別するため
の情報や、その長さについての情報等を含む。この内部
構成情報50を解析することにより、必要な情報を後続
部分から抽出できるようになっている。
ル24の先頭部分に位置し、後続の内容を識別するため
の情報や、その長さについての情報等を含む。この内部
構成情報50を解析することにより、必要な情報を後続
部分から抽出できるようになっている。
【0088】テキストセクション51、テキストセクシ
ョン53及びテキストセクション55は、それぞれ、実
行形式ファイル34、実行形式ファイル35及び実行形
式ファイル38のプログラムコードである。
ョン53及びテキストセクション55は、それぞれ、実
行形式ファイル34、実行形式ファイル35及び実行形
式ファイル38のプログラムコードである。
【0089】初期化データセクション52、初期化デー
タセクション54及び初期化データセクション56は、
それぞれ、実行形式ファイル34、実行形式ファイル3
5及び実行形式ファイル38の変数の初期値データであ
る。
タセクション54及び初期化データセクション56は、
それぞれ、実行形式ファイル34、実行形式ファイル3
5及び実行形式ファイル38の変数の初期値データであ
る。
【0090】初期化プログラムテキストセクション57
は、初期化プログラム23のプログラムコードである。
この初期化プログラムテキストセクション57は、内部
構成情報50に基づいて、テキストセクション51,5
3,55及び初期化データセクション52,54,56
を適切なメモリ空間に割り当てる処理を含む。
は、初期化プログラム23のプログラムコードである。
この初期化プログラムテキストセクション57は、内部
構成情報50に基づいて、テキストセクション51,5
3,55及び初期化データセクション52,54,56
を適切なメモリ空間に割り当てる処理を含む。
【0091】初期化プログラム初期化データセクション
58は、初期化プログラム23の変数の初期値データで
ある。
58は、初期化プログラム23の変数の初期値データで
ある。
【0092】なお、図3においては、複合実行形式ファ
イル24が、テキストセクションと初期化データセクシ
ョンとの組(以下、モジュールと称する。)を3つ備え
る場合を示す。しかしながら、本発明に係る複合実行形
式ファイル24は、図2に示した実行形式ファイルの数
に応じて複数のモジュールを備えればよい。
イル24が、テキストセクションと初期化データセクシ
ョンとの組(以下、モジュールと称する。)を3つ備え
る場合を示す。しかしながら、本発明に係る複合実行形
式ファイル24は、図2に示した実行形式ファイルの数
に応じて複数のモジュールを備えればよい。
【0093】また、複合実行形式ファイル24には、図
2で示した実行形式ファイル34,35,38や初期化
プログラム23に含まれる初期化不要データセクション
が含まれていない。これにより、複合実行形式ファイル
24は、初期化不要データセクションの分だけファイル
サイズを小さくすることができる。
2で示した実行形式ファイル34,35,38や初期化
プログラム23に含まれる初期化不要データセクション
が含まれていない。これにより、複合実行形式ファイル
24は、初期化不要データセクションの分だけファイル
サイズを小さくすることができる。
【0094】また、内部構成情報50は、例えば図4に
示すような内部構成を有し、モジュール数60と、モジ
ュール情報61と、モジュール情報62と、モジュール
情報62とが順次連結された内部構成を有している。
示すような内部構成を有し、モジュール数60と、モジ
ュール情報61と、モジュール情報62と、モジュール
情報62とが順次連結された内部構成を有している。
【0095】モジュール数60は、複合実行形式ファイ
ル24に含まれているモジュールの数であり、例えば、
複合実行形式ファイル24が図1に示す内部構成である
場合には「3」となる。
ル24に含まれているモジュールの数であり、例えば、
複合実行形式ファイル24が図1に示す内部構成である
場合には「3」となる。
【0096】モジュール情報61、モジュール情報62
及びモジュール情報63は、複合実行形式ファイル24
に含まれているそれぞれモジュールに関する情報を保持
している。すなわち、モジュール情報61、モジュール
情報62、モジュール情報63は、それぞれ、テキスト
セクション51及び初期化データセクション52、テキ
ストセクション53及び初期化データセクション54、
テキストセクション55及び初期化データセクション5
6に関する情報を保持している。
及びモジュール情報63は、複合実行形式ファイル24
に含まれているそれぞれモジュールに関する情報を保持
している。すなわち、モジュール情報61、モジュール
情報62、モジュール情報63は、それぞれ、テキスト
セクション51及び初期化データセクション52、テキ
ストセクション53及び初期化データセクション54、
テキストセクション55及び初期化データセクション5
6に関する情報を保持している。
【0097】また、各々のモジュール情報61,62,
63は、それぞれ図5に示すような内部構成を有し、モ
ジュール名70と、テキストセクションサイズ71と、
初期化データセクションサイズ72と、初期化不要デー
タセクションサイズ73と、テキストセクションアドレ
ス74と、初期化データセクションアドレス75と、初
期化不要データセクションアドレス76と、実行開始ア
ドレス77とが順次連結された内部構成を有している。
63は、それぞれ図5に示すような内部構成を有し、モ
ジュール名70と、テキストセクションサイズ71と、
初期化データセクションサイズ72と、初期化不要デー
タセクションサイズ73と、テキストセクションアドレ
ス74と、初期化データセクションアドレス75と、初
期化不要データセクションアドレス76と、実行開始ア
ドレス77とが順次連結された内部構成を有している。
【0098】モジュール名70は、複合実行形式ファイ
ル24における各々のモジュールの名前であり、各モジ
ュールを識別するために使用される。
ル24における各々のモジュールの名前であり、各モジ
ュールを識別するために使用される。
【0099】テキストセクションサイズ71及び初期化
データセクションサイズ72は、複合実行形式ファイル
24における各モジュールのテキストセクション及び初
期化データセクションのサイズを示す。初期化不要デー
タセクションサイズ73は、後述するように各モジュー
ル毎に実行用記憶デバイス上に生成される初期化不要デ
ータセクションのサイズを示す。
データセクションサイズ72は、複合実行形式ファイル
24における各モジュールのテキストセクション及び初
期化データセクションのサイズを示す。初期化不要デー
タセクションサイズ73は、後述するように各モジュー
ル毎に実行用記憶デバイス上に生成される初期化不要デ
ータセクションのサイズを示す。
【0100】テキストセクションアドレス74は、複合
実行形式ファイル24における各モジュールのテキスト
セクションが配置されるべきメモリ空間上でのアドレス
を示し、テキストセクションが予め特定のアドレス上に
配置されるべくリンクされている場合に必要となる。初
期化データセクションアドレス75は、複合実行形式フ
ァイル24における各モジュールの初期化データセクシ
ョンが配置されるべきメモリ空間上でのアドレスを示
す。初期化不要データセクションアドレス76は、後述
する初期化不要データセクションが生成されるべきメモ
リ空間上でのアドレスを示す。
実行形式ファイル24における各モジュールのテキスト
セクションが配置されるべきメモリ空間上でのアドレス
を示し、テキストセクションが予め特定のアドレス上に
配置されるべくリンクされている場合に必要となる。初
期化データセクションアドレス75は、複合実行形式フ
ァイル24における各モジュールの初期化データセクシ
ョンが配置されるべきメモリ空間上でのアドレスを示
す。初期化不要データセクションアドレス76は、後述
する初期化不要データセクションが生成されるべきメモ
リ空間上でのアドレスを示す。
【0101】実行開始アドレス77は、複合実行形式フ
ァイル24における各モジュールのテキストセクション
がメモリ空間上に配置されて実行される際に、最初に呼
ばれるべきアドレスを示す。すなわち、メモリ空間上に
配置された各テキストセクションは、実行開始アドレス
77を呼ばれることで、動作を開始する。
ァイル24における各モジュールのテキストセクション
がメモリ空間上に配置されて実行される際に、最初に呼
ばれるべきアドレスを示す。すなわち、メモリ空間上に
配置された各テキストセクションは、実行開始アドレス
77を呼ばれることで、動作を開始する。
【0102】内部構成情報50においては、モジュール
数60と各モジュール情報61,62,63との合計サ
イズが、全体でのサイズとなる。組込み用ソフトウエア
システムにおいては、複合実行形式ファイル24の先頭
アドレスから内部構成情報50のサイズの分だけ後ろの
アドレスから読み込むことによって、この複合実行形式
ファイル24の最初のテキストセクション51を読み込
むことができる。同様に、組込み用ソフトウエアシステ
ムにおいては、複合実行形式ファイル24の先頭アドレ
スから内部構成情報50とテキストセクション51との
合計サイズの分だけ後ろのアドレスから読み込むことに
よって、この複合実行形式ファイル24の最初の初期化
データセクション52を読み込むことができる。
数60と各モジュール情報61,62,63との合計サ
イズが、全体でのサイズとなる。組込み用ソフトウエア
システムにおいては、複合実行形式ファイル24の先頭
アドレスから内部構成情報50のサイズの分だけ後ろの
アドレスから読み込むことによって、この複合実行形式
ファイル24の最初のテキストセクション51を読み込
むことができる。同様に、組込み用ソフトウエアシステ
ムにおいては、複合実行形式ファイル24の先頭アドレ
スから内部構成情報50とテキストセクション51との
合計サイズの分だけ後ろのアドレスから読み込むことに
よって、この複合実行形式ファイル24の最初の初期化
データセクション52を読み込むことができる。
【0103】つぎに、図1におけるROM化情報25に
ついて、図6を参照しながら説明する。ROM化情報2
5は、図6に示すように、複合実行形式ファイル24に
含まれる各モジュールに関して、それぞれモジュール名
80と、保存デバイス名81と、実行デバイス名82と
の情報を有している。
ついて、図6を参照しながら説明する。ROM化情報2
5は、図6に示すように、複合実行形式ファイル24に
含まれる各モジュールに関して、それぞれモジュール名
80と、保存デバイス名81と、実行デバイス名82と
の情報を有している。
【0104】モジュール名80は、図5に示したモジュ
ール情報61,62,63中のモジュール名70と対応
している。保存デバイス名81は、組込み用ソフトウエ
アシステムにおける保存用記憶デバイスの種類等を示す
識別情報であり、モジュール名80で示されたモジュー
ルを組み込む保存用記憶デバイスを示す。実行デバイス
名82は、同様に、組込み用ソフトウエアシステムにお
ける実行用記憶デバイスの種類等を示す識別情報であ
り、モジュール名80で示されたモジュールを実行する
実行用記憶デバイスを示す。
ール情報61,62,63中のモジュール名70と対応
している。保存デバイス名81は、組込み用ソフトウエ
アシステムにおける保存用記憶デバイスの種類等を示す
識別情報であり、モジュール名80で示されたモジュー
ルを組み込む保存用記憶デバイスを示す。実行デバイス
名82は、同様に、組込み用ソフトウエアシステムにお
ける実行用記憶デバイスの種類等を示す識別情報であ
り、モジュール名80で示されたモジュールを実行する
実行用記憶デバイスを示す。
【0105】ROM化情報25は、モジュール名80、
保存デバイス名81及び実行デバイス名82を、モジュ
ール毎に有していることによって、各々のモジュールを
組み込む保存用記憶デバイス、及びこの保存用記憶デバ
イスからコピーする先の実行用記憶デバイスを示してい
る。
保存デバイス名81及び実行デバイス名82を、モジュ
ール毎に有していることによって、各々のモジュールを
組み込む保存用記憶デバイス、及びこの保存用記憶デバ
イスからコピーする先の実行用記憶デバイスを示してい
る。
【0106】なお、本発明は、上述したように、保存用
記憶デバイス及び実行用記憶デバイスを、ROM化情報
25がモジュール毎に示す構成に限定されるものではな
い。例えば、ROM化情報25は、モジュール名80で
示すモジュールのうち、そのモジュールに含まれるテキ
ストセクション及び初期化データセクションや、そのモ
ジュールが生成する初期化不要データセクションのそれ
ぞれに関して、保存デバイス名及び実行デバイス名を有
するとしてもよい。これにより、ROM化情報25は、
各モジュール中の各セクション毎に、保存用記憶デバイ
ス及び実行用記憶デバイスを示すことができる。
記憶デバイス及び実行用記憶デバイスを、ROM化情報
25がモジュール毎に示す構成に限定されるものではな
い。例えば、ROM化情報25は、モジュール名80で
示すモジュールのうち、そのモジュールに含まれるテキ
ストセクション及び初期化データセクションや、そのモ
ジュールが生成する初期化不要データセクションのそれ
ぞれに関して、保存デバイス名及び実行デバイス名を有
するとしてもよい。これにより、ROM化情報25は、
各モジュール中の各セクション毎に、保存用記憶デバイ
ス及び実行用記憶デバイスを示すことができる。
【0107】一方、ブートプログラム27は、例えば、
図7に示すような内部構成を有し、ブートコード90
と、コピーブロック情報群91と、実行開始アドレス9
2と、内部構成情報アドレス93とが順次連結された内
部構成を有している。
図7に示すような内部構成を有し、ブートコード90
と、コピーブロック情報群91と、実行開始アドレス9
2と、内部構成情報アドレス93とが順次連結された内
部構成を有している。
【0108】ブートコード90は、ターゲットとする組
込み用ソフトウエアシステムの演算装置の種類に応じて
所定のアドレスから始まる保存用記憶デバイスのアドレ
スに合わせて、ブートプログラム26を適切なアドレス
に配置したものである。コピーブロック情報群91は、
複合実行形式ファイル24におけるテキストセクション
51,53,55及び初期化データセクション52,5
4,56を保存用記憶デバイスから実行用記憶デバイス
にコピーするための情報である。実行開始アドレス92
は、複合実行形式ファイル24における初期化プログラ
ムテキストセクション57を最初に実行するアドレスで
ある。内部構成情報アドレス93は、初期化プログラム
テキストセクション57に対して渡すべき内部構成情報
50の先頭アドレスである。
込み用ソフトウエアシステムの演算装置の種類に応じて
所定のアドレスから始まる保存用記憶デバイスのアドレ
スに合わせて、ブートプログラム26を適切なアドレス
に配置したものである。コピーブロック情報群91は、
複合実行形式ファイル24におけるテキストセクション
51,53,55及び初期化データセクション52,5
4,56を保存用記憶デバイスから実行用記憶デバイス
にコピーするための情報である。実行開始アドレス92
は、複合実行形式ファイル24における初期化プログラ
ムテキストセクション57を最初に実行するアドレスで
ある。内部構成情報アドレス93は、初期化プログラム
テキストセクション57に対して渡すべき内部構成情報
50の先頭アドレスである。
【0109】また、コピーブロック情報群91は、図8
に示すようなコピーブロック情報95を複数有し、それ
ぞれのコピーブロック情報95が順次連結された内部構
成を有している。各コピーブロック情報95は、それぞ
れ、複合実行形式ファイル24におけるテキストセクシ
ョン51,53,55、初期化データセクション52,
54,56、初期化プログラムテキストセクション57
及び初期化プログラム初期化データセクション58を、
実行用記憶デバイスに対して保存用記憶デバイス上から
コピーするための情報である。
に示すようなコピーブロック情報95を複数有し、それ
ぞれのコピーブロック情報95が順次連結された内部構
成を有している。各コピーブロック情報95は、それぞ
れ、複合実行形式ファイル24におけるテキストセクシ
ョン51,53,55、初期化データセクション52,
54,56、初期化プログラムテキストセクション57
及び初期化プログラム初期化データセクション58を、
実行用記憶デバイスに対して保存用記憶デバイス上から
コピーするための情報である。
【0110】コピーブロック情報95は、図8に示すよ
うに、コピー元アドレス96と、コピー元サイズ97
と、コピー先アドレス98と、コピー先サイズ99とが
順次連結された内部構成を有する。
うに、コピー元アドレス96と、コピー元サイズ97
と、コピー先アドレス98と、コピー先サイズ99とが
順次連結された内部構成を有する。
【0111】コピー元アドレス96は、保存用記憶デバ
イス上に保持された各セクションのコピーを開始する先
頭アドレスである。コピー元サイズ97は、保存用記憶
デバイスから読み込む各セクションのサイズである。コ
ピー先アドレス98は、各セクションの実行用記憶デバ
イス上での先頭アドレスである。コピー先サイズ99
は、各セクションの実行用記憶デバイス上でのサイズで
ある。
イス上に保持された各セクションのコピーを開始する先
頭アドレスである。コピー元サイズ97は、保存用記憶
デバイスから読み込む各セクションのサイズである。コ
ピー先アドレス98は、各セクションの実行用記憶デバ
イス上での先頭アドレスである。コピー先サイズ99
は、各セクションの実行用記憶デバイス上でのサイズで
ある。
【0112】コピーブロック情報95においては、テキ
ストセクション51,53,55と初期化データセクシ
ョン52,54,56とに対応するコピー元サイズ97
とコピー先サイズ99が一致するが、ターゲットとする
組込み用ソフトウエアシステムが必要とするアラインメ
ントによっては異なる場合がある。
ストセクション51,53,55と初期化データセクシ
ョン52,54,56とに対応するコピー元サイズ97
とコピー先サイズ99が一致するが、ターゲットとする
組込み用ソフトウエアシステムが必要とするアラインメ
ントによっては異なる場合がある。
【0113】また、コピーブロック情報95において
は、ターゲットとする実行用記憶デバイス上にコピーを
行わずに、保存用記憶デバイス上から直接演算装置によ
って実行するセクションに対しては、例えば、コピー元
アドレス96には無効な値が入っており、コピー先アド
レス98には「0」が入っている。これにより、コピー
ブロック情報95は、コピー先アドレス98を参照され
ることによって、対応するセクションを実行用記憶デバ
イス上にコピーするか否かを示すことができる。
は、ターゲットとする実行用記憶デバイス上にコピーを
行わずに、保存用記憶デバイス上から直接演算装置によ
って実行するセクションに対しては、例えば、コピー元
アドレス96には無効な値が入っており、コピー先アド
レス98には「0」が入っている。これにより、コピー
ブロック情報95は、コピー先アドレス98を参照され
ることによって、対応するセクションを実行用記憶デバ
イス上にコピーするか否かを示すことができる。
【0114】なお、本実施の形態においては、テキスト
セクション53に関しては、コピー元アドレス96に無
効な値が入っており、コピー先アドレス98には「0」
が入っているとした。これにより、テキストセクション
53は、保存用記憶デバイス上から直接演算装置によっ
て実行されることとなる。
セクション53に関しては、コピー元アドレス96に無
効な値が入っており、コピー先アドレス98には「0」
が入っているとした。これにより、テキストセクション
53は、保存用記憶デバイス上から直接演算装置によっ
て実行されることとなる。
【0115】つぎに、複合実行形式ファイル24及びブ
ートプログラム27を結合し、実行プログラムとして保
存用記憶デバイスに書き込んだ状態の内部構成を、図9
に示す。実行プログラムは、保存用記憶デバイスに書き
込まれた状態で、複合実行形式ファイル24とブートプ
ログラム27とが順次連結された内部構成を有してい
る。実行プログラムは、ブートプログラム27のブート
コード90の先頭が、ターゲットとする組込み用ソフト
ウエアシステムの演算装置の種類に応じた特定のアドレ
スから始まる保存用記憶デバイスの先頭アドレスと重な
るように、この保存用記憶デバイス上に配置される。
ートプログラム27を結合し、実行プログラムとして保
存用記憶デバイスに書き込んだ状態の内部構成を、図9
に示す。実行プログラムは、保存用記憶デバイスに書き
込まれた状態で、複合実行形式ファイル24とブートプ
ログラム27とが順次連結された内部構成を有してい
る。実行プログラムは、ブートプログラム27のブート
コード90の先頭が、ターゲットとする組込み用ソフト
ウエアシステムの演算装置の種類に応じた特定のアドレ
スから始まる保存用記憶デバイスの先頭アドレスと重な
るように、この保存用記憶デバイス上に配置される。
【0116】つぎに、保存用記憶デバイスに書き込まれ
た実行プログラムが、この実行プログラム中のブートプ
ログラム27に基づいて、実行用記憶デバイス上に演算
装置によってコピーされた状態での内部構成の一例を、
図10に示す。
た実行プログラムが、この実行プログラム中のブートプ
ログラム27に基づいて、実行用記憶デバイス上に演算
装置によってコピーされた状態での内部構成の一例を、
図10に示す。
【0117】実行用記憶デバイス上にコピーされた実行
プログラムは、図10に示すように、テキストセクショ
ン100と、初期化データセクション101と、初期化
不要データセクション102と、初期化データセクショ
ン103と、初期化不要データセクション104と、テ
キストセクション105と、初期化データセクション1
06と、初期化不要データセクション107と、作業領
域108と、初期化プログラムテキストセクション10
9と、初期化プログラム初期化データセクション110
と、初期化プログラム初期化不要データセクション11
1とが順次連結された内部構成を有している。
プログラムは、図10に示すように、テキストセクショ
ン100と、初期化データセクション101と、初期化
不要データセクション102と、初期化データセクショ
ン103と、初期化不要データセクション104と、テ
キストセクション105と、初期化データセクション1
06と、初期化不要データセクション107と、作業領
域108と、初期化プログラムテキストセクション10
9と、初期化プログラム初期化データセクション110
と、初期化プログラム初期化不要データセクション11
1とが順次連結された内部構成を有している。
【0118】図10において、テキストセクション10
0と、初期化データセクション101と、初期化データ
セクション103と、テキストセクション105と、初
期化データセクション106と、初期化プログラムテキ
ストセクション109と、初期化プログラム初期化デー
タセクション110とは、それぞれ、図9に示した実行
プログラムにおけるテキストセクション51と、初期化
データセクション52と、初期化データセクション54
と、テキストセクション55と、初期化データセクショ
ン56と、初期化プログラムテキストセクション57
と、初期化プログラム初期化データセクション58と
が、実行用記憶デバイス上にコピーされたものである。
0と、初期化データセクション101と、初期化データ
セクション103と、テキストセクション105と、初
期化データセクション106と、初期化プログラムテキ
ストセクション109と、初期化プログラム初期化デー
タセクション110とは、それぞれ、図9に示した実行
プログラムにおけるテキストセクション51と、初期化
データセクション52と、初期化データセクション54
と、テキストセクション55と、初期化データセクショ
ン56と、初期化プログラムテキストセクション57
と、初期化プログラム初期化データセクション58と
が、実行用記憶デバイス上にコピーされたものである。
【0119】なお、図10においては、保存用記憶デバ
イス上に書き込まれた実行プログラム中のテキストセク
ション53が、ターゲットとする記憶デバイス上にコピ
ーされておらず、この保存用記憶デバイス上から直接演
算装置によって実行されるとしている。ただし、実行プ
ログラム中の各セクションは、上述したように、コピー
ブロック情報95のコピー元アドレス96やコピー先ア
ドレス98に無効な値や「0」を入れておくことによっ
て保存用記憶デバイス上から直接実行されるとしてもよ
いし、実行用記憶デバイス上にコピーされて、この実行
用記憶デバイス上から実行されるとしてもよい。
イス上に書き込まれた実行プログラム中のテキストセク
ション53が、ターゲットとする記憶デバイス上にコピ
ーされておらず、この保存用記憶デバイス上から直接演
算装置によって実行されるとしている。ただし、実行プ
ログラム中の各セクションは、上述したように、コピー
ブロック情報95のコピー元アドレス96やコピー先ア
ドレス98に無効な値や「0」を入れておくことによっ
て保存用記憶デバイス上から直接実行されるとしてもよ
いし、実行用記憶デバイス上にコピーされて、この実行
用記憶デバイス上から実行されるとしてもよい。
【0120】初期化不要データセクション102,10
4,107と初期化プログラム初期化不要データセクシ
ョン111は、ブートプログラム27が参照する各モジ
ュール毎に内部構成情報50中の初期化不要データセク
ションサイズ73に応じて、組込みソフトウエアシステ
ムの演算装置によって生成されたものである。
4,107と初期化プログラム初期化不要データセクシ
ョン111は、ブートプログラム27が参照する各モジ
ュール毎に内部構成情報50中の初期化不要データセク
ションサイズ73に応じて、組込みソフトウエアシステ
ムの演算装置によって生成されたものである。
【0121】作業領域108は、演算装置が各セクショ
ンを実行する際に利用するために、ターゲットとなる実
行用記憶デバイス上に確保されたメモリ空間である。
ンを実行する際に利用するために、ターゲットとなる実
行用記憶デバイス上に確保されたメモリ空間である。
【0122】図9と図10とを比較して明らかなよう
に、実行プログラム中のブートプログラム27は、コピ
ーされずに、保存用記憶デバイス上から直接演算装置に
よって実行される。また、実行プログラム中の内部構成
情報50は、読み出し専用であるために、コピーされず
に、保存用記憶デバイス上で直接演算装置によって参照
される。
に、実行プログラム中のブートプログラム27は、コピ
ーされずに、保存用記憶デバイス上から直接演算装置に
よって実行される。また、実行プログラム中の内部構成
情報50は、読み出し専用であるために、コピーされず
に、保存用記憶デバイス上で直接演算装置によって参照
される。
【0123】つぎに、上述したように保存用記憶デバイ
ス上に書き込まれてなる実行プログラムの起動方法につ
いて図11を参照しながら説明する。
ス上に書き込まれてなる実行プログラムの起動方法につ
いて図11を参照しながら説明する。
【0124】ステップS120において、実行プログラ
ムの起動を開始する。
ムの起動を開始する。
【0125】ステップS121において、演算装置は、
特定のアドレスから始まる保存用記憶デバイス上のブー
トコード90を読み出して、実行する。
特定のアドレスから始まる保存用記憶デバイス上のブー
トコード90を読み出して、実行する。
【0126】ステップS122において、演算装置は、
ブートコード90中のプログラムコードに基づいて、ソ
フトウエア開発システムの各種記憶デバイスや入出力デ
バイス等のハードウエアを初期化する。
ブートコード90中のプログラムコードに基づいて、ソ
フトウエア開発システムの各種記憶デバイスや入出力デ
バイス等のハードウエアを初期化する。
【0127】ステップS123において、演算装置は、
ブートコード90中のプログラムコードに基づいてコピ
ーブロック情報群91を参照し、保存用記憶デバイス上
からテキストセクション51,55及び初期化データセ
クション52,54,56と、初期化プログラムテキス
トセクション57及び初期化プログラム初期化データセ
クション58とをターゲットとする実行用記憶デバイス
上にコピーする。
ブートコード90中のプログラムコードに基づいてコピ
ーブロック情報群91を参照し、保存用記憶デバイス上
からテキストセクション51,55及び初期化データセ
クション52,54,56と、初期化プログラムテキス
トセクション57及び初期化プログラム初期化データセ
クション58とをターゲットとする実行用記憶デバイス
上にコピーする。
【0128】ステップS124において、演算装置は、
ブートコード90中のプログラムコードに基づいてコピ
ーブロック情報群91を参照し、初期化不要データセク
ション102,104,107と、初期化プログラム初
期化不要データセクション111とをターゲットとする
実行用記憶デバイス上に生成する。
ブートコード90中のプログラムコードに基づいてコピ
ーブロック情報群91を参照し、初期化不要データセク
ション102,104,107と、初期化プログラム初
期化不要データセクション111とをターゲットとする
実行用記憶デバイス上に生成する。
【0129】ステップS125において、演算装置は、
実行開始アドレス92を参照し、ターゲットとする実行
用記憶デバイス上にコピーされた初期化プログラムテキ
ストセクション109を実行を開始する。
実行開始アドレス92を参照し、ターゲットとする実行
用記憶デバイス上にコピーされた初期化プログラムテキ
ストセクション109を実行を開始する。
【0130】ステップS126において、演算装置は、
初期化プログラムテキストセクション109中のプログ
ラムコードに基づいて、保存用記憶デバイス上の内部構
成情報50と、ターゲットとする記憶デバイス上にコピ
ーされた初期化プログラム初期化データセクション11
0と、ターゲットとする実行用記憶デバイス上に生成さ
れた初期化プログラム初期化不要データセクション11
1とを参照し、作業領域108を利用して、保存用記憶
デバイス上のテキストセクション53、実行用記憶デバ
イス上のテキストセクション100,105等の初期化
を行うとともに、相互の関連情報の生成等を行う。な
お、このステップS126については、本発明の範囲で
はないので、詳細な説明を省略する。
初期化プログラムテキストセクション109中のプログ
ラムコードに基づいて、保存用記憶デバイス上の内部構
成情報50と、ターゲットとする記憶デバイス上にコピ
ーされた初期化プログラム初期化データセクション11
0と、ターゲットとする実行用記憶デバイス上に生成さ
れた初期化プログラム初期化不要データセクション11
1とを参照し、作業領域108を利用して、保存用記憶
デバイス上のテキストセクション53、実行用記憶デバ
イス上のテキストセクション100,105等の初期化
を行うとともに、相互の関連情報の生成等を行う。な
お、このステップS126については、本発明の範囲で
はないので、詳細な説明を省略する。
【0131】ステップS127において、演算装置は、
各データセクションにアクセスしつつ、各テキストセク
ション中のプログラムコードを実行する。
各データセクションにアクセスしつつ、各テキストセク
ション中のプログラムコードを実行する。
【0132】ステップS128において、実行プログラ
ムの動作は終了となる。
ムの動作は終了となる。
【0133】つぎに、上述したステップS123におけ
る具体的な動作の一例を、図12を参照しながら説明す
る。
る具体的な動作の一例を、図12を参照しながら説明す
る。
【0134】ステップS130において、演算装置は、
ステップS123の処理を開始する。
ステップS123の処理を開始する。
【0135】ステップS131において、演算装置は、
保存用記憶デバイス上の実行プログラム中のコピーブロ
ック情報群91にある第n番目のコピーブロック情報9
5を処理することを示す値nを1に初期化する。
保存用記憶デバイス上の実行プログラム中のコピーブロ
ック情報群91にある第n番目のコピーブロック情報9
5を処理することを示す値nを1に初期化する。
【0136】ステップS132において、演算装置は、
第n番目のコピーブロック情報95を参照し、有効な情
報が入っているか否かを判定して、有効な情報が入って
いる場合は、次のステップS133に処理を進める。こ
のとき、演算装置は、第n番目のコピーブロック情報9
5が有効でない情報であると判定した場合、例えばコピ
ー元サイズ97に無効な値が入っていたり、コピー先ア
ドレス98に「0」が入っていたりした場合には、後述
するステップS135に処理を進める。
第n番目のコピーブロック情報95を参照し、有効な情
報が入っているか否かを判定して、有効な情報が入って
いる場合は、次のステップS133に処理を進める。こ
のとき、演算装置は、第n番目のコピーブロック情報9
5が有効でない情報であると判定した場合、例えばコピ
ー元サイズ97に無効な値が入っていたり、コピー先ア
ドレス98に「0」が入っていたりした場合には、後述
するステップS135に処理を進める。
【0137】ステップS133において、演算装置は、
ステップS132で参照した第n番目のコピーブロック
情報95に基づいて、保存用記憶デバイス上の実行プロ
グラム中に含まれるテキストセクションや初期化データ
セクション等の各セクションを、実行記憶デバイス上に
コピーする。
ステップS132で参照した第n番目のコピーブロック
情報95に基づいて、保存用記憶デバイス上の実行プロ
グラム中に含まれるテキストセクションや初期化データ
セクション等の各セクションを、実行記憶デバイス上に
コピーする。
【0138】ステップS134において、演算装置は、
値nを1つ増やして、ステップS132に処理を進め
る。これにより、演算装置は、次に第n+1番目のコピ
ーブロック情報95に対して処理を行うこととなる。
値nを1つ増やして、ステップS132に処理を進め
る。これにより、演算装置は、次に第n+1番目のコピ
ーブロック情報95に対して処理を行うこととなる。
【0139】ステップS135において、演算装置は、
図11におけるステップS123の処理を終了する。
図11におけるステップS123の処理を終了する。
【0140】なお、このステップS123においては、
最後のコピーブロック情報95の処理が完了したことを
知る必要がある。そのためには、例えば、実行プログラ
ム中のコピーブロック情報群91の最後に無効な値を有
するコピーブロック情報95を備えることで、ステップ
S132から確実にステップS135に処理を進めると
すればよい。あるいは、例えば、実行プログラム中のコ
ピーブロック情報群91の先頭にコピーブロック情報9
5の数を示す値mを入れておき、ステップS132にお
いてn>mとなったときに、ステップS135に処理を
進めるとしてもよい。
最後のコピーブロック情報95の処理が完了したことを
知る必要がある。そのためには、例えば、実行プログラ
ム中のコピーブロック情報群91の最後に無効な値を有
するコピーブロック情報95を備えることで、ステップ
S132から確実にステップS135に処理を進めると
すればよい。あるいは、例えば、実行プログラム中のコ
ピーブロック情報群91の先頭にコピーブロック情報9
5の数を示す値mを入れておき、ステップS132にお
いてn>mとなったときに、ステップS135に処理を
進めるとしてもよい。
【0141】つぎに、図1に示した複合実行形式ファイ
ル作成部22の具体的な構成について説明する。以下で
は、まず、複合実行形式ファイル作成部22の一構成例
を、図13を参照しながら説明する。
ル作成部22の具体的な構成について説明する。以下で
は、まず、複合実行形式ファイル作成部22の一構成例
を、図13を参照しながら説明する。
【0142】複合実行形式ファイル作成部22は、図1
3に示すように、結合順序決定部140と、ファイル入
力部141と、テキストセクション抽出部142と、デ
ータセクション抽出部143と、セクション結合部14
4と、ヘッダ情報構成部145と、複合実行形式ファイ
ル出力部146と、ブート情報生成部147と、ブート
プログラム生成部148とを備える。
3に示すように、結合順序決定部140と、ファイル入
力部141と、テキストセクション抽出部142と、デ
ータセクション抽出部143と、セクション結合部14
4と、ヘッダ情報構成部145と、複合実行形式ファイ
ル出力部146と、ブート情報生成部147と、ブート
プログラム生成部148とを備える。
【0143】結合順序決定部140は、複合実行形式フ
ァイル情報21に基づいて、結合に用いる実行形式ファ
イル20を選択する。また、結合順序決定部140は、
ROM化情報25に基づいて、選択した複数の実行形式
ファイル20の結合順序を決定する。このとき、結合順
序決定部140は、ROM化情報25において同じ実行
デバイス名82で分類されているモジュールを、保存用
記憶デバイス内に連続して配置できるように、結合順序
を決定する。
ァイル情報21に基づいて、結合に用いる実行形式ファ
イル20を選択する。また、結合順序決定部140は、
ROM化情報25に基づいて、選択した複数の実行形式
ファイル20の結合順序を決定する。このとき、結合順
序決定部140は、ROM化情報25において同じ実行
デバイス名82で分類されているモジュールを、保存用
記憶デバイス内に連続して配置できるように、結合順序
を決定する。
【0144】ファイル入力部141は、結合順序決定部
140で決定された結合順序に基づいて、複数の実行形
式ファイル20と初期化プログラム23とを読み込む。
140で決定された結合順序に基づいて、複数の実行形
式ファイル20と初期化プログラム23とを読み込む。
【0145】テキストセクション抽出部142は、ファ
イル入力部141から複数の実行形式ファイル20と初
期化プログラム23とを受け取り、これら複数の実行形
式ファイル20と初期化プログラム23とから、それぞ
れテキストセクションを抽出する。
イル入力部141から複数の実行形式ファイル20と初
期化プログラム23とを受け取り、これら複数の実行形
式ファイル20と初期化プログラム23とから、それぞ
れテキストセクションを抽出する。
【0146】データセクション抽出部143は、同様
に、ファイル入力部141から複数の実行形式ファイル
20と初期化プログラム23とを受け取り、これら複数
の実行形式ファイル20と初期化プログラム23とか
ら、それぞれ初期化データセクションを抽出する。
に、ファイル入力部141から複数の実行形式ファイル
20と初期化プログラム23とを受け取り、これら複数
の実行形式ファイル20と初期化プログラム23とか
ら、それぞれ初期化データセクションを抽出する。
【0147】セクション結合部144は、テキストセク
ション抽出部142とデータセクション抽出部143と
がそれぞれ抽出したテキストセクションと初期化データ
セクションとをモジュール毎に結合する。このとき、セ
クション結合部144は、ROM化情報25から得た実
行デバイス名82等に基づいて、各モジュールを保存用
記憶デバイス上のアドレスに再配置(リロケート)す
る。このとき、セクション結合部144は、各モジュー
ルを、保存用記憶デバイス上でのアドレスが互いに重複
しないようにして再配置する。
ション抽出部142とデータセクション抽出部143と
がそれぞれ抽出したテキストセクションと初期化データ
セクションとをモジュール毎に結合する。このとき、セ
クション結合部144は、ROM化情報25から得た実
行デバイス名82等に基づいて、各モジュールを保存用
記憶デバイス上のアドレスに再配置(リロケート)す
る。このとき、セクション結合部144は、各モジュー
ルを、保存用記憶デバイス上でのアドレスが互いに重複
しないようにして再配置する。
【0148】ヘッダ情報構成部145は、テキストセク
ション抽出部142とデータセクション抽出部143と
が抽出する各セクションの情報に基づいて、最終的に複
合実行形式ファイル24において内部構成情報50とな
る情報を生成する。また、ヘッダ情報構成部は、セクシ
ョン結合部144から、各モジュールのテキストセクシ
ョン及び初期化データセクションを配置する保存用記憶
デバイス上でのアドレスを取得し、上述した内部構成情
報50となる情報に追加する。これにより、最終的に生
成される複合実行形式ファイル24は、この内部構成情
報50を参照されることで、保存用記憶デバイス上での
各モジュールが位置するアドレスや、各モジュールを保
存用記憶デバイスから実行用記憶デバイスにコピーする
際のアドレス等を示すことができるようになる。
ション抽出部142とデータセクション抽出部143と
が抽出する各セクションの情報に基づいて、最終的に複
合実行形式ファイル24において内部構成情報50とな
る情報を生成する。また、ヘッダ情報構成部は、セクシ
ョン結合部144から、各モジュールのテキストセクシ
ョン及び初期化データセクションを配置する保存用記憶
デバイス上でのアドレスを取得し、上述した内部構成情
報50となる情報に追加する。これにより、最終的に生
成される複合実行形式ファイル24は、この内部構成情
報50を参照されることで、保存用記憶デバイス上での
各モジュールが位置するアドレスや、各モジュールを保
存用記憶デバイスから実行用記憶デバイスにコピーする
際のアドレス等を示すことができるようになる。
【0149】複合実行形式ファイル出力部146は、セ
クション結合部144で結合された各セクションと、ヘ
ッダ情報構成部145で生成された内部構成情報50と
を結合し、複合実行形式ファイル24として出力する。
このとき、複合実行ファイル出力部146は、ROM化
情報25から得た保存デバイス名81に基づいて、複合
実行ファイル24を最終的に実行プログラムとして書き
込む保存用記憶デバイスに応じて最適な形式で、複合実
行形式ファイル24を出力する。具体的には、例えば、
バイナリ形式に限らず、いわゆるモトローラSレコード
形式やインテルヘキサ形式等で複合実行形式ファイル2
4を出力してもよい。
クション結合部144で結合された各セクションと、ヘ
ッダ情報構成部145で生成された内部構成情報50と
を結合し、複合実行形式ファイル24として出力する。
このとき、複合実行ファイル出力部146は、ROM化
情報25から得た保存デバイス名81に基づいて、複合
実行ファイル24を最終的に実行プログラムとして書き
込む保存用記憶デバイスに応じて最適な形式で、複合実
行形式ファイル24を出力する。具体的には、例えば、
バイナリ形式に限らず、いわゆるモトローラSレコード
形式やインテルヘキサ形式等で複合実行形式ファイル2
4を出力してもよい。
【0150】ブート情報生成部147は、ROM化情報
25及びセクション結合部144から、各モジュールの
実行アドレスと実行時のサイズとを取得するとともに、
ヘッダ情報構成部145から各モジュールのモジュール
名を取得し、これら取得した情報に基づいて、最終的に
ブートプログラム27のコピーブロック情報群91とな
る情報を生成する。
25及びセクション結合部144から、各モジュールの
実行アドレスと実行時のサイズとを取得するとともに、
ヘッダ情報構成部145から各モジュールのモジュール
名を取得し、これら取得した情報に基づいて、最終的に
ブートプログラム27のコピーブロック情報群91とな
る情報を生成する。
【0151】すなわち、ブート情報生成部147は、ヘ
ッダ情報構成部145から取得したモジュール名に基づ
いてROM化情報25を検索し、このモジュール名と一
致するモジュール名80に関する保存デバイス名81と
実行デバイス名82とが異なっている場合に、このモジ
ュールはコピーが必要であると判断する。そして、ブー
ト情報生成部147は、複合実行形式ファイル出力部1
46から取得したモジュールの保存アドレス及び保存サ
イズと、セクション結合部144から取得したモジュー
ルの実行アドレス及び実行時サイズとを、それぞれ、コ
ピー元アドレス96、コピー元サイズ97、コピー先ア
ドレス98、コピー先サイズ99として、このモジュー
ルに対応したコピーブロック情報95を生成する。ブー
ト情報生成部147は、モジュール毎に生成したコピー
ブロック情報95を結合して、コピーブロック情報群9
1を生成する。
ッダ情報構成部145から取得したモジュール名に基づ
いてROM化情報25を検索し、このモジュール名と一
致するモジュール名80に関する保存デバイス名81と
実行デバイス名82とが異なっている場合に、このモジ
ュールはコピーが必要であると判断する。そして、ブー
ト情報生成部147は、複合実行形式ファイル出力部1
46から取得したモジュールの保存アドレス及び保存サ
イズと、セクション結合部144から取得したモジュー
ルの実行アドレス及び実行時サイズとを、それぞれ、コ
ピー元アドレス96、コピー元サイズ97、コピー先ア
ドレス98、コピー先サイズ99として、このモジュー
ルに対応したコピーブロック情報95を生成する。ブー
ト情報生成部147は、モジュール毎に生成したコピー
ブロック情報95を結合して、コピーブロック情報群9
1を生成する。
【0152】なお、ブート情報生成部147は、ヘッダ
情報構成部145から取得したモジュール名に対応した
ROM化情報25の保存デバイス名81と実行デバイス
名82とが同一であった場合に、このモジュールはコピ
ーが必要でないと判断する。そして、このモジュールに
関するコピーブロック情報95に対して、コピー元サイ
ズ97に無効な値を入力したり、コピー先アドレス98
に「0」を入力したりする。
情報構成部145から取得したモジュール名に対応した
ROM化情報25の保存デバイス名81と実行デバイス
名82とが同一であった場合に、このモジュールはコピ
ーが必要でないと判断する。そして、このモジュールに
関するコピーブロック情報95に対して、コピー元サイ
ズ97に無効な値を入力したり、コピー先アドレス98
に「0」を入力したりする。
【0153】ブートプログラム生成部148は、実行フ
ァイルのブート時に演算装置によって保存用記憶デバイ
ス上から初めに読み込まれるアドレスに、ブートプログ
ラム26を再配置して、ブートコード90とし、ブート
情報生成部147で生成されたコピーブロック情報群9
1と結合して、ブートプログラム27を生成する。ま
た、ブートプログラム生成部148は、ヘッダ情報構成
部145から得たモジュール名から初期化プログラムを
検出し、この初期化プログラムの実行開始アドレスを、
実行開始アドレス92としてブートプログラム27に追
加する。また、ブートプログラム生成部148は、複合
実行形式ファイル24の内部構成情報50が配置された
アドレスを複合実行形式ファイル出力部146から得
て、内部構成情報アドレス93としてブートプログラム
27に追加する。
ァイルのブート時に演算装置によって保存用記憶デバイ
ス上から初めに読み込まれるアドレスに、ブートプログ
ラム26を再配置して、ブートコード90とし、ブート
情報生成部147で生成されたコピーブロック情報群9
1と結合して、ブートプログラム27を生成する。ま
た、ブートプログラム生成部148は、ヘッダ情報構成
部145から得たモジュール名から初期化プログラムを
検出し、この初期化プログラムの実行開始アドレスを、
実行開始アドレス92としてブートプログラム27に追
加する。また、ブートプログラム生成部148は、複合
実行形式ファイル24の内部構成情報50が配置された
アドレスを複合実行形式ファイル出力部146から得
て、内部構成情報アドレス93としてブートプログラム
27に追加する。
【0154】つぎに、複合実行形式ファイル作成部22
を、図14に示すような構成とする場合について、この
図14を参照しながら説明する。なお、以下の説明にお
いては、上述したように図13に示す構成とした場合と
同一又は同等の部分に関する説明を省略し、図14にお
いては図13と同じ符号を付すこととする。
を、図14に示すような構成とする場合について、この
図14を参照しながら説明する。なお、以下の説明にお
いては、上述したように図13に示す構成とした場合と
同一又は同等の部分に関する説明を省略し、図14にお
いては図13と同じ符号を付すこととする。
【0155】この場合の複合実行形式ファイル作成部2
2は、結合順序決定部140で決定された結合順序情報
をファイル入力部141で利用せず、ヘッダ情報構成部
145とセクション結合部144で利用する。
2は、結合順序決定部140で決定された結合順序情報
をファイル入力部141で利用せず、ヘッダ情報構成部
145とセクション結合部144で利用する。
【0156】ファイル入力部141は、複合実行形式フ
ァイル情報21に基づいて、複数の実行形式ファイル2
0及び初期化プログラム23を読み込む。テキストセク
ション抽出部142は、ファイル入力部141から複数
の実行形式ファイル20及び初期化プログラム23を受
け取り、それぞれの内部構成に関する情報を解析してテ
キストセクションを取り出し、蓄積する。また、データ
セクション抽出部143は、同様に、ファイル入力部1
41から複数の実行形式ファイル20及び初期化プログ
ラム23を受け取り、それぞれの内部構成に関する情報
を解析して初期化データセクションを取り出し、蓄積す
る。
ァイル情報21に基づいて、複数の実行形式ファイル2
0及び初期化プログラム23を読み込む。テキストセク
ション抽出部142は、ファイル入力部141から複数
の実行形式ファイル20及び初期化プログラム23を受
け取り、それぞれの内部構成に関する情報を解析してテ
キストセクションを取り出し、蓄積する。また、データ
セクション抽出部143は、同様に、ファイル入力部1
41から複数の実行形式ファイル20及び初期化プログ
ラム23を受け取り、それぞれの内部構成に関する情報
を解析して初期化データセクションを取り出し、蓄積す
る。
【0157】テキストセクション抽出部142、データ
セクション抽出部143及びヘッダ情報構成部145
は、複数の実行形式ファイル20及び初期化プログラム
23に対応した各セクションの情報や、これら複数の実
行形式ファイル20及び初期化プログラム23の内部構
成に関する情報を、ファイル入力部141から取得し、
それぞれ保持している。
セクション抽出部143及びヘッダ情報構成部145
は、複数の実行形式ファイル20及び初期化プログラム
23に対応した各セクションの情報や、これら複数の実
行形式ファイル20及び初期化プログラム23の内部構
成に関する情報を、ファイル入力部141から取得し、
それぞれ保持している。
【0158】セクション結合部144は、結合順序決定
部140から結合順序情報を取得し、この結合順序情報
に基づいて、テキストセクション抽出部142及びデー
タセクション抽出部143から出力される各セクション
を結合する。
部140から結合順序情報を取得し、この結合順序情報
に基づいて、テキストセクション抽出部142及びデー
タセクション抽出部143から出力される各セクション
を結合する。
【0159】ヘッダ情報構成部145は、複数の実行形
式ファイル20の各内部構成に関する情報をファイル入
力部141から受け取るとともに、結合順序決定部14
0から取得した結合順序情報に基づいて、内部構成情報
50を生成する。
式ファイル20の各内部構成に関する情報をファイル入
力部141から受け取るとともに、結合順序決定部14
0から取得した結合順序情報に基づいて、内部構成情報
50を生成する。
【0160】つぎに、図1に示したソフトウエア開発シ
ステムを提供するソフトウエア開発装置について説明す
る。
ステムを提供するソフトウエア開発装置について説明す
る。
【0161】ソフトウエア開発装置は、図15に示すよ
うに、様々な入出力作業を行うシステム設定部150
と、このシステム設定部150に対して様々な指示を与
える入力部151と、このシステム設定部150から出
力される様々な情報を表示する表示部152とを備え
る。また、システム設定部150には、システム情報1
53と、記憶デバイス情報154と、優先順位情報15
5と、モジュールサイズ情報156とが用意され、この
システム設定部150で利用される。
うに、様々な入出力作業を行うシステム設定部150
と、このシステム設定部150に対して様々な指示を与
える入力部151と、このシステム設定部150から出
力される様々な情報を表示する表示部152とを備え
る。また、システム設定部150には、システム情報1
53と、記憶デバイス情報154と、優先順位情報15
5と、モジュールサイズ情報156とが用意され、この
システム設定部150で利用される。
【0162】ソフトウエア開発装置は、これらシステム
情報153、記憶デバイス情報154,優先順位情報1
55及びモジュールサイズ情報156に基づき、ユーザ
ー入力された指示に応じて、図1に示したソフトウエア
開発システムで用いるコンパイル情報12、リンク情報
17、複合実行形式ファイル情報21及びROM化情報
25を出力する装置である。
情報153、記憶デバイス情報154,優先順位情報1
55及びモジュールサイズ情報156に基づき、ユーザ
ー入力された指示に応じて、図1に示したソフトウエア
開発システムで用いるコンパイル情報12、リンク情報
17、複合実行形式ファイル情報21及びROM化情報
25を出力する装置である。
【0163】表示部151は、例えば、各種ディスプレ
イ装置やプリンタ装置等であり、システム設定部150
から出力される各種情報をユーザーに対して表示する機
能を有している。入力部152は、例えば、キーボー
ド、マウス、タブレット等であり、システム設定部15
0に対してユーザーからの各種の指示を入力する機能を
有している。
イ装置やプリンタ装置等であり、システム設定部150
から出力される各種情報をユーザーに対して表示する機
能を有している。入力部152は、例えば、キーボー
ド、マウス、タブレット等であり、システム設定部15
0に対してユーザーからの各種の指示を入力する機能を
有している。
【0164】システム情報153は、このソフトウエア
開発装置がターゲットとすることができるハードウエア
に関する情報や、対応することができるコンパイラ1
3、リンカ18等のソフトウエアに関する情報を保持し
ている。
開発装置がターゲットとすることができるハードウエア
に関する情報や、対応することができるコンパイラ1
3、リンカ18等のソフトウエアに関する情報を保持し
ている。
【0165】記憶デバイス情報154は、ターゲットと
する組込み用ソフトウエアシステムにに存在する各種記
憶デバイスに関する情報を保持している。記憶デバイス
情報154は、例えば、図16に示すように、記憶デバ
イス名160と、アドレス161と、サイズ162とに
より構成される。記憶デバイス名160は、組込み用ソ
フトウエアシステムで用いられる各記憶デバイスの識別
名である。アドレス161は、記憶デバイス名160が
示す記憶デバイスのメモリ空間上の先頭アドレスであ
る。サイズ162は、記憶デバイス名160が示す記憶
デバイスのメモリ空間のサイズである。
する組込み用ソフトウエアシステムにに存在する各種記
憶デバイスに関する情報を保持している。記憶デバイス
情報154は、例えば、図16に示すように、記憶デバ
イス名160と、アドレス161と、サイズ162とに
より構成される。記憶デバイス名160は、組込み用ソ
フトウエアシステムで用いられる各記憶デバイスの識別
名である。アドレス161は、記憶デバイス名160が
示す記憶デバイスのメモリ空間上の先頭アドレスであ
る。サイズ162は、記憶デバイス名160が示す記憶
デバイスのメモリ空間のサイズである。
【0166】記憶デバイス情報154は、これら記憶デ
バイス名160と、アドレス161と、サイズ162と
を、組込み用ソフトウエアシステムで用いられる記憶デ
バイスの数に応じて、複数有している。
バイス名160と、アドレス161と、サイズ162と
を、組込み用ソフトウエアシステムで用いられる記憶デ
バイスの数に応じて、複数有している。
【0167】また、記憶デバイス情報154は、図17
に示すように、上述した記憶デバイス名160、アドレ
ス161及びサイズ162に加えて、不揮発性情報16
3、書き込み性情報164、アクセス速度165等の情
報を備えて構成されてもよい。不揮発性情報163は、
記憶デバイス名160が示す記憶デバイスが通電されて
いない場合に記憶を保持できるか否かを示す。書き込み
性情報164は、記憶デバイス名160が示す記憶デバ
イスが書き込み可能であるか否かを示す。アクセス速度
165は、記憶デバイス名160が示す記憶デバイスの
アクセス速度を示す。
に示すように、上述した記憶デバイス名160、アドレ
ス161及びサイズ162に加えて、不揮発性情報16
3、書き込み性情報164、アクセス速度165等の情
報を備えて構成されてもよい。不揮発性情報163は、
記憶デバイス名160が示す記憶デバイスが通電されて
いない場合に記憶を保持できるか否かを示す。書き込み
性情報164は、記憶デバイス名160が示す記憶デバ
イスが書き込み可能であるか否かを示す。アクセス速度
165は、記憶デバイス名160が示す記憶デバイスの
アクセス速度を示す。
【0168】優先順位情報155は、図1で示したソフ
トウエア開発システムにおいて、各実行形式ファイル2
0に割り当てる記憶デバイスに関する情報を保持してい
る。優先順位情報155は、例えば、図18に示すよう
に、モジュール名170と、実行形式ファイル名171
と、優先順位172とにより構成される。モジュール名
170は、実行形式ファイル20の内部構成情報に含ま
れるモジュール名に相当し、各実行形式ファイル20に
含まれるモジュールの識別名である。実行形式ファイル
名171は、モジュール名170が示すモジュールを含
む実行形式ファイル20のファイル名である。優先順位
172は、モジュール名170が示すモジュールを、組
込み用ソフトウエアシステムで動作させるべき優先順位
である。
トウエア開発システムにおいて、各実行形式ファイル2
0に割り当てる記憶デバイスに関する情報を保持してい
る。優先順位情報155は、例えば、図18に示すよう
に、モジュール名170と、実行形式ファイル名171
と、優先順位172とにより構成される。モジュール名
170は、実行形式ファイル20の内部構成情報に含ま
れるモジュール名に相当し、各実行形式ファイル20に
含まれるモジュールの識別名である。実行形式ファイル
名171は、モジュール名170が示すモジュールを含
む実行形式ファイル20のファイル名である。優先順位
172は、モジュール名170が示すモジュールを、組
込み用ソフトウエアシステムで動作させるべき優先順位
である。
【0169】優先順位情報155は、上述したモジュー
ル名170、実行形式ファイル名171及び優先順位1
72を、少なくとも組込み用ソフトウエアシステムに組
み込むモジュールの数に応じて、複数有している。
ル名170、実行形式ファイル名171及び優先順位1
72を、少なくとも組込み用ソフトウエアシステムに組
み込むモジュールの数に応じて、複数有している。
【0170】モジュールサイズ情報156は、各実行形
式ファイル20のテキストセクション、初期化データセ
クション、初期化不要データセクション等のサイズを保
持している。このモジュールサイズ情報156は、図1
で示したソフトウエア開発システムにおける複合実行形
式ファイル作成部22によって、各実行形式ファイル2
0の各セクションのサイズを計算することにより、変更
される場合がある。
式ファイル20のテキストセクション、初期化データセ
クション、初期化不要データセクション等のサイズを保
持している。このモジュールサイズ情報156は、図1
で示したソフトウエア開発システムにおける複合実行形
式ファイル作成部22によって、各実行形式ファイル2
0の各セクションのサイズを計算することにより、変更
される場合がある。
【0171】モジュールサイズ情報156は、具体的に
は、例えば図19に示すように、モジュール名180
と、テキストサイズ181と、初期化データサイズ18
2と、初期化不要データサイズ183とにより構成され
ている。モジュール名180は、実行形式ファイル20
の内部構成情報に含まれるモジュール名に相当し、各実
行形式ファイル20に含まれるモジュールの識別名であ
る。テキストサイズ181、初期化データサイズ182
及び初期化不要データサイズ183は、それぞれ、モジ
ュール名180が示すモジュールを含む実行形式ファイ
ル20のテキストセクション、初期化データセクション
及び初期化不要データセクションのサイズである。
は、例えば図19に示すように、モジュール名180
と、テキストサイズ181と、初期化データサイズ18
2と、初期化不要データサイズ183とにより構成され
ている。モジュール名180は、実行形式ファイル20
の内部構成情報に含まれるモジュール名に相当し、各実
行形式ファイル20に含まれるモジュールの識別名であ
る。テキストサイズ181、初期化データサイズ182
及び初期化不要データサイズ183は、それぞれ、モジ
ュール名180が示すモジュールを含む実行形式ファイ
ル20のテキストセクション、初期化データセクション
及び初期化不要データセクションのサイズである。
【0172】モジュールサイズ情報156は、モジュー
ル名180が示すモジュールが、どの程度のメモリ容量
を必要とするかを示している。すなわち、モジュール名
180が示すモジュールを、演算装置によって保存用記
憶デバイス上で直接実行する場合には、保存用記憶デバ
イス上にテキストサイズ181と初期化データサイズ1
82と初期化不要データサイズ183とを合計した分の
メモリ容量が必要となる。また、このモジュールを、実
行用記憶デバイス上にコピーして実行する場合には、保
存用記憶デバイス上でのメモリ容量の他に、そ実行用の
記憶デバイス上に、初期化データサイズ182と初期化
不要データサイズ183とを合計した分のメモリ容量が
必要となる。さらに、このモジュールを、さらに高速に
実行する場合には、コピーした実行用記憶デバイス上
に、上述した分に加えてテキストサイズ181を合計し
た分のメモリ容量が必要となる。
ル名180が示すモジュールが、どの程度のメモリ容量
を必要とするかを示している。すなわち、モジュール名
180が示すモジュールを、演算装置によって保存用記
憶デバイス上で直接実行する場合には、保存用記憶デバ
イス上にテキストサイズ181と初期化データサイズ1
82と初期化不要データサイズ183とを合計した分の
メモリ容量が必要となる。また、このモジュールを、実
行用記憶デバイス上にコピーして実行する場合には、保
存用記憶デバイス上でのメモリ容量の他に、そ実行用の
記憶デバイス上に、初期化データサイズ182と初期化
不要データサイズ183とを合計した分のメモリ容量が
必要となる。さらに、このモジュールを、さらに高速に
実行する場合には、コピーした実行用記憶デバイス上
に、上述した分に加えてテキストサイズ181を合計し
た分のメモリ容量が必要となる。
【0173】モジュールサイズ情報156は、上述した
モジュール名180、テキストサイズ181、初期化デ
ータサイズ182及び初期化不要データサイズ183
を、少なくとも組込み用ソフトウエアシステムに組み込
むモジュールの数に応じて、複数有している。
モジュール名180、テキストサイズ181、初期化デ
ータサイズ182及び初期化不要データサイズ183
を、少なくとも組込み用ソフトウエアシステムに組み込
むモジュールの数に応じて、複数有している。
【0174】なお、上述したシステム情報153、記憶
デバイス情報154、優先順位情報155及びモジュー
ルサイズ情報156は、それぞれ、ソフトウエア開発装
置に予め備えられる情報であってもよいし、例えば、各
種記録媒体等を介してファイル等の形で、外部から入力
される情報であってもよい。
デバイス情報154、優先順位情報155及びモジュー
ルサイズ情報156は、それぞれ、ソフトウエア開発装
置に予め備えられる情報であってもよいし、例えば、各
種記録媒体等を介してファイル等の形で、外部から入力
される情報であってもよい。
【0175】システム設定部150は、システム情報1
53を読み込み、このシステム情報150に基づいて、
このソフトウエア開発装置に関する情報を表示部151
に表示する。また、システム設定部150は、表示部1
51に表示した情報に基づくユーザーからの指示を、入
力部152を介して取得する。
53を読み込み、このシステム情報150に基づいて、
このソフトウエア開発装置に関する情報を表示部151
に表示する。また、システム設定部150は、表示部1
51に表示した情報に基づくユーザーからの指示を、入
力部152を介して取得する。
【0176】また、システム設定部150は、同様に、
記憶デバイス情報154、優先順位情報155及びモジ
ュールサイズ情報156を読み込み、これら各種情報を
表示部151に表示し、表示した情報に基づくユーザー
からの指示を入力部152を介して取得する。
記憶デバイス情報154、優先順位情報155及びモジ
ュールサイズ情報156を読み込み、これら各種情報を
表示部151に表示し、表示した情報に基づくユーザー
からの指示を入力部152を介して取得する。
【0177】つぎに、上述したソフトウエア開発装置を
用いたソフトウエア開発におけるシステム設定手順の一
例を、図20を参照しながら説明する。
用いたソフトウエア開発におけるシステム設定手順の一
例を、図20を参照しながら説明する。
【0178】ステップS190において、ソフトウエア
開発装置を起動し、ソフトウエア開発手順を開始する。
開発装置を起動し、ソフトウエア開発手順を開始する。
【0179】ステップS191において、システム設定
部150は、システム情報153を読み込む。
部150は、システム情報153を読み込む。
【0180】ステップS192において、システム設定
部150は、システム情報153を参照して、サポート
している組込み用ソフトウエアシステムのハードウエア
に関する情報を得る。システム設定部150は、複数の
組込み用ソフトウエアシステムをサポートしている場合
には表示部151にターゲットとする組込み用ソフトウ
エアシステムの選択肢を表示する。このとき、ユーザー
は、表示部151に表示された選択肢を、入力部152
を用いて選択する。
部150は、システム情報153を参照して、サポート
している組込み用ソフトウエアシステムのハードウエア
に関する情報を得る。システム設定部150は、複数の
組込み用ソフトウエアシステムをサポートしている場合
には表示部151にターゲットとする組込み用ソフトウ
エアシステムの選択肢を表示する。このとき、ユーザー
は、表示部151に表示された選択肢を、入力部152
を用いて選択する。
【0181】ステップS193において、システム設定
部150は、システム情報153を参照して、各モジュ
ールに関する情報を得る。システム設定部150は、選
択可能であるモジュールの選択肢を、表示部151に表
示する。このとき、ユーザーは、表示部151に表示さ
れた選択肢を、ステップS192と同様に、入力部15
2を用いて選択する。システム設定部150は、記憶デ
バイス情報154及びモジュールサイズ情報156を参
照して、ユーザーによって選択されたモジュールの保存
用記憶デバイスを決定し、その決定結果を表示部151
に表示する。ユーザーは、表示された結果を確認し、必
要があれば、入力部152を用いて修正を行う。
部150は、システム情報153を参照して、各モジュ
ールに関する情報を得る。システム設定部150は、選
択可能であるモジュールの選択肢を、表示部151に表
示する。このとき、ユーザーは、表示部151に表示さ
れた選択肢を、ステップS192と同様に、入力部15
2を用いて選択する。システム設定部150は、記憶デ
バイス情報154及びモジュールサイズ情報156を参
照して、ユーザーによって選択されたモジュールの保存
用記憶デバイスを決定し、その決定結果を表示部151
に表示する。ユーザーは、表示された結果を確認し、必
要があれば、入力部152を用いて修正を行う。
【0182】ステップS194において、システム設定
部150は、記憶デバイス情報154、優先順位情報1
55及びモジュールサイズ情報156に基づいて、選択
された各モジュールの実行用記憶デバイスを決定して、
その結果を表示部151に表示する。ユーザーは、ステ
ップS193と同様に、表示された結果を確認し、必要
があれば入力部152を用いて修正を行う。このステッ
プS194については、詳細を後述することとする。
部150は、記憶デバイス情報154、優先順位情報1
55及びモジュールサイズ情報156に基づいて、選択
された各モジュールの実行用記憶デバイスを決定して、
その結果を表示部151に表示する。ユーザーは、ステ
ップS193と同様に、表示された結果を確認し、必要
があれば入力部152を用いて修正を行う。このステッ
プS194については、詳細を後述することとする。
【0183】ステップS195において、システム設定
部150は、ステップS192でのユーザーの選択結果
に基づいて、コンパイル情報12とリンク情報17とを
出力する。
部150は、ステップS192でのユーザーの選択結果
に基づいて、コンパイル情報12とリンク情報17とを
出力する。
【0184】ステップS196において、システム設定
部150は、ステップS193でのユーザーの選択結果
に基づいて、複合実行形式ファイル情報21を出力す
る。
部150は、ステップS193でのユーザーの選択結果
に基づいて、複合実行形式ファイル情報21を出力す
る。
【0185】ステップS197において、システム設定
部150は、ステップS194でのユーザーの選択結果
に基づいて、ROM化情報25を出力する。
部150は、ステップS194でのユーザーの選択結果
に基づいて、ROM化情報25を出力する。
【0186】ステップS198において、システム設定
部150は、その動作を停止し、システム設定手順を終
了する。
部150は、その動作を停止し、システム設定手順を終
了する。
【0187】以下では、上述したステップS194につ
いて、図21を参照しながら詳細に説明する。
いて、図21を参照しながら詳細に説明する。
【0188】ステップS200において、システム設定
部150は、上述したステップS194を開始する。
部150は、上述したステップS194を開始する。
【0189】ステップS201において、システム設定
部150は、記憶デバイス情報154を読み込む。
部150は、記憶デバイス情報154を読み込む。
【0190】ステップS202において、システム設定
部150は、記憶デバイス情報154を参照して、各々
の記憶デバイスが利用可能なメモリ空間の量を、サイズ
162から得る。
部150は、記憶デバイス情報154を参照して、各々
の記憶デバイスが利用可能なメモリ空間の量を、サイズ
162から得る。
【0191】ステップS203において、システム設定
部150は、優先順位情報155を読み込む。
部150は、優先順位情報155を読み込む。
【0192】ステップS204において、システム設定
部150は、モジュールサイズ情報156を読み込む。
部150は、モジュールサイズ情報156を読み込む。
【0193】ステップS205において、システム設定
部150は、優先順位情報155とモジュールサイズ情
報156とに基づいて、例えばRAM等の高速な実行環
境を有する実行用記憶デバイスのメモリ容量に収まると
ともに、この実行用記憶デバイス上で実行させるモジュ
ールを選択する。このステップS205については、詳
細を後述する。
部150は、優先順位情報155とモジュールサイズ情
報156とに基づいて、例えばRAM等の高速な実行環
境を有する実行用記憶デバイスのメモリ容量に収まると
ともに、この実行用記憶デバイス上で実行させるモジュ
ールを選択する。このステップS205については、詳
細を後述する。
【0194】ステップS206において、システム設定
部150は、上述したステップS205で選択した結果
を表示部151に表示する。
部150は、上述したステップS205で選択した結果
を表示部151に表示する。
【0195】ステップS207において、システム設定
部150は、表示結果に対するユーザーからの入力を待
つ。そして、システム設定部150は、ユーザーが表示
結果に満足せず、入力部152から再度選択しなおす要
求が入力された場合に、処理をステップS208に進め
る。また、システム設定部150は、表示結果に対する
了承がユーザーによって入力部152から入力された場
合に、処理をステップS209に進める。
部150は、表示結果に対するユーザーからの入力を待
つ。そして、システム設定部150は、ユーザーが表示
結果に満足せず、入力部152から再度選択しなおす要
求が入力された場合に、処理をステップS208に進め
る。また、システム設定部150は、表示結果に対する
了承がユーザーによって入力部152から入力された場
合に、処理をステップS209に進める。
【0196】ステップS208において、システム設定
部150は、ユーザーによる指示に従い、実行用記憶デ
バイス上で実行させるモジュールを変更し、処理をステ
ップS206に進める。
部150は、ユーザーによる指示に従い、実行用記憶デ
バイス上で実行させるモジュールを変更し、処理をステ
ップS206に進める。
【0197】ステップS209において、システム設定
部150は、ステップS194の処理を終了し、上述し
たステップS195に処理を進める。
部150は、ステップS194の処理を終了し、上述し
たステップS195に処理を進める。
【0198】このステップS194において、ユーザー
によって高速な実行環境を有する実行用記憶デバイス上
で実行する選択がなされなかったモジュールは、実行用
記憶デバイス上にコピーされずに、例えばROM等の保
存用記憶デバイスに書き込まれたままで、この保存用記
憶デバイス上で演算装置によって直接実行されることと
なる。
によって高速な実行環境を有する実行用記憶デバイス上
で実行する選択がなされなかったモジュールは、実行用
記憶デバイス上にコピーされずに、例えばROM等の保
存用記憶デバイスに書き込まれたままで、この保存用記
憶デバイス上で演算装置によって直接実行されることと
なる。
【0199】また、上述したステップS194の説明に
おいては、ステップS207でユーザーによる指示を待
つとしたが、例えば、実行用記憶デバイス上で実行させ
ると決定されたモジュールがユーザーによって変更不可
能であるとしてもよい。これにより、ユーザーの入力作
業が軽減できる。
おいては、ステップS207でユーザーによる指示を待
つとしたが、例えば、実行用記憶デバイス上で実行させ
ると決定されたモジュールがユーザーによって変更不可
能であるとしてもよい。これにより、ユーザーの入力作
業が軽減できる。
【0200】以下では、上述したステップS205につ
いて、図22を参照しながら詳細に説明する。
いて、図22を参照しながら詳細に説明する。
【0201】ステップS210において、システム設定
部150は、ステップS205の処理を開始する。
部150は、ステップS205の処理を開始する。
【0202】ステップS211において、システム設定
部150は、実行用記憶デバイス上で実行させるモジュ
ールの選択状態をクリアする。
部150は、実行用記憶デバイス上で実行させるモジュ
ールの選択状態をクリアする。
【0203】ステップS212において、システム設定
部150は、優先順位情報155中の優先順位172の
中で、最高の優先度を有するモジュールを、この実行用
記憶デバイス上で実行させるモジュールの候補対象とす
る。
部150は、優先順位情報155中の優先順位172の
中で、最高の優先度を有するモジュールを、この実行用
記憶デバイス上で実行させるモジュールの候補対象とす
る。
【0204】ステップS213において、システム設定
部150は、モジュールサイズ情報156を参照して、
ステップS212で候補対象としたモジュールのテキス
トサイズ181、初期化データサイズ182、初期化不
要データサイズ183等を加算して、実行用記憶デバイ
ス上での実行時に必要なメモリ容量を求める。
部150は、モジュールサイズ情報156を参照して、
ステップS212で候補対象としたモジュールのテキス
トサイズ181、初期化データサイズ182、初期化不
要データサイズ183等を加算して、実行用記憶デバイ
ス上での実行時に必要なメモリ容量を求める。
【0205】ステップS214において、システム設定
部150は、ステップS213で求めた実行時に必要な
メモリ容量と、記憶デバイス情報154中のサイズ16
2とを比較して、この実行用記憶デバイスに候補対象の
モジュールが収まるか否かを判断する。システム設定部
150は、収まると判断した場合にステップS215に
処理を進め、収まらないと判断した場合に、ステップS
217に処理を進める。
部150は、ステップS213で求めた実行時に必要な
メモリ容量と、記憶デバイス情報154中のサイズ16
2とを比較して、この実行用記憶デバイスに候補対象の
モジュールが収まるか否かを判断する。システム設定部
150は、収まると判断した場合にステップS215に
処理を進め、収まらないと判断した場合に、ステップS
217に処理を進める。
【0206】ステップS215において、システム設定
部150は、候補対象のモジュールを、実行用記憶デバ
イス上で実行させるモジュールとして選択する。
部150は、候補対象のモジュールを、実行用記憶デバ
イス上で実行させるモジュールとして選択する。
【0207】ステップS216において、システム設定
部150は、次に優先度の高いモジュールを候補対象と
して、ステップS213に処理を進める。
部150は、次に優先度の高いモジュールを候補対象と
して、ステップS213に処理を進める。
【0208】ステップS217において、システム設定
部150は、ステップS205の処理を終了し、上述し
たステップS206に処理を進める。
部150は、ステップS205の処理を終了し、上述し
たステップS206に処理を進める。
【0209】次に、上述したステップS194の別の例
を図23を参照しながら詳細に説明する。
を図23を参照しながら詳細に説明する。
【0210】ステップS220において、システム設定
部150は、ステップS194の処理を開始する。
部150は、ステップS194の処理を開始する。
【0211】ステップS221において、システム設定
部150は、優先順位情報155を読み込む。
部150は、優先順位情報155を読み込む。
【0212】ステップS222において、システム設定
部150は、優先順位情報155に基づいて、実行用記
憶デバイス上で実行させるモジュールを選択する。
部150は、優先順位情報155に基づいて、実行用記
憶デバイス上で実行させるモジュールを選択する。
【0213】ステップS223において、システム設定
部150は、ステップS222で選択した結果を表示部
151に表示する。
部150は、ステップS222で選択した結果を表示部
151に表示する。
【0214】ステップS224において、システム設定
部150は、表示結果に対するユーザーからの入力を待
つ。そして、システム設定部150は、ユーザーが表示
結果に満足せず、入力部152から再度選択しなおす要
求が入力された場合に、処理をステップS225に進め
る。また、システム設定部150は、表示結果に対する
了承がユーザーによって入力部152から入力された場
合に、処理をステップS226に進める。
部150は、表示結果に対するユーザーからの入力を待
つ。そして、システム設定部150は、ユーザーが表示
結果に満足せず、入力部152から再度選択しなおす要
求が入力された場合に、処理をステップS225に進め
る。また、システム設定部150は、表示結果に対する
了承がユーザーによって入力部152から入力された場
合に、処理をステップS226に進める。
【0215】ステップS225において、システム設定
部150は、ユーザーによる指示に従い、実行用記憶デ
バイス上で実行させるモジュールを変更し、処理を捨て
ぷS223に進める。
部150は、ユーザーによる指示に従い、実行用記憶デ
バイス上で実行させるモジュールを変更し、処理を捨て
ぷS223に進める。
【0216】ステップS226において、システム設定
部150は、ステップS194の処理を終了し、上述し
たステップS195に処理を進める。
部150は、ステップS194の処理を終了し、上述し
たステップS195に処理を進める。
【0217】このステップS194において、ユーザー
によって実行用記憶デバイス上で実行する選択がなされ
なかったモジュールは、実行用記憶デバイスにコピーさ
れずに、保存用記憶デバイスに書き込まれたままで、こ
の保存用記憶デバイス上で演算装置によって直接実行さ
れることとなる。
によって実行用記憶デバイス上で実行する選択がなされ
なかったモジュールは、実行用記憶デバイスにコピーさ
れずに、保存用記憶デバイスに書き込まれたままで、こ
の保存用記憶デバイス上で演算装置によって直接実行さ
れることとなる。
【0218】また、上述したステップS194の説明に
おいては、ステップS224でユーザーによる指示を待
つとしたが、例えば、実行用記憶デバイス上で実行させ
ると決定されたモジュールがユーザーによって変更不可
能であるとしてもよい。これにより、ユーザーの入力作
業が軽減できる。
おいては、ステップS224でユーザーによる指示を待
つとしたが、例えば、実行用記憶デバイス上で実行させ
ると決定されたモジュールがユーザーによって変更不可
能であるとしてもよい。これにより、ユーザーの入力作
業が軽減できる。
【0219】図23に示した手順では、各モジュールが
実行用記憶デバイス上でのメモリ容量が考慮されていな
いため、最終的に生成される複合実行形式ファイル24
が必ずしも問題なく実行できるとは限らない。しかしな
がら、この手順によれば、ソフトウエア開発装置がモジ
ュールサイズ情報156を備えない場合であっても、優
先順位情報155のみに基づいて、実行用記憶デバイス
上で実行させるモジュールを選択することができる。
実行用記憶デバイス上でのメモリ容量が考慮されていな
いため、最終的に生成される複合実行形式ファイル24
が必ずしも問題なく実行できるとは限らない。しかしな
がら、この手順によれば、ソフトウエア開発装置がモジ
ュールサイズ情報156を備えない場合であっても、優
先順位情報155のみに基づいて、実行用記憶デバイス
上で実行させるモジュールを選択することができる。
【0220】つぎに、図21で示したステップS206
又は図23で示したステップS223における表示部1
51での表示の一例を、図24を参照しながら説明す
る。図24に示す例では、表示部151の画面上に、保
存用記憶デバイスに組み込む複合実行形式ファイル24
に含めるモジュールが3つ表示されている。図24にお
いて、表示部151の画面上には、第1のモジュール、
第2のモジュール及び第3のモジュールがそれぞれ、表
示位置230、表示位置231及び表示位置232に表
示されており、各モジュールの優先度が表示位置23
3、表示位置234、表示位置235に表示されてい
る。また、各モジュールに対応して、ボタン236、ボ
タン237及びボタン238が表示されている。ユーザ
ーは、例えばマウス等の入力部152を介して、各ボタ
ンを押下することによって、各モジュールの選択状態と
非選択状態とを選択する。なお、図21において、ボタ
ン236及びボタン237は選択状態を示し、ボタン2
38は、非選択状態を示す。
又は図23で示したステップS223における表示部1
51での表示の一例を、図24を参照しながら説明す
る。図24に示す例では、表示部151の画面上に、保
存用記憶デバイスに組み込む複合実行形式ファイル24
に含めるモジュールが3つ表示されている。図24にお
いて、表示部151の画面上には、第1のモジュール、
第2のモジュール及び第3のモジュールがそれぞれ、表
示位置230、表示位置231及び表示位置232に表
示されており、各モジュールの優先度が表示位置23
3、表示位置234、表示位置235に表示されてい
る。また、各モジュールに対応して、ボタン236、ボ
タン237及びボタン238が表示されている。ユーザ
ーは、例えばマウス等の入力部152を介して、各ボタ
ンを押下することによって、各モジュールの選択状態と
非選択状態とを選択する。なお、図21において、ボタ
ン236及びボタン237は選択状態を示し、ボタン2
38は、非選択状態を示す。
【0221】また、表示部151の画面上には、選択さ
れたモジュールが実行用記憶デバイス上にコピーされた
際のメモリ使用量の合計が、表示位置239に表示され
ている。すなわち、図24に示す例では、第1のモジュ
ールと第2のモジュールとが必要なメモリ容量の合計が
表示位置239に表示されている。
れたモジュールが実行用記憶デバイス上にコピーされた
際のメモリ使用量の合計が、表示位置239に表示され
ている。すなわち、図24に示す例では、第1のモジュ
ールと第2のモジュールとが必要なメモリ容量の合計が
表示位置239に表示されている。
【0222】さらに、表示部151の画面上には、ボタ
ン240、ボタン241及びボタン242が表示されて
いる。ボタン240は、直前の設定に戻る場合に押下す
るボタンである。ボタン241は、システム設定の手順
を中止する場合に押下するボタンである。ボタン242
は、上述したように選択状態とした各モジュールの選択
を決定し、ステップS206又はステップS223の処
理を終了して、次のステップS207又はステップS2
24に処理を進める場合に押下するボタンである。
ン240、ボタン241及びボタン242が表示されて
いる。ボタン240は、直前の設定に戻る場合に押下す
るボタンである。ボタン241は、システム設定の手順
を中止する場合に押下するボタンである。ボタン242
は、上述したように選択状態とした各モジュールの選択
を決定し、ステップS206又はステップS223の処
理を終了して、次のステップS207又はステップS2
24に処理を進める場合に押下するボタンである。
【0223】以上の手順によりシステム設定の処理は終
了し、その後、図1に示したソフトウエア開発システム
等における処理が続く。上述したように、システム設定
部150から出力されたコンパイル情報12は、ソフト
ウエア開発システムにおいて、コンパイラ13に対する
コンパイル形態等を指定するために用いられる。システ
ム設定部150から出力されたリンク情報17は、ソフ
トウエア開発システムにおいて、リンカ18に対するリ
ンク形態等を指定するために用いられる。システム設定
部150から出力された複合実行形式ファイル情報21
は、ソフトウエア開発システムにおいて、複合実行形式
ファイル24として結合するべき実行形式ファイル20
についての情報として、複合実行形式ファイル作成部2
2によって参照される。
了し、その後、図1に示したソフトウエア開発システム
等における処理が続く。上述したように、システム設定
部150から出力されたコンパイル情報12は、ソフト
ウエア開発システムにおいて、コンパイラ13に対する
コンパイル形態等を指定するために用いられる。システ
ム設定部150から出力されたリンク情報17は、ソフ
トウエア開発システムにおいて、リンカ18に対するリ
ンク形態等を指定するために用いられる。システム設定
部150から出力された複合実行形式ファイル情報21
は、ソフトウエア開発システムにおいて、複合実行形式
ファイル24として結合するべき実行形式ファイル20
についての情報として、複合実行形式ファイル作成部2
2によって参照される。
【0224】上述したシステム設定手順においては、シ
ステム設定部150が、優先順位情報155に基づい
て、各モジュールの優先順位を判定し、組込み用ソフト
ウエアシステムの記憶デバイスに組み込むべきモジュー
ルを自動的に選択している。したがって、上述したシス
テム設定手順によれば、ユーザーがシステム設定部15
0に対して対話的に指示することによって、希望するモ
ジュールを最も適切な記憶デバイスに割り当てることを
容易に行うことができる。このとき、各モジュールは、
保持される記憶デバイス及び/又は実行される記憶デバ
イスをそれぞれ適切に選択されて割り当てられる。
ステム設定部150が、優先順位情報155に基づい
て、各モジュールの優先順位を判定し、組込み用ソフト
ウエアシステムの記憶デバイスに組み込むべきモジュー
ルを自動的に選択している。したがって、上述したシス
テム設定手順によれば、ユーザーがシステム設定部15
0に対して対話的に指示することによって、希望するモ
ジュールを最も適切な記憶デバイスに割り当てることを
容易に行うことができる。このとき、各モジュールは、
保持される記憶デバイス及び/又は実行される記憶デバ
イスをそれぞれ適切に選択されて割り当てられる。
【0225】また、システム設定部150は、優先順位
情報155だけでなく、システム情報153、記憶デバ
イス情報154及びモジュールサイズ情報156等に基
づいて、各モジュールのサイズと各記憶デバイスのサイ
ズ、各記憶デバイスの不揮発性、各記憶デバイスの書き
込み性、各記憶デバイスのアクセス速度等を判定し、各
モジュールを組み込むべき記憶デバイスを選択してもよ
い。これにより、システム設定部150は、より適切
に、各モジュールを各記憶デバイスに割り当てることが
できる。具体的には、例えば、ターゲットとする組込み
用ソフトウエアシステムがRAMやROMだけでなくE
EPROM等の各種記憶デバイスを備える場合に、各記
憶デバイスのアクセス速度や書き込み性、不揮発性等を
考慮して、各モジュールを目的に即した記憶デバイスに
割り当てることができる。
情報155だけでなく、システム情報153、記憶デバ
イス情報154及びモジュールサイズ情報156等に基
づいて、各モジュールのサイズと各記憶デバイスのサイ
ズ、各記憶デバイスの不揮発性、各記憶デバイスの書き
込み性、各記憶デバイスのアクセス速度等を判定し、各
モジュールを組み込むべき記憶デバイスを選択してもよ
い。これにより、システム設定部150は、より適切
に、各モジュールを各記憶デバイスに割り当てることが
できる。具体的には、例えば、ターゲットとする組込み
用ソフトウエアシステムがRAMやROMだけでなくE
EPROM等の各種記憶デバイスを備える場合に、各記
憶デバイスのアクセス速度や書き込み性、不揮発性等を
考慮して、各モジュールを目的に即した記憶デバイスに
割り当てることができる。
【0226】
【発明の効果】以上説明したように、本発明に係る情報
処理装置は、プログラム配置決定手段が優先順位情報に
基づいて、各プログラムを各記憶手段のいずれで保持及
び/又は実行させるかを決定する。これにより、本発明
によれば、複数のプログラムを複数の記憶手段に対して
適切に且つ容易に割り当てることが可能となり、モジュ
ール化されて複数のプログラムが同時に実行可能である
組込み用ソフトウエアシステムを開発することが容易と
なる。
処理装置は、プログラム配置決定手段が優先順位情報に
基づいて、各プログラムを各記憶手段のいずれで保持及
び/又は実行させるかを決定する。これにより、本発明
によれば、複数のプログラムを複数の記憶手段に対して
適切に且つ容易に割り当てることが可能となり、モジュ
ール化されて複数のプログラムが同時に実行可能である
組込み用ソフトウエアシステムを開発することが容易と
なる。
【0227】また、本発明に係る情報処理方法は、優先
順位情報に基づいて、各プログラムを各記憶手段のいず
れで保持及び/又は実行させるかを決定する。これによ
り、本発明によれば、複数のプログラムを複数の記憶手
段に対して適切に且つ容易に割り当てることが可能とな
り、モジュール化されて複数のプログラムが同時に実行
可能である組込み用ソフトウエアシステムを開発するこ
とが容易となる。
順位情報に基づいて、各プログラムを各記憶手段のいず
れで保持及び/又は実行させるかを決定する。これによ
り、本発明によれば、複数のプログラムを複数の記憶手
段に対して適切に且つ容易に割り当てることが可能とな
り、モジュール化されて複数のプログラムが同時に実行
可能である組込み用ソフトウエアシステムを開発するこ
とが容易となる。
【0228】さらに、本発明に係る記憶手段の製造方法
は、プログラム配置決定手段が優先順位情報に基づい
て、各プログラムを各記憶手段のいずれで保持及び/又
は実行させるかを決定し、この決定結果に従って、プロ
グラム配置手段が各プログラムを各記憶手段に配置す
る。これにより、本発明によれば、複数のプログラムを
複数の記憶手段に対して適切に且つ容易に割り当てるこ
とが可能となり、モジュール化されて複数のプログラム
が同時に実行可能である組込み用ソフトウエアシステム
を開発することが容易となる。
は、プログラム配置決定手段が優先順位情報に基づい
て、各プログラムを各記憶手段のいずれで保持及び/又
は実行させるかを決定し、この決定結果に従って、プロ
グラム配置手段が各プログラムを各記憶手段に配置す
る。これにより、本発明によれば、複数のプログラムを
複数の記憶手段に対して適切に且つ容易に割り当てるこ
とが可能となり、モジュール化されて複数のプログラム
が同時に実行可能である組込み用ソフトウエアシステム
を開発することが容易となる。
【図1】本発明に係るソフトウエア開発システムの構成
例を示すブロック図である。
例を示すブロック図である。
【図2】同ソフトウエア開発システムにおけるソフトウ
エア開発手順を示すブロック図である。
エア開発手順を示すブロック図である。
【図3】本発明に係る複合実行形式ファイルの内部構成
を説明するための図である。
を説明するための図である。
【図4】同複合実行形式ファイルの内部構成情報につい
て説明するための図である。
て説明するための図である。
【図5】同内部構成情報のモジュール情報について説明
するための図である。
するための図である。
【図6】本発明に係るROM化情報について説明するた
めの図である。
めの図である。
【図7】本発明に係るブートプログラムの内部構成を説
明するための図である。
明するための図である。
【図8】同ブートプログラムのコピーブロック情報を説
明するための図である。
明するための図である。
【図9】本発明に係る実行プログラムの保存用記憶デバ
イス上での状態を説明するための図である。
イス上での状態を説明するための図である。
【図10】本発明に係る実行プログラムの実行用記憶デ
バイス上での状態を説明するための図である。
バイス上での状態を説明するための図である。
【図11】本発明に係る実行プログラムの起動方法を説
明するためのブロック図である。
明するためのブロック図である。
【図12】図11におけるステップS123について説
明するためのブロック図である。
明するためのブロック図である。
【図13】本発明に係る複合実行形式ファイル作成部の
一構成例について説明するためのブロック図である。
一構成例について説明するためのブロック図である。
【図14】本発明に係る複合実行形式ファイル作成部の
別の構成例について説明するためのブロック図である。
別の構成例について説明するためのブロック図である。
【図15】本発明に係るソフトウエア開発装置を示すブ
ロック図である。
ロック図である。
【図16】同ソフトウエア開発装置の記憶デバイス情報
の一例について説明するための図である。
の一例について説明するための図である。
【図17】同ソフトウエア開発装置の記憶デバイス情報
の別の例について説明するための図である。
の別の例について説明するための図である。
【図18】同ソフトウエア開発装置の優先順位情報につ
いて説明するための図である。
いて説明するための図である。
【図19】同ソフトウエア開発装置のモジュールサイズ
情報について説明するための図である。
情報について説明するための図である。
【図20】同ソフトウエア開発装置におけるシステム設
定手順を説明するためのブロック図である。
定手順を説明するためのブロック図である。
【図21】図20におけるステップS194の一例につ
いて説明するためのブロック図である。
いて説明するためのブロック図である。
【図22】図21におけるステップS205について説
明するためのブロック図である。
明するためのブロック図である。
【図23】図20におけるステップS194の別の例に
ついて説明するためのブロック図である。
ついて説明するためのブロック図である。
【図24】本発明に係るソフトウエア開発装置の表示部
での表示例を示す図である。
での表示例を示す図である。
【図25】組込み用ソフトウエアシステムを示すブロッ
ク図である。
ク図である。
【図26】従来のソフトウエア開発システムを示すブロ
ック図である。
ック図である。
【図27】従来のソフトウエア開発手順の一例を説明す
るためのブロック図である。
るためのブロック図である。
【図28】従来の実行形式ファイルについて説明するた
めの図である。
めの図である。
【図29】従来の実行プログラムのROM上での状態を
説明するための図である。
説明するための図である。
【図30】従来の実行プログラムのRAM上での状態を
説明するための図である。
説明するための図である。
【図31】従来の実行プログラムの起動方法の一例を説
明するためのブロック図である。
明するためのブロック図である。
【図32】従来のソフトウエア開発手順の別の例を説明
するためのブロック図である。
するためのブロック図である。
【図33】従来の実行プログラムのROM上での状態を
説明するための図である。
説明するための図である。
【図34】従来の実行プログラムのコピーブロック情報
群の一要素を説明するための図である。
群の一要素を説明するための図である。
【図35】従来の実行プログラムのRAM上での状態を
説明するための図である。
説明するための図である。
【図36】従来の実行プログラムの起動方法の別の例を
説明するためのブロック図である。
説明するためのブロック図である。
10 ヘッダファイル、11 ソースファイル、14
コンパイル処理部、15 オブジェクトファイル、16
ライブラリファイル、19 リンク処理部、20 実
行形式ファイル、22 複合実行形式ファイル作成部、
23 初期化プログラム、24 複合実行形式ファイ
ル、25 ROM化情報
コンパイル処理部、15 オブジェクトファイル、16
ライブラリファイル、19 リンク処理部、20 実
行形式ファイル、22 複合実行形式ファイル作成部、
23 初期化プログラム、24 複合実行形式ファイ
ル、25 ROM化情報
Claims (27)
- 【請求項1】 少なくとも演算手段と複数の記憶手段と
を備えたプログラム実行手段に対して、少なくとも1つ
のプログラムを上記各記憶手段のいずれを用いて保持及
び/又は実行させるかを決定するプログラム配置決定手
段を備え、 上記プログラム配置決定手段は、上記各プログラムの優
先順位を示す優先順位情報に基づいて上記決定を行うこ
とを特徴とする情報処理装置。 - 【請求項2】 上記プログラム配置決定手段は、上記優
先順位情報に加えて、上記各記憶手段の優先順位を示す
記憶手段優先順位情報に基づいて上記決定を行うことを
特徴とする請求項1記載の情報処理装置。 - 【請求項3】 上記プログラム配置決定手段は、上記優
先順位情報に加えて、上記各記憶手段が電源非供給時に
記憶を保持できるか否かを示す記憶不揮発性情報に基づ
いて上記決定を行うことを特徴とする請求項1記載の情
報処理装置。 - 【請求項4】 上記プログラム配置決定手段は、上記優
先順位情報に加えて、上記各記憶手段が記憶を変更でき
るか否かを示す記憶可変性情報に基づいて上記決定を行
うことを特徴とする請求項1記載の情報処理装置。 - 【請求項5】 上記プログラム配置決定手段での決定結
果に基づいて上記各プログラムのアドレス情報を設定す
るアドレス設定手段を備えていることを特徴とする請求
項1記載の情報処理装置。 - 【請求項6】 上記各プログラムのメモリ容量と、上記
各記憶手段のメモリ容量を示す記憶手段容量情報とを比
較して、上記記憶手段がメモリ容量の観点から上記各プ
ログラムを収納可能であるか否かを判定する容量判定手
段を備え、 上記プログラム配置決定手段は、上記優先順位情報に加
えて、上記容量判定手段の判定結果に基づいて上記決定
を行うことを特徴とする請求項1記載の情報処理装置。 - 【請求項7】 上記プログラム容量情報は、上記各プロ
グラムについて、プログラムコードを含むテキストセク
ションのメモリ容量と、上記プログラムコードが参照す
るデータコードを含むデータセクションのメモリ容量と
を示していることを特徴とする請求項6記載の情報処理
装置。 - 【請求項8】 上記容量判定手段は、上記記憶手段に保
持する上記各プログラムについて、上記テキストセクシ
ョン及び上記データセクションのメモリ容量の合計と、
当該記憶手段のメモリ容量とを比較することを特徴とす
る請求項7記載の情報処理装置。 - 【請求項9】 上記容量判定手段は、第1の記憶手段に
保持させる上記各プログラムのうち、当該第1の記憶手
段上で上記演算手段によって実行されるプログラムの上
記データセクションのメモリ容量と、上記第1の記憶手
段から第2の記憶手段にコピーされて、当該第2の記憶
手段上で上記演算手段によって実行されるプログラムの
上記テキストセクション及び上記データセクションのメ
モリ容量との合計と、上記第2の記憶手段のメモリ容量
とを比較することを特徴とする請求項7記載の情報処理
装置。 - 【請求項10】 少なくとも演算手段と複数の記憶手段
とを備えたプログラム実行手段に対して、少なくとも1
つのプログラムを上記各記憶手段のいずれを用いて保持
及び/又は実行させるかを割り当てる情報処理方法であ
って、 上記各プログラムの優先順位を示す優先順位情報を読み
込む第1のステップと、 上記優先順位情報に基づいて上記各プログラムの割り当
てを決定する第2のステップとを有することを特徴とす
る情報処理方法。 - 【請求項11】 上記第2のステップの前段に、上記各
記憶手段の優先順位を示す記憶手段優先順位情報を読み
込む第3のステップを有し、 上記第2のステップにおいては、上記優先順位情報に加
えて上記記憶手段優先順位情報に基づいて上記各プログ
ラムの割り当てを決定することを特徴とする請求項10
記載の情報処理方法。 - 【請求項12】 上記第2のステップの前段に、上記各
記憶手段が電源非供給時に記憶を保持できるか否かを示
す記憶不揮発性情報を読み込む第3のステップを有し、 上記第2のステップにおいては、上記優先順位情報に加
えて上記記憶不揮発性情報に基づいて上記各プログラム
の割り当てを決定することを特徴とする請求項10記載
の情報処理方法。 - 【請求項13】 上記第2のステップの前段に、上記各
記憶手段が記憶を変更できるか否かを示す記憶可変性情
報を読み込む第3のステップを有し、 上記第2のステップにおいては、上記優先順位情報に加
えて上記記憶可変性情報に基づいて上記各プログラムの
割り当てを決定することを特徴とする請求項10記載の
情報処理方法。 - 【請求項14】 上記第2のステップの後段に、上記第
2のステップにおける決定結果に基づいて上記各プログ
ラムに備えられたアドレス情報を設定する第3のステッ
プを有することを特徴とする請求項10記載の情報処理
方法。 - 【請求項15】 上記第2のステップの前段に、上記各
記憶手段のメモリ容量を示す記憶手段容量情報を読み込
む第3のステップと、 上記各プログラムのメモリ容量を示すプログラム容量情
報を読み込む第4のステップと、 上記記憶手段容量情報と上記プログラム容量情報とを比
較して、上記記憶手段がメモリ容量の観点から上記各プ
ログラムを収納可能であるか否かを判定する第5のステ
ップとを有し、 上記第2のステップにおいては、上記優先順位情報に加
えて上記第5のステップの判定結果に基づいて上記各プ
ログラムの割り当てを決定することを特徴とする請求項
10記載の情報処理方法。 - 【請求項16】 上記第4のステップにおいては、上記
プログラム容量情報から、上記各プログラムについて、
プログラムコードを含むテキストセクションのメモリ容
量と、上記プログラムコードが参照するデータコードを
含むデータセクションのメモリ容量とを読み込むことを
特徴とする請求項15記載の情報処理方法。 - 【請求項17】 上記第5のステップにおいては、上記
記憶手段に保持する上記各プログラムについて、上記テ
キストセクション及び上記データセクションのメモリ容
量の合計と、当該記憶手段のメモリ容量とを比較するこ
とを特徴とする請求項16記載の情報処理方法。 - 【請求項18】 上記第5のステップにおいては、第1
の記憶手段に保持させる上記各プログラムのうち、当該
第1の記憶手段上で上記演算装置によって実行されるプ
ログラムの上記データセクションのメモリ容量と、上記
第1の記憶手段から第2の記憶手段にコピーされて、当
該第2の記憶手段上で上記演算装置によって実行される
プログラムの上記テキストセクション及び上記データセ
クションのメモリ容量との合計と、上記第2の記憶手段
のメモリ容量とを比較することを特徴とする請求項16
記載の情報処理方法。 - 【請求項19】 少なくとも演算手段と複数の記憶手段
とを備えたプログラム実行手段に対して、少なくとも1
つのプログラムを書き込むプログラム書込み装置であっ
て、 上記各プログラムの優先順位を示す優先順位情報に基づ
いて、当該各プログラムを上記各記憶手段のいずれを用
いて保持及び/又は実行させるかを決定するプログラム
配置決定手段と、 上記プログラム配置決定手段の決定結果に従って、上記
各プログラムを上記各記憶手段にそれぞれ書き込むプロ
グラム書込み手段とを備えることを特徴とするプログラ
ム書込み装置。 - 【請求項20】 上記プログラム配置決定手段は、上記
優先順位情報に加えて、上記各記憶手段の優先順位を示
す記憶手段優先順位情報に基づいて上記決定を行うこと
を特徴とする請求項19記載のプログラム書込み装置。 - 【請求項21】 上記プログラム配置決定手段は、上記
優先順位情報に加えて、上記各記憶手段が電源非供給時
に記憶を保持できるか否かを示す記憶不揮発性情報に基
づいて上記決定を行うことを特徴とする請求項19記載
のプログラム書込み装置。 - 【請求項22】 上記プログラム配置決定手段は、上記
優先順位情報に加えて、上記各記憶手段が記憶を変更で
きるか否かを示す記憶可変性情報に基づいて上記決定を
行うことを特徴とする請求項19記載のプログラム書込
み装置。 - 【請求項23】 上記プログラム配置決定手段での決定
結果に基づいて上記各プログラムのアドレス情報を設定
するアドレス設定手段を備え、 上記プログラム書込み手段は、上記各プログラムを上記
各記憶手段にそれぞれ書き込む際に、上記アドレス設定
手段で設定されたアドレス情報も書き込むことを特徴と
する請求項19記載のプログラム書込み装置。 - 【請求項24】 上記各記憶手段のメモリ容量を示す記
憶手段容量情報と、 上記各プログラムのメモリ容量を示すプログラム容量情
報とを比較して、上記記憶手段がメモリ容量の観点から
上記各プログラムを収納可能であるか否かを判定する容
量判定手段とを備え、 上記プログラム配置決定手段は、上記優先順位情報に加
えて、上記容量判定手段の判定結果に基づいて上記決定
を行うことを特徴とする請求項19記載のプログラム書
込み装置。 - 【請求項25】 上記プログラム容量情報は、上記各プ
ログラムについて、プログラムコードを含むテキストセ
クションのメモリ容量と、上記プログラムコードが参照
するデータコードを含むデータセクションのメモリ容量
とを示していることを特徴とする請求項24記載のプロ
グラム書込み装置。 - 【請求項26】 上記容量判定手段は、上記記憶手段に
保持する上記各プログラムについて、上記テキストセク
ション及び上記データセクションのメモリ容量の合計
と、当該記憶手段のメモリ容量とを比較することを特徴
とする請求項25記載のプログラム書込み装置。 - 【請求項27】 上記容量判定手段は、第1の記憶手段
に保持させる上記各プログラムのうち、当該第1の記憶
手段上で上記演算装置によって実行されるプログラムの
上記データセクションのメモリ容量と、上記第1の記憶
手段から第2の記憶手段にコピーされて、当該第2の記
憶手段上で上記演算手段によって実行されるプログラム
の上記テキストセクション及び上記データセクションの
メモリ容量との合計と、上記第2の記憶手段のメモリ容
量とを比較することを特徴とする請求項25記載のプロ
グラム書込み装置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11045324A JP2000242501A (ja) | 1999-02-23 | 1999-02-23 | 情報処理装置、情報処理方法及びプログラム書込み装置 |
| US09/511,130 US6523101B1 (en) | 1999-02-23 | 2000-02-22 | Installed-software development assistance system |
| EP00301424A EP1031921A2 (en) | 1999-02-23 | 2000-02-23 | Installed-software development assistance system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11045324A JP2000242501A (ja) | 1999-02-23 | 1999-02-23 | 情報処理装置、情報処理方法及びプログラム書込み装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000242501A true JP2000242501A (ja) | 2000-09-08 |
Family
ID=12716142
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11045324A Withdrawn JP2000242501A (ja) | 1999-02-23 | 1999-02-23 | 情報処理装置、情報処理方法及びプログラム書込み装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US6523101B1 (ja) |
| EP (1) | EP1031921A2 (ja) |
| JP (1) | JP2000242501A (ja) |
Families Citing this family (32)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6779358B2 (en) * | 1997-12-30 | 2004-08-24 | International Water Makers, Inc. | Water collection and dispensing machine |
| US6223165B1 (en) * | 1999-03-22 | 2001-04-24 | Keen.Com, Incorporated | Method and apparatus to connect consumer to expert |
| US7308422B1 (en) | 1999-10-08 | 2007-12-11 | Utbk, Inc. | System for recording and distributing recorded information over the internet |
| JP2002091762A (ja) * | 2000-09-14 | 2002-03-29 | Denso Corp | プログラム生成装置 |
| US6721946B1 (en) * | 2000-09-28 | 2004-04-13 | Dell Products L.P. | Method and system for installing software on a computer |
| US7289623B2 (en) * | 2001-01-16 | 2007-10-30 | Utbk, Inc. | System and method for an online speaker patch-through |
| US20020133402A1 (en) * | 2001-03-13 | 2002-09-19 | Scott Faber | Apparatus and method for recruiting, communicating with, and paying participants of interactive advertising |
| US7386653B2 (en) * | 2001-08-06 | 2008-06-10 | Sandisk Il Ltd | Flash memory arrangement |
| US6704403B2 (en) * | 2001-09-05 | 2004-03-09 | Ingenio, Inc. | Apparatus and method for ensuring a real-time connection between users and selected service provider using voice mail |
| US20030133136A1 (en) * | 2001-12-27 | 2003-07-17 | Tsutomu Ohishi | Method for generating and launching application for information processing apparatus and image forming apparatus |
| US7937439B2 (en) * | 2001-12-27 | 2011-05-03 | Utbk, Inc. | Apparatus and method for scheduling live advice communication with a selected service provider |
| US7028283B1 (en) * | 2003-01-30 | 2006-04-11 | Xilinx, Inc. | Method of using a hardware library in a programmable logic device |
| US7359498B2 (en) * | 2003-06-12 | 2008-04-15 | Utbk, Inc. | Systems and methods for arranging a call |
| US7698183B2 (en) * | 2003-06-18 | 2010-04-13 | Utbk, Inc. | Method and apparatus for prioritizing a listing of information providers |
| US9984377B2 (en) | 2003-10-06 | 2018-05-29 | Yellowpages.Com Llc | System and method for providing advertisement |
| US8121898B2 (en) | 2003-10-06 | 2012-02-21 | Utbk, Inc. | Methods and apparatuses for geographic area selections in pay-per-call advertisement |
| US7366683B2 (en) * | 2003-10-06 | 2008-04-29 | Utbk, Inc. | Methods and apparatuses for offline selection of pay-per-call advertisers |
| US7424442B2 (en) * | 2004-05-04 | 2008-09-09 | Utbk, Inc. | Method and apparatus to allocate and recycle telephone numbers in a call-tracking system |
| US7120235B2 (en) * | 2003-10-06 | 2006-10-10 | Ingenio, Inc. | Method and apparatus to provide pay-per-call performance based advertising |
| US8027878B2 (en) * | 2003-10-06 | 2011-09-27 | Utbk, Inc. | Method and apparatus to compensate demand partners in a pay-per-call performance based advertising system |
| US7428497B2 (en) * | 2003-10-06 | 2008-09-23 | Utbk, Inc. | Methods and apparatuses for pay-per-call advertising in mobile/wireless applications |
| US8024224B2 (en) * | 2004-03-10 | 2011-09-20 | Utbk, Inc. | Method and apparatus to provide pay-per-call advertising and billing |
| US7523450B2 (en) * | 2004-11-15 | 2009-04-21 | International Business Machines Corporation | Apparatus, system, and method for identifying fixed memory address errors in source code at build time |
| US9202219B2 (en) * | 2005-02-16 | 2015-12-01 | Yellowpages.Com Llc | System and method to merge pay-for-performance advertising models |
| US8538768B2 (en) * | 2005-02-16 | 2013-09-17 | Ingenio Llc | Methods and apparatuses for delivery of advice to mobile/wireless devices |
| US7979308B2 (en) * | 2005-03-03 | 2011-07-12 | Utbk, Inc. | Methods and apparatuses for sorting lists for presentation |
| US7720091B2 (en) * | 2006-01-10 | 2010-05-18 | Utbk, Inc. | Systems and methods to arrange call back |
| US8125931B2 (en) * | 2006-01-10 | 2012-02-28 | Utbk, Inc. | Systems and methods to provide availability indication |
| US9317855B2 (en) | 2006-10-24 | 2016-04-19 | Yellowpages.Com Llc | Systems and methods to provide voice connections via local telephone numbers |
| JP5304381B2 (ja) * | 2009-03-27 | 2013-10-02 | 富士通株式会社 | 実行形式プログラム、およびその生成装置、生成方法 |
| US8719808B1 (en) * | 2010-01-27 | 2014-05-06 | Altera Corporation | Method and apparatus for using object files to provide reliable program operation |
| US10110328B2 (en) * | 2012-04-13 | 2018-10-23 | Altera Corporation | Apparatus and methods for calibrating analog circuitry in an integrated circuit |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5481708A (en) * | 1992-06-05 | 1996-01-02 | Borland International, Inc. | System and methods for optimizing object-oriented compilations |
| US5408665A (en) * | 1993-04-30 | 1995-04-18 | Borland International, Inc. | System and methods for linking compiled code with extended dictionary support |
| JP4003261B2 (ja) * | 1997-10-17 | 2007-11-07 | ソニー株式会社 | プログラム生成装置及びプログラム生成方法 |
| DE19915135A1 (de) * | 1998-03-27 | 1999-11-04 | Nec Corp | Verfahren zur Erzeugung einer Verknüpfungshinweis-Datei und Tool/Instrument dafür |
-
1999
- 1999-02-23 JP JP11045324A patent/JP2000242501A/ja not_active Withdrawn
-
2000
- 2000-02-22 US US09/511,130 patent/US6523101B1/en not_active Expired - Fee Related
- 2000-02-23 EP EP00301424A patent/EP1031921A2/en not_active Withdrawn
Also Published As
| Publication number | Publication date |
|---|---|
| EP1031921A2 (en) | 2000-08-30 |
| US6523101B1 (en) | 2003-02-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2000242501A (ja) | 情報処理装置、情報処理方法及びプログラム書込み装置 | |
| US6609248B1 (en) | Cross module representation of heterogeneous programs | |
| US7873960B2 (en) | Generic packaging tool for packaging application and component therefor to be installed on computing device | |
| JP4699580B2 (ja) | データ処理システムの配列の静的初期化方法、データ処理方法、並びにデータ処理システム及びその制御手順をコンピュータに実行させるプログラムを記憶したコンピュータ読み取り可能な記憶媒体 | |
| CN1890632B (zh) | 确定由代码改变引起的不利影响的可能性的方法和系统 | |
| EP0962859A2 (en) | Global register systems, methods, and computer program products | |
| JP2000347873A (ja) | マルチプラットフォーム環境における命令選択 | |
| JP2000347871A (ja) | スタブ/アダプタ自動生成器 | |
| CN1965296A (zh) | 依赖关系图参数范围的划分 | |
| US20020129347A1 (en) | Dependency specification using target patterns | |
| JPH1097430A (ja) | 最適化のためにアセンブリコードルーチンをソースコードルーチンに挿入する方法およびそのシステム | |
| US5991763A (en) | Method and apparatus for embedding concatenated data files into object files during runtime in a virtual file system | |
| CN100481007C (zh) | 无需额外的代码分析来进行链接时代码优化的方法和系统 | |
| CN114816417B (zh) | 一种交叉编译方法、装置、计算设备及存储介质 | |
| JP2008546085A (ja) | ネイティブコード及び目的コードをプログラムコード変換中に組み合わせて実行する方法及び装置 | |
| JPH0254337A (ja) | 実行可能イメージの生成を容易とするデータ処理システム | |
| US20020032901A1 (en) | Unitary data structure systems, methods, and computer program products, for global conflict determination | |
| US6185578B1 (en) | Program creation apparatus, program creation method, and recording medium containing a software program for implementing the method | |
| JP2012516483A (ja) | クラスファイル内にネイティブコードを埋め込むことによる仮想メカニズム内でのプラットフォーム依存ルーチンの適用 | |
| US6026242A (en) | Methods, computer program products, and apparatus for initializing global registers | |
| JPH06309204A (ja) | データ処理方法及びその装置 | |
| US20040154003A1 (en) | Code generation apparatus, code generation program, simulation apparatus, simulation program, model generation apparatus, and model generation program | |
| US7487342B2 (en) | Method and apparatus for starting up and maintaining of multiple networked computing systems | |
| JPH0869381A (ja) | コンパイル方式 | |
| JP2001022560A (ja) | ライブラリ関数バージョンアップ方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060509 |