JP2001195258A - コンピュータ組み込みシステム - Google Patents

コンピュータ組み込みシステム

Info

Publication number
JP2001195258A
JP2001195258A JP2000004009A JP2000004009A JP2001195258A JP 2001195258 A JP2001195258 A JP 2001195258A JP 2000004009 A JP2000004009 A JP 2000004009A JP 2000004009 A JP2000004009 A JP 2000004009A JP 2001195258 A JP2001195258 A JP 2001195258A
Authority
JP
Japan
Prior art keywords
rom
ram
program
file
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000004009A
Other languages
English (en)
Inventor
Hirato Sonobe
平人 園部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitutoyo Corp
Mitsutoyo Kiko Co Ltd
Original Assignee
Mitutoyo Corp
Mitsutoyo Kiko Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitutoyo Corp, Mitsutoyo Kiko Co Ltd filed Critical Mitutoyo Corp
Priority to JP2000004009A priority Critical patent/JP2001195258A/ja
Publication of JP2001195258A publication Critical patent/JP2001195258A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 コンパイラ(又はその周辺ツール)の機能を
用いることなく、RAMにコピーすべきコード部を含む
プログラムをROMに書き込むようにしたコンピュータ
組み込みシステムを提供する。 【解決手段】 CPUとRAM及びROMを内蔵し、シ
ステムの初期化時にROMに保持されているプログラム
をRAMにコピーして実行するコンピュータ組み込みシ
ステムにおいて、RAMで実行すべきプログラムを含む
オブジェクトファイルから、そのプログラムのロードア
ドレス情報を、ROMに割り付けられた番地に対応させ
るべくアドレス変換してROM化ファイルを作成して、
このROM化ファイルをROMに書き込むようにした。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、CPUとRAM
及びROMを内蔵し、システムの初期化時にROMに保
持されているプログラムをRAMにコピーして実行する
コンピュータ組み込みシステムに関する。
【0002】
【従来の技術】従来より、この種のコンピュータ組み込
みシステムでは、ROMにプログラムとデータを保持
し、システムの初期化時にこのROMが保持するデータ
をRAMにコピーして実行する手法が用いられる。例え
ば、特開昭59−125421号公報では、初期値付き
の静的データを確実に初期化する方法が提案されてい
る。その方法は、ROMに静的データの初期値を保存し
ておき、システムの初期化時にそのデータをRAMの静
的データ領域にコピーするというものである。しかしこ
の手法では、プログラムはROMで実行することを前提
としている。
【0003】
【発明が解決しようとする課題】特開昭59−1254
21号公報の手法では、処理プログラムのコード部、デ
ータ部のうちコード部については、ROM領域に割り付
けられていて、初期化処理を必要ないものとしている。
しかしこの手法は、ROMが高速性能を有するものであ
る場合はよいが、低速ROMを用いた場合には高速処理
システムが得られない。更にこの手法には、次のような
問題がある。
【0004】RAM領域において使用するデータの初
期値をROMに保存しておくには、そのデータの大きさ
の領域をRAMに確保しておきながら、更にそのデータ
の複製をROMのアドレス割り付けで作成する必要があ
る。この様な細工を行うには、コンパイラ(又はその周
辺のツール)の機能に依るほかない。コンパイラ(又は
その周辺のツール)がその様な手段を有しない場合は、
実際上実現不可能となる。 プログラムコードの一部をRAMにコピーするために
は、このコピーを行うルーチンはROMに書き込まれて
ROMで実行されねばならない。従ってプログラムのコ
ード部は、ROMで実行される部分とRAMで実行され
る部分に分かれる。しかしこの切り分けはコンパイラ
(又はその周辺のツール)にはわからないから、上記手
法をプログラムコード部に適用することは不可能であ
る。 ソースコードのコンパイル及びリンク時に、コード部
をROMに割り付けたとすると、得られるオブジェクト
ファイルをROMに書き込むことはできる。しかしこの
場合、ROMに保持されたコード部をRAMにコピーす
ることはできない。何故なら、プログラムのコード部は
アドレス情報を持つためで、このアドレスをRAMに割
り付けられたアドレスに変換しない限り、RAMへの転
送ができないからである。
【0005】この発明は、コンパイラ(又はその周辺ツ
ール)の機能を用いることなく、RAMにコピーすべき
コード部を含むプログラムをROMに書き込むようにし
たコンピュータ組み込みシステムを提供することを目的
としている。
【0006】
【課題を解決するための手段】この発明は、CPUとR
AM及びROMを内蔵し、システムの初期化時にROM
に保持されているプログラムをRAMにコピーして実行
するコンピュータ組み込みシステムにおいて、RAMで
実行すべきプログラムを含むオブジェクトファイルか
ら、そのプログラムのロードアドレス情報を、ROMに
割り付けられた番地に対応させるべくアドレス変換して
ROM化ファイルを作成して、このROM化ファイルを
ROMに書き込むようにしたことを特徴とする。
【0007】RAMで実行すべきプログラムではリンク
したアドレスはRAM領域のアドレスであるから、その
ロードアドレス情報のみをROM領域に割り付けられた
アドレスに変換してROM化ファイルを作成すれば、R
OMに書き込むことができる。コード部分の実行アドレ
スはRAM領域に割り付けられたものがそのままROM
に保存されるので、初期化時にはこのROMのデータを
RAMにそのままコピーすればよい。これにより、高速
ROMを用いることなく、低速で安価なROMを用い
て、高速RAMによる高速処理が可能なシステムが実現
できる。
【0008】
【発明の実施の形態】以下、図面を参照して、この発明
の実施例を説明する。図2に示すように、この発明のコ
ンピュータ組み込みシステムは、CPU1とRAM2お
よびROM3を含む。システムの処理プログラムはRO
M3に保存され、システムの電源投入時の初期化シーケ
ンスにより、ROM3のプログラムは自動的にRAM2
にコピーされることになる。RAM2は、具体的にはC
PU1の内蔵RAMでもよいし、外付けRAMでもよ
い。
【0009】図1は、この様なシステムでのROM3へ
のプログラム書き込みまでの操作を示している。ソース
コード11を作成し、これをコンパイル及びリンクして
オブジェクトファイル12を作成し、このオブジェクト
ファイル12をROM3に書き込むためのROM化ファ
イル(1)13を作成するまでは、コンパイラメーカー
のツールによる。ROM化ファイル(1)13は、基本
的にロードアドレスとプログラムコードとを有するテキ
ストファイルであり、ROMライタが入力可能なフォー
マットを有する。
【0010】ROM化ファイル(1)13のプログラム
コードのうち、高速実行コードは、図3に示すように、
RAM2での実行を前提としてRAM領域に割り付けら
れたロードアドレスを持つ。従ってこのままでは、高速
実行のプログラムコードをROM3に書き込むことはで
きない。そこでこの実施例では、ROM化ファイル
(1)13の中のRAMに割り付けられたロードアドレ
ス情報のみを、ROM3の空き領域に割り付けられてい
るアドレスに変換したROM化ファイル(2)14を作
成し、これをROMライタによりROM3に書き込む。
ここで注意すべきは、ROM化ファイル(1)13に操
作するのは、ロードアドレス情報のみであり、コード中
の実行アドレス情報には何らの操作を加えないことであ
る。
【0011】具体的に、CPU1のアドレス空間はたと
えば図4のように、RAM領域とROM領域に異なる番
地が設定されている。ROM化ファイル(2)の作成の
具体例を示せば、図5のようになる。図5は、高速実行
コードの一部であり、その中のRAM領域をアクセスす
るためのロードアドレス”01000100”の部分
を、ROM領域を指定するアドレス”0000040
0”に書き換える。こうして作成されたROM化ファイ
ル(2)14をROM3に書き込む。
【0012】この様にしてROM3にプログラムコード
が書き込まれたシステムでは、電源投入時の初期化ルー
チンにおいて、図3あるいは図4に示すように、ROM
3に保存されているプログラムコードがRAM2にコピ
ーされる。このとき、プログラムコードの実行アドレス
情報は、前述のようにRAM領域に割り付けられたアド
レスのままであるから、コピーに際して何らの操作も必
要がない。この様に、RAM2に高速実行プログラムを
転送して、プログラム実行の準備ができる。なお初期化
ルーチンは、ROM3に保持されており、またプログラ
ムコードのうち低速実行コードについてはROM3に保
持したまま、ROM3からの読み出しにより実行するも
のとすることができる。
【0013】
【発明の効果】以上述べたようにこの発明によれば、R
AMで実行すべきプログラムの中のロードアドレス情報
のみをROM領域に割り付けられたアドレスに変換して
ROM化ファイルを作成し、ROMに書き込み、システ
ムの初期化時、ROMのデータをRAMにそのままコピ
ーして実行するようにしている。これにより、高速RO
Mを用いることなく、低速で安価なROMを用いて、高
速RAMによる高速処理が可能なシステムが実現でき
る。
【図面の簡単な説明】
【図1】 この発明の実施例によるシステムのROMへ
のプログラム書き込み操作を説明するための図である。
【図2】 この発明の実施例によるシステム構成を示す
図である。
【図3】 同システムのROMとRAMの関係を示す図
である。
【図4】 同システムのCPUアドレス空間を示す図で
ある。
【図5】 ROM化ファイルのアドレス変換の例を示す
図である。
【符号の説明】
1…CPU、2…RAM、3…ROM。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 CPUとRAM及びROMを内蔵し、シ
    ステムの初期化時にROMに保持されているプログラム
    をRAMにコピーして実行するコンピュータ組み込みシ
    ステムにおいて、 RAMで実行すべきプログラムを含むオブジェクトファ
    イルから、そのプログラムのロードアドレス情報を、R
    OMに割り付けられた番地に対応させるべくアドレス変
    換してROM化ファイルを作成して、このROM化ファ
    イルをROMに書き込むようにしたことを特徴とするコ
    ンピュータ組み込みシステム。
JP2000004009A 2000-01-12 2000-01-12 コンピュータ組み込みシステム Pending JP2001195258A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000004009A JP2001195258A (ja) 2000-01-12 2000-01-12 コンピュータ組み込みシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000004009A JP2001195258A (ja) 2000-01-12 2000-01-12 コンピュータ組み込みシステム

Publications (1)

Publication Number Publication Date
JP2001195258A true JP2001195258A (ja) 2001-07-19

Family

ID=18532851

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000004009A Pending JP2001195258A (ja) 2000-01-12 2000-01-12 コンピュータ組み込みシステム

Country Status (1)

Country Link
JP (1) JP2001195258A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009211193A (ja) * 2008-02-29 2009-09-17 Nec Electronics Corp マイクロコンピュータ、組み込みプログラム及び組み込みプログラム作成方法
JP2009544085A (ja) * 2006-07-18 2009-12-10 インテル・コーポレーション Efiベースのファームウェアにおいてpeiモジュールについてグローバル変数を利用する方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009544085A (ja) * 2006-07-18 2009-12-10 インテル・コーポレーション Efiベースのファームウェアにおいてpeiモジュールについてグローバル変数を利用する方法
JP2009211193A (ja) * 2008-02-29 2009-09-17 Nec Electronics Corp マイクロコンピュータ、組み込みプログラム及び組み込みプログラム作成方法

Similar Documents

Publication Publication Date Title
US5781758A (en) Software emulation system with reduced memory requirements
US6484309B2 (en) Enabling software designed for one operating system to operate on another operating system
US7584473B2 (en) Highly componentized system architecture with loadable virtual memory manager
US8832672B2 (en) Ensuring register availability for dynamic binary optimization
CN101300584B (zh) 防止对软件或运行时数据的未经授权的修改的方法
US7143213B2 (en) Attaching services to commanding elements matching command binding if the matching binding is found in either the table of bindings or servicing bindings
US20050223018A1 (en) Efficient linking and loading for late binding and platform retargeting
JPH0836488A (ja) ダイナミック・パッチングを使用するランタイム・エラー・チェック方法と装置
JP2006092544A (ja) プリオペレーティングシステム環境におけるモジュールの動的リンク
US5991763A (en) Method and apparatus for embedding concatenated data files into object files during runtime in a virtual file system
US20090133042A1 (en) Efficient linking and loading for late binding and platform retargeting
JPH11110194A (ja) 外部ライブラリ関数との結合方法ならびに同方法がプログラムされ記録される記録媒体
CN111176791A (zh) 一种基于多虚拟机区块链平台跨虚拟机调用方法
JP2001022591A (ja) コンパイラ装置、コンパイルプログラムが記録されたコンピュータ読み取り可能な記録媒体及びコンパイル方法
US20050257080A1 (en) Method of checkpointing state of virtual memory for process
CN101334737A (zh) 一种嵌入式设备的启动或复位方法
US7299460B2 (en) Method and computer program for converting an assembly language program for one processor to another
CN109558121A (zh) 接口驱动程序的开发方法、装置、设备及存储介质
US7159222B1 (en) Highly componentized system architecture with object mutation
JP2001195258A (ja) コンピュータ組み込みシステム
US20220261224A1 (en) Non-transitory computer-readable recording medium, function generation method, and information processing device
US6941549B1 (en) Communicating between programs having different machine context organizations
JP4918276B2 (ja) 情報処理装置および情報処理方法
JP2659264B2 (ja) コマンドオプション指定処理装置
JP2000231494A (ja) ソフトウェア実行システム及びソフトウェア実行方法